A Fully Abstract Semantics for UML Components

  • F. S. de Boer
  • M. M. Bonsangue
  • M. Steffen
  • E. Ábrahám
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3657)


We present a fully abstract semantics for components. This semantics is formalized in terms of a notion of trace for components, providing a description of the component externally observable behavior inspired by UML sequence diagrams. Such a description abstracts from the actual implementation given by UML state-machines. Our full abstraction result is based on a may testing semantics which involves a composition of components in terms of cross-border dynamic class instantiation through component interfaces.


State Machine External Object Instance Variable Primitive Operation Abstract Semantic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects. Springer, Heidelberg (1996)zbMATHGoogle Scholar
  2. 2.
    Ábrahám, E., Bonsangue, M.M., de Boer, F.S., Steffen, M.: A Structural Operational Semantics for a Concurrent Class Calculus. Tech. rep. 0307 of the Univ. of Kiel (2003)Google Scholar
  3. 3.
    Ábrahám, E., Bonsangue, M.M., de Boer, F.S., Steffen, M.: Object Connectivity and Full Abstraction for a Concurrent Calculus of Classes. In: Liu, Z., Araki, K. (eds.) ICTAC 2004. LNCS, vol. 3407, pp. 37–51. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Ábrahám, E., Bonsangue, M.M., de Boer, F.S., Grüner, A., Steffen, M.: Observability, connectivity, and replay in a sequential calculus of classes. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2004. LNCS, vol. 3657, pp. 296–316. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    de Boer, F.S., Bonsangue, M.M., Guillen-Scholten, J.: Components: From object to mobile channels. In: Jifeng, H., Liu, Z. (eds.) Mathematical Frameworks for Component Software – Models for Analysis and Synthesis. World Scientific, Singapore (2005)Google Scholar
  6. 6.
    Boreale, M., De Nicola, R., Pugliese, R.: Trace and Testing Equivalence on Asynchronous Processes. Information and Computation 172(2), 139–164 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    de Boer, F.S., Bonsangue, M.M.: A compositional model for confluent dynamic data-flow networks. In: Nielsen, M., Rovan, B. (eds.) MFCS 2000. LNCS, vol. 1893, p. 212. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  8. 8.
    Boreale, M., de Nicola, R.: Testing equivalence for mobile processes. Information and Computation 120, 279–303 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. Journal of the ACM 31(3), 560–599 (1984)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Bruce, K.: Foundations of Object-Oriented Languages: Types and Semantics. MIT Press, Cambridge (2002)Google Scholar
  11. 11.
    Clark, T., Evans, A., Kent, E.: The metamodelling language calculus: foundation semantics for UML. In: Hussmann, H. (ed.) FASE 2001. LNCS, vol. 2029, pp. 17–31. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Damm, W., Josko, B., Pnueli, A., Votintseva, A.: Understanding UML: A formal semantics of concurrency and communication in Real-Time UML. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 71–98. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Drossopoulou, S., Damiani, F., Dezani-Ciancaglini, M., Giannini, P.: More dynamic object re-classification: Fickle II. ACM ToPLaS 24(2), 153–191 (2002)CrossRefGoogle Scholar
  14. 14.
    Hennessy, M.: A fully abstract denotational semantics for the π-calculus. Theoretical Computer Science 278(2), 53–89 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Hennessy, M., de Nicola, R.: Testing equivalence for processes. Theoretical Computer Science 34, 83–133 (1984)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Jeffrey, A., Rathke, J.: A Fully Abstract May Testing Semantics for Concurrent Objects. In: Proc. of the 17th LICS, pp. 101–112. IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  17. 17.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes. Information and Computation 100(1), 1–77 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Object Management Group, UML 2.0 Superstructure (Final Adopted specification). Document – ptc/03-08-02 (August 2004)Google Scholar
  19. 19.
    Övergaard, G.: Formal Specification of Object-Oriented Meta-Modelling. In: Maibaum, T. (ed.) FASE 2000. LNCS, vol. 1783, p. 193. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  20. 20.
    Pierce, B.: Types and Programming Languages. MIT Press, Cambridge (2002)Google Scholar
  21. 21.
    Snyder, A.: Encapsulation and inheritance in object-oriented programming. In: Proc. OOPSLA, SIGPLAN Notices 21:11, pp. 38–45 (1986)Google Scholar
  22. 22.
    Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • F. S. de Boer
    • 1
    • 2
  • M. M. Bonsangue
    • 2
  • M. Steffen
    • 3
  • E. Ábrahám
    • 3
  1. 1.CWIAmsterdamThe Netherlands
  2. 2.LIACSLeiden UniversityThe Netherlands
  3. 3.Christian-Albrechts-UniversityKielGermany

Personalised recommendations