<< back to topics
Semantics of Modeling Languages
Summary of Selected Papers
We investigate analysis, synthesis, evolution, definition of views, and abstraction based on models. For all these purposes, we need a sound semantical foundation of the meaning of the models.
We also need a proper semantics when applying a given language to new domains, such as monitoring energy consumption or modeling flight safety rules for the European air traffic (see our other publications). We do this regularly with our language workbench MontiCore [KRV10].
The Meaning of Semantics and its Principles
Over the years we have developed a clear understanding of what the semantics of a model and a modeling language is. For example in [HR04] we discussed different forms of semantics and what they can be used for. We in particular distinguish between "meaning" that can be attached to any kind of modeling language and an often used narrow interpretation, that uses "semantics" synonymously to behavior of a programm.
Each modeling language, let it be UML or a DSL deserves a semantics, even if the language itself is for modeling structure, such as class diagrams or architecture description languages. Furthermore, modeling languages are not necessarily executable and as their main purpose is abstraction from implementation details, they are usually not fully determined, but exhibit forms of underspecification. We discuss a very general framework for semantics definition in [HR04]. At the core, we use a denotational semantics, which is basically a mapping M from source language L (syntax) into a target language respectively a target domain S (semantic domain). Here we see a combination of functions, where the first simplifies the syntax language by mapping redundant concepts to their simplest form (less concepts used, but usually more complex models):
While many attempts of defining semantics only give examples on how the mapping M looks like, we advocate an explicit and precise definition of M to be able to analyze or compare the semantics of models. For instance, refinement and evolution of models rely on such explicit denotational semantics.
System Model as Semantic Domain
To define a semantic domain we use a mathematical theory, that allows us to explicitly specify the desired properties of the target system, we are aiming at. We call this theory System Model. Its first version is explicitly defined in [BKR95] and [BHP+98] (including [GKR96] and [BKR96]).
The System Model for the full UML however became a rather large mathematical theory, that captures objectoriented communication (method calls, dynamic lookup, inheritance, object identity) as well as distributed systems at various levels as states and statemachines. We therefore developed the full system model for the UML in [BCGR09a] and discuss the rationale for it in [BCGR09]. See also [BCR07] and [BCR07b] for more detailed versions and [CGR08] for an application on class diagrams. Here we see the hierarchy of the mathematical model:
The system model and its variants are used for a variety of tool embeddings of the semantic domain. [MRR10] explains the case for semantic model differencing as opposed to syntactic comparison. For example in [MRR11d] (based on [MRR11a]) we encoded a part of the semantics, big enough to handle differences of activity diagrams based on their semantics, in [MRR11f] we compare class and object diagrams based on their semantics, and in , we investigate semantic differencing of component & connector architectures.
In [BR07] we have defined a much simpler mathematical model for distributed systems based on blackbox behaviors of components, hierarchical decomposition, but also the sound mathematical theory of streams for refinement and composition. While this semantic model is useful for distributed realtime systems, such as cloud, Internet or cyberphysical systems, it does not exhibit concepts of objects and classes.
We also discussed a metamodeling approach [EFL+99]. As nothing is as mighty and comfortable as mathematical theories, one needs to carefully design the semantics in particular if a concept of the language does not have a direct representation in the semantics domain. Using a metamodel to describe the semantics is appealing, because the syntactic domain L is metamodeled anyway, but also demanding, because both the semantic domain S and the mapping M need to be encoded using metamodeling instead of mathematical concepts. We learnt, that metamodeling is limited, e.g., in its expressibility as well as due to finiteness.
Semantics of UML and ObjectOrientation
In the early days, when modeling technology was still in its infancy it was of interest to precisely understand objects, classes, inheritance, their interactions and also how modeling technologies, like the upcoming UML, describe those. [BGH+97] discusses potential modeling languages for the description of an exemplaric object interaction, today called sequence diagram, and a complete description of object interactions, which obviously needs additional mechanisms, e.g., a sequential, parallel or iterative composition of sequence diagrams.
[BGH+98] discusses the relationships between system, a view and a complete model in the context of the UML.
Abstraction, Underspecification and Executability
A modeling language is only a good language, if it allows to abstract away from certain implementation details. Abstraction however often means that its models are not fully determining the original, but exhibit underspecification. Underspecification is regarded as freedom of the developer or even of the implementation to choose the best solution with respect to the given constraining specification. It is an intrinsic property of a good modeling language to allow underspecification.
As a consequence a semantic mapping of an (underspecified) model into a single running programm cannot be correct or useful (to capture the semantics adequate). To tackle underspecification we use a setbased mapping. This means a single model is mapped to a set of possible implementations all of which fulfill the constraints given by the model. This approach has important advantages:
 Each element in the semantics can be an executable implementation, we just do not know, which of them will be the final implementation.
 Given two models, the semantics of composition is defined as intersection: these are exactly the systems that implement both models. This approach is based on "loose semantics", where an implementation is allowed to do everything that has not explicitly been forbidden by the specification.
 A model is consistent exactly when it has a nonempty semantics.
 Refinement of a model on the syntactic level maps to set inclusion on the semantics.
