5.4 Application Scenarios for Multi-View Modeling
5.4.2 Multi-View Modeling by Generation
The multi-view modeling by generation principle summarizes all approaches where multiple viewpoints are depending on each other by a temporal relationship. Consequently, a certain viewpoint can only be created using a generative transformation of an already modeled view- point, or several viewpoints. By contrast to the by design principle, multiple views are processed
25 Model Transformation Framework, http://www.ibm.com/developerworks/rational/libr
VPk v2 µ(VPk, s2) < v0 2 µ(VPk, s 0 2) > v1 ... ... ... ... ... ... ... ... τS ~ w w w w w w w w w w w w w w Op(v 1) > v10 ... ... ... ... ... ... ... . τS ~ w w w w w w w w w w w w VPj µ(VPj, s 0 1) > µ(VPj, s1) <
Figure 32: Multi-view modeling by generation
in sequence. Modeling operations performed on a certain viewpoint are not propagated to other viewpoints. Instead, the view is transformed as a whole by translating the current state of a viewpoint into a semantically equivalent state of a different viewpoint, hereby generating the other view. This transformation is referred to as state translation (τS).
Definition 6 (State Translation (τS)) State Translations (τS) transform the state of an entire view into a semantically equivalent state of a different view in order to maintain a consistent multi-view model.
Figure 32 illustrates the multi-view modeling by generation principle in more detail. It can be derived, that modeling operations, executed on a certain view do not affect other views. Op(v1) is not automatically translated into a semantically equivalent operation that needs to be applied to view v2. Consistency between views must be ensured using state translations. Every change performed by the modeler in one view inevitably results in an inconsistent multi-view model. The modeler (or the modeling tool) is required to execute the state translation another time in order to establish consistency.
Most code-generation approaches from the computer science domain that utilize model- driven development of software systems can be categorized as multi-view modeling by gen- eration approaches. These approaches do not allow round-trip engineering. Changes in the technological viewpoint (e.g., source code) are not reflected in the conceptual viewpoint (e.g., class diagram or software architecture).
Realization of State Translations
The conception and technical realization of state translations (τS) is more intuitive compared to the transition translation. Most of the model-driven development and model-driven engineer- ing approaches utilize conceptual and/or technical specifications for the dependencies between multiple model (i.e., views), e.g., MOFLON (AMELUNXEN ET AL., 2008). In (BRAATZ AND BRANDT, 2011, 2014) the utilization of the Resource Description Framework (RDF) for rule- based integration of multiple domain-specific modeling languages is elaborated. Hence, meta model based model transformations can be utilized, hereby relating the elements of multiple meta models to each other.
Query View Transformation (QVT) (OBJECTMANAGEMENT GROUP(OMG), 2015) spec- ifications can be utilized for the purpose of state translations as exemplified by ROMEIKAT ET AL. (2008). Moreover, Triple Graph Grammars can also be utilized for the realization of state translations.
Table 13 summarizes and compares the characteristics of by design and by generation multi- view modeling in a comprehensive way.
Table 13: By design and by generation multi-view modeling principles
by design by generation
Viewpoint specification Formalized specification of all viewpoints and the relation- ships between the viewpoints e.g., using meta models
Viewpoints are independently specified. All relationships between viewpoints must be added manually
Integration Meta Model Integration Viewpoint Integration
View creation Simultaneous initialization Generative, ad-hoc initializa- tion
Translation τ Transition translation (τT) State translation (τS) Model editing Simultaneous editing of multi-
ple views
Editing of single views
5.5 Summary
The preceding section introduced a sound theoretical and conceptual foundation for conceptual modeling using integrated multiple views. These foundation establishes the understanding that
is used to follow the motivation on the MUVIEMOT method that will be introduced in the following section. The MUVIEMOT method is specifically designed to capture the identified characteristics and to codify them by means of conceptual models. The MUVIEMOT method aims at the model-driven specification of conceptual designs for multi-view modeling tools.
The MUVIEMOT Method
Designing is not the act of drawing a diagram: a diagram sim- ply captures a design. If you follow the work of any engineer, software, civil, mechanical, chemical, architectural, or whatever - you will soon realize that the one and only place that a design is conceived is in the mind of the designer. BOOCH(1991)
(Grady Booch)
Now that the benefits of a formalized method specification and the foundations of multi-view modeling methods have been established, the question that remains to be unanswered is how to capture these aspects in a conceptual modeling method, enabling method engineers and tool developers in conceptually designing multi-view modeling tools. In the following, the MU- VIEMOT modeling method is introduced. The method is aimed at bridging the gap between a multi-view modeling method on the one hand, and the conceptual design of a correspond- ing multi-view modeling tool on the other. The bridging is realized by a procedural approach, guiding the conceptualization process in a step-wise and model-driven manner.
This section is organized as follows: Section 6.1 motivates the development of MUVIEMOT by pointing to the lack in support for method and tool engineers in designing multi-view mod- eling tools. The requirements for such a method are gathered in section 6.2. The components of MUVIEMOT, aimed at covering these requirements, are then introduced in section 6.3. In section 6.4, the MUVIEMOT method is contrasted with the requirements, enabling a first eval- uation of the method. Moreover, a SWOT analysis is performed and the constituents of the MUVIEMOT method are contrasted to the research questions this thesis is grounded on.
6.1 Motivation
Referring to section 2.2.1, multi-view modeling approaches have been utilized in divers domains and incarnations. However, most of the approaches consider multi-viewing on an ontological or methodological level in the context of enterprise architecture frameworks or software en- gineering, taking multi-viewing as a means of facilitating comprehension of complex systems and separation of concerns. By contrast, the MUVIEMOT method approaches multi-viewing from a meta modeling perspective, targeting at method engineers and tool developers. Hence, multi-viewing is investigated not only from a conceptual but comprehended with a practical per- spective. Moreover, viewpoints are considered first-class citizens during the conceptual design
of multi-view modeling tools.
In the past, most of the multi-viewing approaches have been realized solely on a theoretical, at most on a conceptual level. Only few approaches have realized a prototypical implementa- tion. However, the availability of appropriate modeling tools considerably fosters acceptance, propagation, and finally application of modeling methods. This all the more holds for multi- view modeling methods. The number of modeling views that need to be kept consistent and simultaneously processed by the modeler exceeds the cognitive capabilities of human beings. Moreover, modeling method specifications, independently from their degree of formalization, lack at codifying the specifics of multi-viewing. Modeling operations, modeling procedure and algorithms & mechanisms need to be considered differently, if a multi-view modeling tool is to be designed. The design of comprehensive, intuitive usable and consistency preserving multi- view modeling tools is very challenging (GRUNDY ET AL., 2013) and not considered in research appropriately at the time this thesis was written.
The aim of the MUVIEMOT method is to lower the level of abstraction for modeling tool design. The method builds on the foundations of multi-view modeling methods and discusses them in a meta modeling context. Method engineers and tool developers may consider the method during the process of conceptually designing and implementing modeling tools. In this regard, MUVIEMOT can be considered a domain-specific modeling method for the conceptual design of multi-view modeling tools.
Why a Model-Driven Approach?
Any novel methodical approach needs to be evaluated considering its efficiency, suitability and applicability. It is common sense that models help to capture the relevant aspects of the reality by providing a more suitable (e.g., higher) abstraction level. “The use of such a higher level graphical language has the distinct advantage that it removes complexity from the design pro- cess and allows a more intuitive method of using graphical representations for the design of the system“(WOOD ET AL., 2008, p. 1357).
The method engineering approach tries to realize the benefits of modeling methods and model-driven development approaches (cf. section 2.4). The different steps of the approach are supported by specifically designed conceptual modeling languages (cf. section 2.3). Hence, the languages are aimed to provide the most suitable abstraction level and utilize modeling concepts that are strictly aligned to, or derived from the application domain. In the context of MUVIEMOT, this domain comprises concepts of multi-view modeling methods, meta mod- eling and requirements engineering. Moreover, as discussed in more detail in section 8, the created models not only enable the specification and interpretation of a conceptual tool design, they also enable the model-driven development of corresponding modeling tools.
for the MUVIEMOT method. MUVIEMOT itself can be considered a multi-view modeling method. Each step of the method considers a specific viewpoint on the multi-view modeling tool; thereby utilizing a specifically designed modeling language, targeting at the specific needs of the intended audience of the viewpoint (cf. 5.2).
Adopting the generic benefits of utilizing a model-driven development approach introduced in (GUPTA AND KUMAR, 2014, p. 301), the most relevant benefits in the context of the MU- VIEMOT method are as follows:
• MUVIEMOT models are used as primary artifacts of modeling tool construction.
• MUVIEMOT models are used to provide better understanding of the domain that helps tool developers to realize correct and consistency-preserving multi-view modeling tool implementations more efficiently.
• MUVIEMOT models facilitate early stage evolution of a software system that helps to reduce the number of errors in the final modeling tool implementation.
• MUVIEMOT models bridge the gap between method owner and tool developer.
• MUVIEMOT modeling procedure enables to handle the complexity of modeling tool de- velopment by guiding the specification process along a predefined sequence of steps.