Writing Larch interface language specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
Eiffel: the language
The Z notation: a reference manual
The Z notation: a reference manual
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Mathematical Notation in Formal Specification: Too Difficult for the Masses?
IEEE Transactions on Software Engineering
Formal methods: state of the art and future directions
ACM Computing Surveys (CSUR) - Special ACM 50th-anniversary issue: strategic directions in computing research
Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
The Unified Modeling Language user guide
The Unified Modeling Language user guide
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
Formal specification of CORBA services: experience and lessons learned
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
An axiomatic basis for computer programming
Communications of the ACM
Object-Oriented Software Construction
Object-Oriented Software Construction
APSEC '97 Proceedings of the Fourth Asia-Pacific Software Engineering and International Computer Science Conference
iContract - The Java(tm) Design by Contract(tm) Tool
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
ANNA: a language for annotating ADA programs
ANNA: a language for annotating ADA programs
jContractor: A Reflective Java Library to Support Design by Contract
jContractor: A Reflective Java Library to Support Design by Contract
The Larch Family of Specification Languages
IEEE Software
Runtime Validation of Behavioural Contracts for Component Software
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
A survey of component based system quality assurance and assessment
Information and Software Technology
ICCBSS'05 Proceedings of the 4th international conference on COTS-Based Software Systems
Hi-index | 0.01 |
In this paper, we consider interface contracts as a possible mechanism for improving semantic integrity in component-based systems. A contract is essentially a formal specification interleaved with code and allowing a component or object to unambiguously specify its behaviour. The existing techniques that we survey are predominantly designed for object-oriented systems; we therefore investigate the extent to which they can be scaled up to the level of components, and embedded in interface specifications rather than code. We conclude that interleaved specifications are viable and useful at the level of components, but that future work is required to develop languages that can express the constraints that are important at this level of granularity.