Using sets of executable systems in the semantic mapping combines the denotational approach with an operational approach that is perfectly suited for semantics for modeling languages.
Semantic Variation Points
In the standardization of the UML the contributors had some challenges to agree on the meaning of quite a few modeling concepts. To some extent this is due to political reasons (tool vendors try to push their already implemented solution), but to a large extent this is also due to the attempt of the UML to describe phenomena in various real world and application domains as well as software/technical domains. As it is a bad idea to capture different phenomena with the same syntactical concept, the UML Standard introduces the semantic variantion point without describing precisely what it means and how to describe it.
In [GR11], [CGR09] we have discussed the general requirements for a framework to describe semantic and syntactic variations of a modeling language. We also introduced a mechanism to describe variations (1) of the syntax, (2) of the semantic domain, and (3) of the semantic mapping using feature trees for class diagrams and for object diagrams in [MRR11f] as well as activity diagrams in [GRR10]. Feature trees are a perfect concept to capture variation points and denotational semantics based on a system model allowing to explicitly describe the effect of the variant.
In [Rum17] (and its German version [Rum12]) we have embodied the semantics in a variety of code and test case generation, refactoring and evolution techniques to make UML semantics amenable to developers without exposing the formalism behind. In [LRS+10] we have discussed evolution and related issues in greater detail.
Streams and Automata as Semantic Foundation
We also have used the mathematical concept of streams (e.g., Broy/Stolen: Specification and Development of Interactive Systems, springer, 2001) and various extensions including automata [Rum96] as semantic basis for the kind of systems, we have in focus: distributed, asynchronously communicating agents, which can be regarded as active objects.
Summary
 Semantics of modeling languages helps to understand, analyze and manipulate its models.
 Semantics is precisely defined only using mathematic theories.
 The system model is a semantic theory based on streams and automata to describe distributed components.
 Semantic variation points can be captured precisely this way.
 Refinement, composition and evolution, e.g. through differencing can be defined using semantics.
 Encoding of semantics in formal tools helps to execute analyzes, consistency checks etc.
Related Topics
 Compositionality/Modularity of Models & Languages
 DomainSpecific Languages (DSLs)
 Evolution & Transformation of Models
 MontiCore  Language Workbench
 Software Language Engineering (SLE)
 Variability & Software Product Lines (SPL)
 StateBased Modeling (Automata)
 Unified Modeling Language (UML)
Selected Related Publications

