loading...
Extending a Method of Devising Software Contracts
Melbourne, Australia November 22-November 25
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TOOLS.1999.80942932nd International Conference on Tech ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Richard Mitchell, University of Brighton
James McKim, Rensselaer at Hartford
Classes in object-oriented programs can be specified using assertions, specifically, preconditions and postconditions on individual methods and invariants on whole classes. Such assertions can be seen as forming a contract between a class and its client classes and, by extension, between the developers of a class and the developers of client classes. In some programming environments, the contracts can be checked at runtime.A published method of devising contracts is applied to a small framework based on the observer pattern, raising a number of problems of writing contracts for a set of collaborating classes, rather than for individual classes such as those found in data structure libraries.As well as providing an example of tackling such problems, the paper identifies desirable extensions to the method of devising contracts, to address aspects of: performance (keeping the run-time cost of evaluating preconditions low); privacy (ensuring that one client of a class cannot discover the identities of other clients); extensibility (allowing subclasses to weaken preconditions without invalidating existing postconditions, and allowing subclasses to adopt different frame rules); and kinds of constraints (distinguishing physical and logical constraints).
Citation:
Richard Mitchell, James McKim, "Extending a Method of Devising Software Contracts," tools, pp.234, 32nd International Conference on Technology of Object-Oriented Languages, 1999
Usage of this product signifies your acceptance of the Terms of Use.