ACM Home Page
Please provide us with feedback. Feedback
Precise software documentation: making object-orientation work better
Full text PdfPdf (71 KB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion table of contents
Montreal, Quebec, Canada
SESSION: Invited talks & presentations table of contents
Pages: 725 - 725  
Year of Publication: 2007
ISBN:978-1-59593-865-7
Author
David Lorge Parnas  University of Limerick, Limerick, Ireland
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 85,   Citation Count: 0
Additional Information:

abstract   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1297846.1297853
What is a DOI?

ABSTRACT

Computer Scientists have been talking about the use of of object-orientation (under a variety of rubrics) to achieve "separation of concerns" for more than 40 years. In all that time, it has been taken for granted that it was the structure of the program text itself that mattered. Whenever it was felt that additional information was needed it was assumed that this would be closely associated with the program text either as simple comments, as in-line assertions, or "woven" in with the program text using elaborate tools.

This talk takes a different position. It argues that for true separation of concerns we need an integrated set of separate documents, some of which are to be read by people who will never read the code, some that describe the structure of the code, and some that describe the behaviour of individual components. It describes a collection of mathematical ideas and notations that make it possible to produce documentation that is both precise and readable. We then describe the use of these documents in testing and inspection. Finally, it discusses the way that other programming paradigms, particularly functional programming, can be used to make these documents more useful.