[BEK+18]
A. Butting, R. Eikermann, O. Kautz, B. Rumpe, A. Wortmann:
Controlled and Extensible Variability of Concrete and Abstract Syntax with Independent Language Features.
In: Proceedings of the 12th International Workshop on Variability Modelling of SoftwareIntensive Systems (VAMOS'18), pg. 7582. ACM, Feb. 2018. Received Best Paper Award. 
[BKR+17]
A. Butting, O. Kautz, B. Rumpe, A. Wortmann
Semantic Differencing for MessageDriven Component & Connector Architectures.
In: International Conference on Software Architecture (ICSA'17), Gothenburg, pg. 145154. IEEE, April 2017.  [Rum17] B. Rumpe
Agile Modeling with UML: Code Generation, Testing, Refactoring.
Springer International, May 2017. 
[Rin14]
J. O. Ringert:
Analysis and Synthesis of Interactive Component and Connector Systems.
Shaker Verlag, ISBN 9783844031201. Aachener InformatikBerichte, Software Engineering Band 19. 2014.  [Rum12]
B. Rumpe
Agile Modellierung mit UML : Codegenerierung, Testfälle, Refactoring
2nd Edition, Springer Berlin, June 2012.
(html version available here)  [GR11]
H.Grönninger and B. Rumpe
Modeling Language Variability
In: Workshop on Modeling, Development and Verification of Adaptive Systems. 16th Monterey
Workshop, Redmond, Microsoft Research, March 31April 2, 2010. LNCS vol. 6662,
pp. 1732, Springer, 2011.  [MRR11f]
S. Maoz, J. O. Ringert, B. Rumpe
Semantically Configurable Consistency Analysis for Class and Object Diagrams
In: Model Driven Engineering Languages and Systems (MODELS 2011), Wellington, New Zealand. pp. 153167, LNCS 6981, 2011.
Received Best Paper Award and ACM Distinguished Paper Award at the MODELS 2011 Conference
 [MRR11d]
S. Maoz, J. O. Ringert, B. Rumpe
ADDiff: Semantic Differencing for Activity Diagrams
In: Proc. Euro. Soft. Eng. Conf. and SIGSOFT Symp. on the Foundations of Soft. Eng. (ESEC/FSE'11), pp. 179189, ACM, 2011.
 [MRR11a]
S. Maoz, J. O. Ringert, B. Rumpe
An Operational Semantics for Activity Diagrams using SMV
RWTH Aachen University, Technical Report.
AIB201107. July 2011.
 [LRS+10]
T. Levendovszky, B. Rumpe, B. Schätz, J. Sprinkle
Model Evolution and Management
In: MBEERTS: ModelBased Engineering of Embedded RealTime Systems, p. 241  270
International Dagstuhl Workshop
Dagstuhl Castle, Germany, LNCS 6100, Springer Berlin, October 2010  [MRR10]
S. Maoz, J. O. Ringert and B. Rumpe:
A Manifesto for Semantic Model Differencing.
In: Proceedings Int. Workshop on Models and Evolution (ME'10), colocated with MoDELS'10. J. Dingel and A. Solberg (Eds.): MoDELS Workshops, LNCS 6627, pp. 194  203, 2010.  [GRR10]
H. Grönniger, D. Reiß, B. Rumpe:
Towards a Semantics of Activity Diagrams with Semantic Variation Points .
In: D. Petriu, N. Rouquette, Ø. Haugen (Eds.), Model Driven Engineering Languages and Systems, Proceedings of MODELS 2010, Oslo, Norway. LNCS 6394, Springer, 2010  [KRV10]
H. Krahn, B. Rumpe, S. Völkel
MontiCore: a Framework for Compositional Development of Domain Specific Languages.
In: International Journal on Software Tools for Technology Transfer (STTT), Volume 12, Issue 5, pp. 353372, September 2010
 [BCGR09a]
M. Broy, M. V. Cengarle, H. Grönniger, B. Rumpe
Definition of the UML system model.
In: Kevin Lano, editor, UML 2 Semantics and Applications.
John Wiley & Sons, 2009
 [BCGR09]
M. Broy, M. V. Cengarle, H. Grönniger, B. Rumpe
Considerations and Rationale for a UML System Model.
In: Kevin Lano, editor, UML 2 Semantics and Applications.
John Wiley & Sons, 2009
 [CGR09]
M. V. Cengarle, H. Grönniger, B. Rumpe
Variability within Modeling Language Definitions
In: Model Driven Engineering Languages and Systems. Proceedings of MODELS 2009, LNCS 5795.
Denver, Colorado, USA, October 2009
 [CGR08]
M.V. Cengarle, H. Grönniger, B. Rumpe
System Model Semantics of Class Diagrams
InformatikBericht 200805
Technische Universität Braunschweig, CarlFriedrichGaussFakultät, 2008.
 [BR07]
M. Broy, B. Rumpe.
Modulare hierarchische Modellierung als Grundlage der Software und Systementwicklung..
In: InformatikSpektrum. Springer Verlag.
Band 30, Heft 1, Februar 2007.  [BCR07b]
M. Broy, M. Cengarle, B. Rumpe.
Towards a System Model for UML. Part 3. The State Machine Model.
Munich University of Technology, Technical Report
TUMI0711. February 2007.
 [BCR07]
M. Broy, M. Cengarle, B. Rumpe.
Towards a System Model for UML. Part 2. The Control Model.
Munich University of Technology, Technical Report
TUMI0710. February 2007.
 [EFL+99]
A. Evans, K. Lano, R. France, B. Rumpe.
MetaModeling Semantics of UML
In: Behavioral Specifications of Businesses and Systems
H. Kilov, B. Rumpe, I. Simmonds (eds.)
Kluver Academic Publisher
 [BHP+98]
M. Broy, F. Huber, B. Paech, B. Rumpe, K. Spies..
Software and System Modeling Based on a Unified Formal Semantics.
In: Requirements Targeting Software and Systems Engineering.
International Workshop RTSE'97. Manfred Broy, Bernhard Rumpe (Eds.).
Bernried, Germany, October 1997.
LNCS 1526, Springer Verlag.  [BGH+98]
Ruth Breu, Radu Grosu, Franz Huber, Bernhard Rumpe, Wolfgang Schwerin.
Systems, Views and Models of UML
In: The Unified Modeling Language, Technical Aspects and Applications
Martin Schader, Axel Korthaus (eds.)
Physica Verlag, Heidelberg. 1998.  [BGH+97]
Ruth Breu, Radu Grosu, Christoph Hofmann, Franz Huber, Ingolf Krüger, Bernhard Rumpe, Monika Schmidt, Wolfgang Schwerin.
Exemplary and Complete Object Interaction Descriptions
In: Proceedings OOPSLA'97 Workshop on Objectoriented Behavioral Semantics, Haim Kilov, Bernhard Rumpe, Ian Simmonds (eds.), TUMI9737. TU Munich, 1997.  [BKR96]
Cornel Klein, Bernhard Rumpe, Manfred Broy..
A streambased mathematical model for distributed information processing systems  SysLab system model .
In: Proceedings of the first International Workshop on Formal Methods for Open Objectbased Distributed Systems. 1996. (ed.). Chapmann & Hall.  [GKR96]
Radu Grosu, Cornel Klein, Bernhard Rumpe.
Enhancing the SysLab System Model with State.
Technical Report TUMI9631, TU Munich, 1996.  [BKR95]
Bernhard Rumpe, Cornel Klein, Manfred Broy.
Ein strombasiertes mathematisches Modell verteilter informationsverarbeitender Systeme  Syslab Systemmodell.
Technical Report TUMI9510, TU Munich, 1995.
<< list of all topics list of all publications >>