Meta-Modelling and Graph Transformation for the Definition of Multi-View Visual Languages

Meta-Modelling and Graph Transformation for the Definition of Multi-View Visual Languages

Esther Guerra (Universidad Carlos III, Spain) and Juan de Lara (Universidad Autónoma de Madrid, Spain)
DOI: 10.4018/978-1-59904-534-4.ch004


In this chapter, we present our approach for the definition of Multi-View Visual Languages (MVVLs). These are languages made of a set of different diagram types, which are used to specify the different aspects of a system. A prominent example of this kind of languages is UML, which defines a set of diagrams for the description of the static and dynamic elements of software systems. In the multi-view approach, consistency checking is essential to verify that the combination of the various system views yields a consistent description of the system. We use two techniques to define environments for MVVLs: meta-modelling and graph transformation. The former is used to describe the syntax of the whole language. In addition, we define a meta-model for each diagram type of the language (that we call viewpoint) as a restriction of the complete MVVL meta-model. From this high-level description, we can generate a customized environment supporting the definition of multiple system views. Consistency between views is ensured by translating each one of them into a unique repository model which is conformant to the meta-model of the whole language. The translation is performed by automatically generated graph transformation rules. Whenever a change is performed in a view, some rules are triggered to update the repository. These updates may trigger other rules to propagate the changes from the repository to the rest of the views. In our approach, graph transformation techniques are also used for other purposes, such as model simulation, optimization and transformation into other formalisms. In this chapter, we also discuss the integration of these concepts in the AToM3 tool, and show some illustrative examples by generating an environment for a small subset of UML.

Complete Chapter List

Search this Book: