Unified Modeling Language (UML)

Summary of Most Relevant Topic Papers

Challenges for the standardization of the UML, such as problems for defining a semantics for the entire UML, have been well-known for a long time [KER99]. Thus, many of our contributions build on the UML variant UML/P which is suitable for programming. UML/P is described in [Rum16] and [Rum17] respectively [Rum11] and [Rum12] and implemented in a first version in [Sch12] (see UML/P - Executable Modeling with UML).

Defining variants of a modeling language in a systematic way is useful for adapting the language to domain or project specific needs. Thus, semantic variation points of the UML are first discussed in [GR11]. It discusses formal semantics for UML [BHP+98] and describes UML semantics using the “System Model” [BCGR09], [BCGR09a], [BCR07b] and [BCR07a]. Semantic variation points have, e.g., been applied to define class diagram semantics [CGR08].

A precisely defined semantics for variations is applied, when checking variants of class diagrams [MRR11e] and objects diagrams [MRR11c] or the consistency of both kinds of diagrams [MRR11f]. These concepts are also applied to activity diagrams [MRR11a] which allows us to check for semantic differences of activity diagrams [MRR11d]. The basic semantics for ADs and their semantic variation points is given in [GRR10].

Other important questions are how to ensure and identify model quality [FHR08], how models, views and the system under development correlate to each other [BGH+98b] and how to use modeling in agile development projects [Rum04c] [Rum02]. The figure below demonstrates the principal forms of uses of UML models in agile development projects. The exemplary diagrams, namely object diagrams and sequence diagrams, are used for test case definition, whereas the more complete diagrams are used for code generation (see also Generative Software Engineering).

The idea of adaption and extension of the UML in order to better suit the needs of specific domains or settings, is another important aspect. [PFR02] describes product line annotations for UML. More general discussions and insights on how to use meta-modeling for defining and adapting the UML are included in [EFLR99a], [FEL+98] and [SRVK10].

To use UML not only for analysis but also for programming has an impact on the development process. To understand the implications of executability for UML, we discuss needs and advantages of executable modeling with UML in agile projects in [Rum04c], how to apply UML for testing in [Rum03] and the advantages and perils of using modeling languages for programming in [Rum02].

Many of the above mentioned insights to UML are now also transferred to the Systems Modeling Language SysML 2. This includes also a close examination of the SysML [JPR+22].

Key Statements

  1. UML is a big language with many forms of uses.

  2. UML needs to be adaptable and extensible, but also subsets selectable.

  3. Semantic variation points can precisely be defined and used for generation as well as for high-level analysis.

  4. Tooling is necessary to use UMl in agile projects.

  5. Insights gained from UML language definition and methodical use can be transferred to SysML.

