Abstract
We exhibit the benefits of using formal methods for constructing and documenting component software. Formal specifications provide concise and complete descriptions of black-box components and, herewith, pave the way for full encapsulation. Specifications using abstract statements scale up better than prepostconditions and allow for ‘relative’ specifications because they may refer to other components. Nondeterminism in specifications permits enhancements and alternate implementations. A formally verifiable refinement relationship between specification and implementation of a component ensures compliance with the published specification. Unambiguous and complete contracts are the foundation of any component market.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ásgeir Ólafsson and Doug Bryan. On the need for “required interfaces” of components. In M. Mühlhaeuser, editor, Special Issues in Object-Oriented Programming, pages 159–165. dpunkt Verlag Heidelberg, 1997. ISBN 3-920993-67-5.
R. J. R. Back and Joackim von Wright. Refinement Calculus: A Systematic Introduction. Springer Verlag, to appear 1997.
Richard Helm, Ian M. Holland, and Dipayan Gangopadhyay. Contracts: Specifying behavioral compositions in object-oriented systems. In Proceedings of OOPSLA/ECOOP’ 90 Conference on Object-Oriented Programming Systems, Languages and Application, pages 169–180, October 1990.
Jean-Marc Jézéquel and Bertrand Meyer. Put it in the contract: The lessons of ariane. IEEE Computer, pages 129–130, January 1997.
W. Kozaczynski and J. O. Ning. Concern-driven design for a specification language. In Proceedings of the 8th International Workshop on Software Specification and Design, Berlin, Germany, March 1996.
Bertrand Meyer. Object-Oriented Software Construction. Prentice Hall, second edition, 1997.
Oscar Nierstrasz and Dennis Tsichritzis, editors. Object-Oriented Software Composition. Prentice Hall, 1995.
David Garlan, Daniel Jackson, Mary Shaw, and Jeannette Wing. Composable software systems, 1996. http://www.cs.cmu.edu/~Compose/.
Clemens A. Szyperski and Cuno Pfister. Component-oriented programming: WCOP’96 workshop report. In M. Mühlhaeuser, editor, Special Issues in Object-Oriented Programming, pages 127–130. dpunkt Verlag Heidelberg, 1997. ISBN 3-920993-67-5.
Martin Büchi and Wolfgang Weck. A plea for grey-box components. In Foundations of Component-Based Systems’ 97, 1997. http://www.abo.fi/~mbuechi/.
Amy M. Zaremsky and Jeannette M. Wing. Specification matching of software components. In SIGSOFT Foundations of Software Engineering, October 1995. Also CMU-CS-95-127.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Büchi, M., Sekerinski, E. (1998). Formal Methods for Component Software: The Refinement Calculus Perspective. In: Bosch, J., Mitchell, S. (eds) Object-Oriented Technologys. ECOOP 1997. Lecture Notes in Computer Science, vol 1357. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-69687-3_68
Download citation
DOI: https://doi.org/10.1007/3-540-69687-3_68
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64039-4
Online ISBN: 978-3-540-69687-2
eBook Packages: Springer Book Archive