Components, Contracts, and Connectors for the Unified Modelling Language UML

  • Claus Pahl
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2021)

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bertrand Meyer. Applying Design by Contract. Computer, pages 40–51, October 1992.Google Scholar
  2. 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. 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. 4.
    E.K. Nordhagen. A Computational Framework for Verifying Object Component Substitutability. PhD thesis, University of Oslo, November 1998.Google Scholar
  5. 5.
    G.T. Leavens and M. Sitamaran. Foundations of Component-Based Systems. Cambridge University Press, 2000.Google Scholar
  6. 6.
    precise UML Group. Response to UML 2.0 Request for Information, 1999. http://www.cs.york.ac.uk/puml.
  7. 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
  8. 8.
    L. Lamport. The Temporal Logic of Actions. ACM Transactions on Programming Languages and Systems, 16(3):872–923, May 1994.CrossRefGoogle Scholar
  9. 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
  10. 10.
    R. Milner, J. Parrow, and D. Walker. A calculus of Mobile Processes, part I. Information and Computation, 100(1):1–40, 1992.MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    R. Milner, J. Parrow, and D. Walker. A calculus of Mobile Processes, part II. Information and Computation, 100(1):41–77, 1992.MATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    R. Milner. Communicating and Mobile Systems: the π-Calculus. Cambridge University Press, 1999.Google Scholar
  13. 13.
    Object Management Group. UML 1.3 Speci_cation, 1999. http://www.omg.org/technology/uml.
  14. 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. 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. 16.
    Object Management Group. Action Semantics for the UML-RFP, 1998. http://www.omg.org/technology/uml.
  17. 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
  18. 18.
    J. Goguen. Hidden Algebra for Software Engineering. In Proceedings Conference on Discrete Mathematics and Theoretical Computer Science, Auckland, New Zealand, pages 35–59. Australian Computer Science Communications, Volume 21, Number 3, 1999.MathSciNetGoogle Scholar
  19. 19.
    J. Goguen and G. Malcolm. A Hidden Agenda. Theoretical Computer Science, 2000. Special Issue on Algebraic Engineering-to appear.Google Scholar
  20. 20.
    L. Lamport.Refinement in State-based Formalisms. SRC Technical Note 1996-001, Digital Equipment Corporation, Systems Research Center, 1996.Google Scholar
  21. 21.
    R.J.R. Back. A Calculus of Refinements for Program Derivations. Acta Informatica, 25:593–624, 1988.MATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    J.M. Morris. Programs from Specifications. In E.D. Dijkstra, editor, Formal Development of Programs and Proofs. Addison-Wesley, 1990.Google Scholar
  23. 23.
    C. Morgan. Programming from Specification 2e. Addison-Wesley, 1994.Google Scholar
  24. 24.
    D. D’Souza and A.C. Wills. Objects, Components and Frameworks in UML: the Catalysis approach. Addison-Wesley, 1998.Google Scholar
  25. 25.
    L.F. Andrade and J.L. Fiadero. Interconnecting Objects via Contracts. In R. France and B. Rumpe, editors, Proceedings 2nd Int. Conference UML’99-The Unified Modeling Language. Springer Verlag, LNCS 1723, 1999.CrossRefGoogle Scholar
  26. 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. 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. 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. 29.
    L.M.G. Feijs. The calculus λπ. In Algebraic Methods: Theory, Tools and Applications, pages 307–328. Springer-Verlag, 1989.Google Scholar
  30. 30.
    L.M.G Feijs and H.B.M Jonkers. Formal Specification and Design. Cambridge University Press, 1992.Google Scholar
  31. 31.
    D. Walker. Objects in the π-Calculus. Information and Computation, 115:253–271, 1995.Google Scholar
  32. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Claus Pahl
    • 1
  1. 1.School of Computer ApplicationsDublin City UniversityIreland

Personalised recommendations