Selected Topic-Specific Publications

  1. [JPR+22]
    N. Jansen, J. Pfeiffer, B. Rumpe, D. Schmalzing, A. Wortmann:
    In: Journal of Object Technology, Volume 21, AITO - Association Internationale pour les Technologies Objets, Jul. 2022.
  2. [Rum17]
    B. Rumpe:
    Springer International, May 2017.
  3. [Rum16]
    B. Rumpe:
    Springer International, Jul. 2016.
  4. [Sch12]
    M. Schindler:
    Aachener Informatik-Berichte, Software Engineering, Band 11, ISBN 978-3-8440-0864-7, Shaker Verlag, 2012.
  5. [Rum11]
    B. Rumpe:
    Springer Berlin, Sep. 2011.
  6. [MRR11a]
    S. Maoz, J. O. Ringert, B. Rumpe:
    RWTH Aachen University, AIB-2011-07, Technical Report, Aachen, Germany, Jul. 2011.
  7. [GR11]
    H. Grönniger, B. Rumpe:
    In: Workshop on Modeling, Development and Verification of Adaptive Systems, pp. 17-32, LNCS 6662, Springer, 2011.
  8. [MRR11f]
    S. Maoz, J. O. Ringert, B. Rumpe:
    In: Conference on Model Driven Engineering Languages and Systems (MODELS’11), pp. 153-167, LNCS 6981, Springer, 2011.
  9. [MRR11e]
    S. Maoz, J. O. Ringert, B. Rumpe:
    In: Conference on Model Driven Engineering Languages and Systems (MODELS’11), pp. 592-607, LNCS 6981, Springer, 2011.
  10. [MRR11d]
    S. Maoz, J. O. Ringert, B. Rumpe:
    In: Conference on Foundations of Software Engineering (ESEC/FSE ’11), pp. 179-189, ACM, 2011.
  11. [MRR11c]
    S. Maoz, J. O. Ringert, B. Rumpe:
    In: Object-Oriented Programming Conference (ECOOP’11), pp. 281-305, LNCS 6813, Springer, 2011.
  12. [SRVK10]
    J. Sprinkle, B. Rumpe, H. Vangheluwe, G. Karsai:
    In: Model-Based Engineering of Embedded Real-Time Systems Workshop (MBEERTS’10), pp. 57-76, LNCS 6100, Springer, 2010.
  13. [GRR10]
    H. Grönniger, D. Reiß, B. Rumpe:
    In: Conference on Model Driven Engineering Languages and Systems (MODELS’10), pp. 331-345, LNCS 6394, Springer, 2010.
  14. [BCGR09a]
    M. Broy, M. V. Cengarle, H. Grönniger, B. Rumpe:
    In: UML 2 Semantics and Applications, K. Lano (Eds.), pp. 63-93, ISBN 978-0-470-52261-5, John Wiley & Sons, Nov. 2009.
  15. [BCGR09]
    M. Broy, M. V. Cengarle, H. Grönniger, B. Rumpe:
    In: UML 2 Semantics and Applications, K. Lano (Eds.), pp. 43-61, ISBN 978-0-470-52261-5, John Wiley & Sons, Nov. 2009.
  16. [FHR08]
    F. Fieber, M. Huhn, B. Rumpe:
    In: Informatik-Spektrum, Band 31(5), pp. 408-424, Oktober. 2008.
  17. [CGR08]
    M. V. Cengarle, H. Grönniger, B. Rumpe:
    TU Braunschweig, 2008-05, Informatik-Bericht, Germany, 2008.
  18. [BCR07b]
    M. Broy, M. V. Cengarle, B. Rumpe:
    TU Munich, TUM-I0711, Technical Report, Germany, Feb. 2007.
  19. [BCR07a]
    M. Broy, M. V. Cengarle, B. Rumpe:
    TU Munich, TUM-I0710, Technical Report, Germany, Feb. 2007.
  20. [Rum04c]
    B. Rumpe:
    In: Workshop on Radical Innovations of Software and Systems Engineering in the Future (RISSEF’02), pp. 297-309, LNCS 2941, Springer, Oct. 2004.
  21. [Rum03]
    B. Rumpe:
    In: Symposium on Formal Methods for Components and Objects (FMCO’02), pp. 380-402, LNCS 2852, Springer, Nov. 2003.
  22. [Rum02]
    B. Rumpe:
    In: Issues & Trends of Information Technology Management in Contemporary Associations, Seattle, T. Clark, J. Warmer (Eds.), pp. 697-701, Idea Group Publishing, London, 2002.
  23. [PFR02]
    W. Pree, M. Fontoura, B. Rumpe:
    In: Software Product Lines Conference (SPLC’02), pp. 188-197, LNCS 2379, Springer, 2002.
  24. [KER99]
    S. Kent, A. Evans, B. Rumpe:
    In: Object-Oriented Technology, ECOOP’99 Workshop Reader, A. Moreira, S. Demeyer (Eds.), LNCS 1743, Springer Verlag, Berlin, 1999.
  25. [EFLR99a]
    A. Evans, R. France, K. Lano, B. Rumpe:
    In: The Unified Modeling Language. «UML»’98: Beyond the Notation, J. Bézivin, P.- A. Muller (Eds.), Volume 1618, pp. 336-348, LNCS, ISBN 978-3-540-66252-5, Springer, Germany, 1999.
  26. [FEL+98]
    R. France, A. Evans, K. Lano, B. Rumpe:
    In: Computer Standards & Interfaces, Volume 19(7), pp. 325-334, Elsevier Science Publishers B. V., Amsterdam, The Netherlands, Nov. 1998.
  27. [BHP+98]
    M. Broy, F. Huber, B. Paech, B. Rumpe, K. Spies:
    In: Workshop on Requirements Targeting Software and Systems Engineering (RTSE’97), pp. 43-68, LNCS 1526, Springer, 1998.
  28. [BGH+98b]
    R. Breu, R. Grosu, F. Huber, B. Rumpe, W. Schwerin:
    In: Proceedings of the Unified Modeling Language, Technical Aspects and Applications, pp. 93-109, Physica Verlag, Heidelberg, Germany, 1998.