Components, Contracts, and Connectors for the Unified Modelling Language UML
The lack of a component concept for the UML is widely acknowledged. Contracts between components can be the starting point for introducing components and component interconnections. Contracts between service providers and service users are formulated based on abstractions of action and operation behaviour using the pre- and postcondition technique. A valid contract allows to establish an interconnection - a connector - between the provider and the user. The contract concept supports the re-use of components by providing means to establish and modify component interconnections. A flexible contract concept shall be based on a refinement relation for operations and classes, derived from operation abstractions. Abstract behaviour, expressed by pre- and postconditions, and refinement are the key elements in the definition of a formal and flexible component and component interconnection approach.
KeywordsService Provider Service User Modal Logic Component Composition Constraint Language
Unable to display preview. Download preview PDF.
- 1.Bertrand Meyer. Applying Design by Contract. Computer, pages 40–51, October 1992.Google Scholar
- 2.G.T. Leavens and A.L. Baker. Enhancing the Pre-and Postcondition Technique for More Expressive Specifications. In R. France and B. Rumpe, editors, Proceedings 2nd Int. Conference UML’99-The Unified Modeling Language. Springer Verlag, LNCS 1723, 1999.Google Scholar
- 3.W. Weck. Inheritance Using Contracts & Object Composition. In Proceedings 2nd International Workshop on Component-Oriented Programming WCOP’ 97. Turku Center for Computer Science, General Publication No.5-97, Turku University, Finland, 1997.Google Scholar
- 4.E.K. Nordhagen. A Computational Framework for Verifying Object Component Substitutability. PhD thesis, University of Oslo, November 1998.Google Scholar
- 5.G.T. Leavens and M. Sitamaran. Foundations of Component-Based Systems. Cambridge University Press, 2000.Google Scholar
- 6.precise UML Group. Response to UML 2.0 Request for Information, 1999. http://www.cs.york.ac.uk/puml.
- 7.C. Stirling. Modal and Temporal Logics. In S. Abramsky, D. Gabbay, and T. Maibaum, editors, Handbook of Logic in Computer Science, Vol. II, pages 477–563. Oxford University Press, 1992.Google Scholar
- 9.L. Lamport. Specifying Concurrent Systems with TLA+. In M. Broy and R. Steinbrüggen, editors, Calculational System Design. IOS Press, Amsterdam, 1999.Google Scholar
- 12.R. Milner. Communicating and Mobile Systems: the π-Calculus. Cambridge University Press, 1999.Google Scholar
- 13.Object Management Group. UML 1.3 Speci_cation, 1999. http://www.omg.org/technology/uml.
- 14.C. Pahl. Modal Logics for Reasoning about Object-based Component Composition. In Proc. 4rd Irish Workshop on Formal Methods, July 2000, Maynooth, Ireland. BCS, eWiC series, 2000. (to appear).Google Scholar
- 15.M. Lumpe, F. Achermann, and O. Nierstrasz. A Formal Language for Composition. In G.T. Leavens and M. Sitamaran, editors, Foundations of Component-Based Systems. Cambridge University Press, 2000.Google Scholar
- 16.Object Management Group. Action Semantics for the UML-RFP, 1998. http://www.omg.org/technology/uml.
- 17.C. Pahl. A Model for Dynamic State-based Systems. In A.S. Evans and D.J. Duke, editors, Proc. Northern Formal Methods Workshop, Sept.’96, Bradford, UK. Springer-Verlag, 1997.Google Scholar
- 19.J. Goguen and G. Malcolm. A Hidden Agenda. Theoretical Computer Science, 2000. Special Issue on Algebraic Engineering-to appear.Google Scholar
- 20.L. Lamport.Refinement in State-based Formalisms. SRC Technical Note 1996-001, Digital Equipment Corporation, Systems Research Center, 1996.Google Scholar
- 22.J.M. Morris. Programs from Specifications. In E.D. Dijkstra, editor, Formal Development of Programs and Proofs. Addison-Wesley, 1990.Google Scholar
- 23.C. Morgan. Programming from Specification 2e. Addison-Wesley, 1994.Google Scholar
- 24.D. D’Souza and A.C. Wills. Objects, Components and Frameworks in UML: the Catalysis approach. Addison-Wesley, 1998.Google Scholar
- 26.R.-J. Back, L. Petre, and I.P. Paltor. Analysing UML Use Cases as Contracts. In R. France and B. Rumpe, editors, Proceedings 2nd Int. Conference UML’99-The Unified Modeling Language. Springer Verlag, LNCS 1723, 1999.Google Scholar
- 27.M. Büchi and E. Sekerinski. Formal Methods for Component Software: The Re-finement Calculus Perspective. In Proceedings 2nd International Workshop on Component-Oriented Programming WCOP’ 97. Turku Center for Computer Science, General Publication No.5-97, Turku University, Finland, 1997.Google Scholar
- 28.C. Atkinson, J. Bayer, O. Laitenberger, and J. Zettel. Component-Based Software Engineering: The KobrA Approach. In Proc. Internal Workshop on Component-Based Software Engineering, Limerick, Ireland. 2000. ICSE (International Conference on Software Engineering) Workshop.Google Scholar
- 29.L.M.G. Feijs. The calculus λπ. In Algebraic Methods: Theory, Tools and Applications, pages 307–328. Springer-Verlag, 1989.Google Scholar
- 30.L.M.G Feijs and H.B.M Jonkers. Formal Specification and Design. Cambridge University Press, 1992.Google Scholar
- 31.D. Walker. Objects in the π-Calculus. Information and Computation, 115:253–271, 1995.Google Scholar
- 32.A. Moormann Zaremski and J.M. Wing. Specification Matching of Software Components. In Gail E. Kaiser, editor, Proc. ACM SIGSOFT Symposium on Foundations of Software Engineering, pages 6–17. ACM Software Engineering Notes 20 (4), October 1995.Google Scholar