So far most work on formal semantics for the Unified Modeling Language (UML) has concentrated on single diagrams. To provide a formal foundation for complete system specifications, one needs to put models for the different diagrams into context. We provide a formal semantics for UML subsystems that incorporates a formal semantics of the diagrams contained in a subsystem. It provides message-passing between objects or components specified in different diagrams, including a dispatching mechanism for events, and the handling of actions. It enables one to compose subsystems from sets of subsystems and allows them to interact by passing messages.

We give consistency conditions for the diagrams in a subsystem and define a notion of behavioural equivalence and two kinds of refinement for UML subsystems.


UML formal semantics refinement Abstract State Machines. 


  1. Börger, E., Cavarra, A. and Riccobene, E. (2000). Modeling the dynamics of UML State Machines. In Y. Gurevich, R Kutter, M. Odersky, and L. Thiele, editors, Abstract State Machines. Theory and Applications volume 1912 of LNCS, pages 223–241. Springer-Verlag.Google Scholar
  2. Broy, M. and Stalen, K. (2001). Specification and Development of Interactive Systems. Springer Verlag.Google Scholar
  3. Campo, R., Cavarra, A. and Riccobene, E. (2001). Simulating UML state machines. In E. Börger and U. Glässer, editors, ASM’2001, LNCS. Springer-Verlag. To be published.Google Scholar
  4. Derrick, J. and Boiten, E. (2001). Refinement in Zand Object-Z: Foundations and advanced applications. Formal Approaches to Computing and Information Technology. Springer-Verlag.CrossRefzbMATHGoogle Scholar
  5. Distefano, D., Katoen, J.-P. and Rensink, A. (2000). On a temporal logic for object-based systems. In Smith and Talcott (Smith and Talcott, 2000 ), pages 305–326.Google Scholar
  6. Derrick, J. and Smith, G. (2000). Structural refinement in Object-Z / CSP. In W. Grieskamp, T. Stanten, and B. Stoddart, editors, Integrated Formal Methods (IFM 2000), volume 1945 of LNCS, pages 194–213. Springer-Verlag.Google Scholar
  7. Evans, A., France, R., Lano, K. and Rumpe, B. (1999). The UML as a formal modeling notation. In J. Bézivin and P-A. Muller, editors, The Unified Modeling Language - Workshop UML’98: Beyond the Notation, LNCS, pages 297–307. Springer-Verlag.Google Scholar
  8. Gorrieri, R. and Rensink, A. (2000). Action refinement. In J. Bergstra, A. Ponse, and S. Smolka, editors, Handbook of Process Algebra. Elsevier.Google Scholar
  9. Gurevich, Y. (1995). Evolving algebras 1993: Lipari guide. In E. Börger, editor, Specification and Validation Methods, pages 9–36. OURGoogle Scholar
  10. Hußmann, H., editor. (2001). Fundamental Approaches to Software Engineering (FASE, 4th International Conference), volume 2029 of LNCS. Springer-Verlag.Google Scholar
  11. Jürjens, J. (2001-a). Secrecy-preserving refinement. In Formal Methods Europe (International Symposium), volume 2021 of LNCS, pages 135–152. Springer-Verlag.Google Scholar
  12. Jürjens, J. (2001-b). Towards development of secure systems using UMLsec. In Hußmann (Hußmann, 2001 ), pages 187–200.Google Scholar
  13. Jürjens, J. (2002). Principles for Secure Systems Design. PhD thesis, Oxford University Computing Laboratory. Submitted.zbMATHGoogle Scholar
  14. Kleppe, A. and Warmer, J. (2001). Unification of Static and Dynamic Semantics of UML.Google Scholar
  15. Övergaard, G. and Palmkvist, K. (2000). Interacting Subsystems in UML. In A. Evans, S. Kent, and B. Selic, editors, The Unified Modeling Language: Advancing the Standard (UML’2000), volume 1939 of LNCS. Springer-Verlag.Google Scholar
  16. Poetzsch-Heffter, A. (1994). Deriving partial correctness logics from evolving algebras. In B. Pehrson and I. Simon, editors, IFIP 13th World Computer Congress ‘84, pages 434–439. Elsevier.Google Scholar
  17. Poetzsch-Heffter, A. (1997). Specification and verification of object-oriented programs. Habilitation thesis, Technical University of Munich.Google Scholar
  18. Reggio, G., Cerioli, M. and Astesiano, E. (2001). Towards a Rigorous Semantics of UML Supporting its Multiview Approach. In Hußmann (Hußmann, 2001 ).Google Scholar
  19. Rumbaugh, J., Jacobson, I. and Booch, G. (1999). The Unified Modeling Language Reference Manual. Addison-Wesley.Google Scholar
  20. Schäfer, T., Knapp, A. and Merz, S. (2001). Model checking UML state machines and collaborations. In S.D. Stoller and W. Visser, editors, Workshop on Software Model Checking, volume 55 of ENTCS. Elsevier.Google Scholar
  21. Stevens, P. and Pooley, R. (2000). Using UML. Addison-Wesley.Google Scholar
  22. Stärk, R., Schmid, J. and Börger, E. (2001). Java and the Java Virtual Machine — Definition, Verification, Validation. Springer-Verlag.CrossRefzbMATHGoogle Scholar
  23. Smith, S. F. and Talcott, C. L., editors. (2000). 4th International Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS 2000). IFIP TC6/WG6.1, Kluwer Academic Publishers.Google Scholar
  24. Stevens, P. (2001). On use cases and their relationships in the Unified Modelling Language. In Hußmann (Hußmann, 2001 ), pages 140–155.Google Scholar
  25. UML Revision Task Force. (2001). OMG UML Specification v. 1.4. OMG Document ad/01–0967. Available at http: // Scholar

Copyright information

© IFIP International Federation for Information Processing 2002

Authors and Affiliations

  • Jan Jürjens
    • 1
    • 2
  1. 1.Department of InformaticsTU MunichGermany
  2. 2.Computing LaboratoryUniversity of OxfordUK

Personalised recommendations