<<

Single Underlying Models for Projectional, Multi-View Environments

Johannes Meier1, Heiko Klare2, Christian Tunjic3 Colin Atkinson3, Erik Burger2, Ralf Reussner2, Andreas Winter1 1Software Group, University of Oldenburg, Germany 2Software Design and Quality Group, Karlsruhe Institute of Technology, Germany 3Software Engineering Group, University of Mannheim, Germany 1{meier,winter}@se.uni-oldenburg.de, 2{klare,burger,reussner}@kit.edu, 3{tunjic,atkinson}@informatik.uni-mannheim.de

Keywords: projectional, SUM, model consistency, integration,

Abstract: Multi-view environments provide different views of optimized for different stakeholders. One way of ensuring consistency of overlapping and inter-dependent contained in such views is to project them “on demand” from a Single Underlying Model (SUM). However, there are various ways of building and evolving such SUMs. This paper presents criteria to distinguish them, describes three archetyp- ical approaches for building SUMs, and analyzes their advantages and disadvantages. From these criteria, guidelines for choosing which approach to use in specific application areas are derived.

1 Introduction erty of all projective approaches is that views are considered to be correct by construction and thus in- Due to the ever growing complexity of modern herently consistent with each other as long as they software-intensive systems single developers are no are consistent with the SUM. The problem of main- longer able to understand all aspects of a as taining inter-view consistency therefore becomes the a whole. View-based development methods are there- problem of maintaining the internal consistency of fore needed to separate system descriptions into in- the SUM and the correctness of SUM-to-view pro- dividual parts that are relevant to the concerns and jections. To describe the different approaches in a responsibilities of single developers. However, the uniform way and analyze their pros and cons system- resulting fragmentation of system descriptions leads atically, this paper classifies the different fundamen- to redundancies and dependencies between the infor- tal strategies for constructing SUMs and their corre- mation shown in different views, which are difficult sponding SUMMs, and identifies criteria for evaluat- and time consuming to manage manually. Automated ing them. More specifically, three existing approaches approaches for ensuring the holistic consistency of for constructing SUM(M)s are compared in terms of multi-view system descriptions are therefore needed. how they fulfill the identified criteria. Finally, we View-based approaches can be synthetic or pro- analyze how the fulfillment of the identified criteria jective (ISO/IEC/IEEE, 2011), depending on where by the different approaches affects their suitability for information is stored. In synthetic approaches, the specific situations. description of the system is spread over all the in- The insights presented in this paper will allow dividual views, whereas in projective approaches, researchers to classify new approaches for SUM(M) the description is contained in a Single Underlying constructions and help developers to choose projec- Model (SUM) (Atkinson et al., 2010), and views are tional view-based approaches for their specific project projected from this central store of information as situations using the identified selection criteria. needed. As with all models in model-driven develop- After introducing a running example and termi- ment, a SUM conforms to its metamodel, the Single nology used in this paper in Section 2, classifica- Underlying MetaModel (SUMM). tion criteria for SUM approaches are described in The goal of this paper is to illuminate differ- Section 3. The three SUM approaches OSM (Sec- ent strategies for supporting projective approaches tion 4), VITRUVIUS (Section 5), and MOCONSEMI to view-based and to highlight (Section 6) are presented subsequently and are clas- their pros and cons. The common underlying prop- sified using the criteria in Section 7. From this clas- sification, guidelines for deciding which approach to tween instances of metamodels. choose when are derived in Section 8. After dis- We define two exemplary consistency rules for the cussing related work in Section 9, Section 10 sum- running example: While Consistency Rule 1 covers a marizes the findings of this paper. situation where existing redundant information needs to be kept consistent, Consistency Rule 2 addresses a different problem of introducing additional infor- mation depending on other information. We consider 2 Terminology & Running Example these consistency rules representative, since integrat- ing different views usually refers to merging concepts To motivate the use of several interconnected or introducing additional associations. views in the development of a system, we introduce a Consistency Rule 1: Classes can be defined in highly simplified running example describing the re- the view and in the implementation view: quirements, architecture and implementation of a sys- One concrete class can be defined either only in the tem. These three views are expressed in languages implementation (Java.ClassType), or in both im- based on metamodels that define the elements (e.g., plementation and the architecture (UML.Class) if it classes, attributes etc.) that can appear in models. We represents a module. In the latter case, this class has depict those metamodels in Figure 1. This section to be kept consistent in the implementation and ar- also clarifies the terminology used in this paper. chitecture, e.g., in the case of renaming this class. are represented by natural language Therefore, the implementation and architecture are sentences (package Req). Each within only consistent if the architecture contains a subset a RequirementsSpecification is identified by a of the classes in the implementation. unique id, which contains the requirement’s sentence Consistency Rule 2: Since requirements define as simple text, and is written by an author. goals that the implementation should fulfill, the de- The architecture is described by simplified class velopment progress can be measured by counting the diagrams, which represent system modules as classes requirements that are supported by the current imple- (package UML). ClassDiagrams contain Classes with mentation. Therefore, Requirements must be linked their className and unidirectional Associations. to the implementing Methods. We thus require that The implementation realizing the architecture and each Method has to be automatically linked to those requirements is represented by source code devel- Requirements that contain the Method’s name in oped in simplified Java (package Java). The JavaASG their text. This additional information between re- contains ClassTypes, which in turn contain Methods quirements and implementation has to be stored and with their caller/callee relations. kept consistent. Since this is a simplified example for These three languages describe different (not nec- this paper, different rules can be specified instead. essarily all) facets of the system under development These two consistency rules and three languages and thus represent three overlapping viewtypes. Ac- are used to motivate criteria for SUM approaches in cording to Goldschmidt et al. (2012), a viewtype is Section 3. SUM approaches define how SUMs as well the metamodel of a view, while a view is a model as their SUMMs are constructed and are designed by that projects information from another model (here: platform specialists, who develop platforms that sup- the SUM) for a specific purpose. Since all views port SUM-based development. Three such platforms share information about the system under develop- are presented in Sections 4–6 and applied to this run- ment, they are semantically interconnected and con- ning example by a methodologist, who uses a SUM tain dependent information, which requires updates of platform to define a concrete SUMM to support a par- other views if one is changed. The interdependence of ticular view-based method (Atkinson et al., 2010). information can be explicitly defined in consistency Depending on the approach, to create the SUMM rules, which define the relations that have to hold be- the methodologist either reuses the existing metamod-

Req UML RequirementsSpecification ClassDiagram Java JavaASG

container [1] diagram [1] asg [1]

content [∗] usedBy [∗] type [1] classes [∗] classes [∗] calledBy [∗] calling [∗] Requirement Association class [1] Class ClassType class [1] Method id : EString [0..1] name : EString [1] author : EString [0..1] lowerBound : EInt [0..1] associations [∗] className : EString [1] name : EString [1] methods [∗] name : EString [1] text : EString [0..1] upperBound : EInt [0..1]

Figure 1: Simplified Metamodels for Requirements (left), Class Diagrams (middle), and Java Source Code (right) els in Figure 1 or defines a new metamodel for the consistency rules than equivalent essential SUMs. described concepts. After that, the developer instan- While C1 focuses on the starting point of the tiates that SUMM defined by the methodologist to SUM construction process, C2 focuses on the results. develop a software system through views projected Together they allow SUM approaches to be compared from the SUM. The methodologist can also specify at conceptual level. new viewtypes to provide new views corresponding to the specific concerns of the developer. 3.2 Selection Criteria

Selection criteria support the selection of the most ap- 3 Classification Criteria propriate SUM approach for a particular project. This set of criteria addresses the conceptual preconditions In this section, we identify two groups of crite- and requirements that favor one SUM approach over ria for classifying SUM approaches according to how another in a specific situation. These criteria help they can be designed once (i.e., the nature of the con- methodologists to compare different SUM approaches struction process and resulting SUM(M)) and how for the same application scenario. For example, if ex- they should be selected for various applications (i.e., isting metamodels need to be reused, it is best to select which approach is best in which context). This list and apply a SUM approach that simplifies the reuse of of criteria is the first contribution of this paper. By existing metamodels. The fulfillment of those criteria applying them to different SUM approaches, we eval- by a specific SUM approach is affected by the alloca- uate indicators for their appropriateness in Section 7. tion of design criteria for that approach. Criterion E1 (Metamodel Reusability) deter- 3.1 Design Criteria mines whether concepts to be represented in the SUMM are already available within predefined meta- Design criteria distinguish SUM approaches from models and should be reused in the new SUMM. If each other at conceptual level regarding the structure so, the SUM approach has to accommodate these of created SUM(M)s and their construction process. legacy metamodels by combining them into an ini- These criteria are independent from technical design tial SUMM. This can either be done directly with- decisions. The goal of this set of criteria is to span the out additional work or indirectly by providing strate- complete solution space of possible SUM approaches. gies for migrating the legacy metamodels into the The criteria are not evaluative but rather distinguish- SUMM. Since lots of languages, metamodels and ing. In other words, the fulfillment of a criterion by tools with fixed viewtypes are usually already avail- an approach does not have implications on whether it able, approaches fulfilling this criterion support their is favorable over another approach. They inform plat- reuse. Reusing metamodels usually implies a bottom- form specialists about the possible conceptual degrees up approach according to C1. of freedom when designing a SUM approach. Criterion E2 (Model Reusability) establishes Criterion C1 (Construction Process) covers the whether already existing artifacts (i.e., existing in- process of creating a SUM(M) depending on the start- stances of the metamodels to be integrated) need to ing situation. In a top-down development approach, a be incorporated in an initial version of the SUM. If new SUM, and especially its SUMM, is created from so, the SUM approach has to import these models. scratch. A bottom-up approach starts with already ex- This can be done either directly without additional isting models and metamodels, which have to be com- work or indirectly by providing a strategy for migrat- bined into a SUMM and initial SUM. ing the legacy models into views of the SUM or di- Criterion C2 (Pureness) relates to the absence of rectly into the SUM by some kind of model-to-model internal redundancy in the SUM under construction. transformations. It requires the reuse of the corre- An essential SUM is “completely free of any internal sponding initial metamodels according to E1 and usu- redundancy” (Atkinson et al., 2015) and dependen- ally requires a bottom-up strategy according to C1. cies by design. A pragmatic SUM contains redundant Reusing models may require that models have to be information (e.g., because it contains different meta- consistent according to the consistency relations be- models that define concepts more than once) that has tween the integrated metamodels before they are inte- to be interrelated and kept consistent, and thus only grated into the SUM. This requires additional manual behave as if it was free of dependencies due to inter- effort to ensure consistency beforehand, in contrast nal consistency preservation mechanisms. Pragmatic to SUM approaches which offer strategies to han- SUMs require additional information to wire the in- dle inconsistent information during their integration ternal models together and thus involve more complex into the SUM. Existing artifacts developed without a consistency-preserving SUM approach usually do not SUMM initially fulfill the consistency relations, which is why usedBy [∗] type [1] this criterion also checks whether those inconsisten- ClassUseClass class [1] Class cies can be handled automatically during integration. name : EString [1] lowerBound : EInt [0..1] classUseClass [∗] name : EString [1] Criterion E3 (Viewtype Definability) focuses upperBound : EInt [0..1] class [1] on the task of specifying new types of views on a methods [∗] SUMM. This involves the creation of new viewtype Requirement fulfilledBy [∗] Method definitions, focused on specific concerns (e.g., man- id : EString [0..1] author : EString [0..1] fullfills [∗] name : EString [1] aging the traceability links from Consistency Rule 2) text : EString [0..1] whose instances can be used by developers to change calledBy [∗] calling [∗] the related information in the SUM. Supporting the definition of customized, role-specific viewtypes is Figure 2: Exemplary Metamodel for SUM in OSM an essential capability of view-based development ap- proaches, so the level of difficulty involved has a 4.1 Main Ideas strong impact on the usability of an approach. Criterion E4 (Language Evolvability) focuses The OSM approach is inspired by the orthographic on the task of maintaining the SUMM in the face of projection technique used to visualize physical ob- evolved language concepts represented in their meta- jects in CAD systems. OSM utilizes this principle models, changed consistency rules, and the integra- to define “orthogonal” views on a system under de- tion of new viewtypes. Changes in the metamodel velopment that present each stakeholder, such as soft- can require corresponding changes in the model (i.e., ware engineers, with the he needs in a domain- model co-evolution (Herrmannsdoerfer et al., 2011)) specific notation. Although stakeholders can only see as well as the creation or adaptation of consistency and manipulate the system via views, the actual de- rules. Since languages are subject to change (e.g., scription of the system is stored in a SUM. The views new version of Java are regularly introduced) the dif- are defined to be as “orthogonal” as possible through ficulty of updating the SUMM and its instances after independent dimensions (i.e., concerns) ranging from evolution of the integration languages is a relevant cri- behavioral properties and feature specifications to ar- terion, whose importance depends on the probability chitectural composition. Ultimately, the system de- of languages to evolve in a concrete setup. scription in the SUM can be made formal enough to Criterion E5 (SUMM Reusability) focuses on be automatically deployed and executed on appropri- the question of whether only a subset of the inte- ate platforms, thus allowing automatic redeployment grated metamodels and their consistency rules from when changes occur. In order to support the complete one project can be reused to construct a SUMM for life-cycle of a system, ranging from requirements other projects, or if a SUMM can only be reused as analysis to deployment, the internal structure of the a whole. Additionally, this criterion addresses the SUM must be able to store all required data in a clean amount of effort involved in adding new metamodels and uniform way. The data in the SUM should thus to an already existing SUMM. Although this criterion be free from dependencies and capture all relation- does not target reuse at the model level, it is important ships between its inner elements in a redundancy-free since, for example, there are many software develop- way using approaches like Information Compression ment projects that use slightly different languages or and Information Expansion (Atkinson et al., 2015). consistency rules, which need to be managed. Figure 2 shows an example of an OSM-oriented SUMM corresponding to the information presented in Figure 1. Since a fundamental tenet of the OSM approach is to have a pure and optimized SUMM, it is usually created manually from scratch based on the 4 Orthographic Software Modeling needed viewtypes and concerns of the involved stake- holders. Figure 2 is a reduced version of Figure 1 in which all redundant information, and thus the corre- Orthographic Software Modeling (OSM) is a spondences that connect duplicate stores of data, have view-based approach, initially developed to support been manually removed. Thus, for example, the two multi-perspective (Atkinson et equivalent elements ClassType and Class have been al., 2010) but can be applied to other domains like en- compressed into one concept Class in Figure 2. This terprise architecture modeling (Tunjic et al., 2018) to is possible because although the two concepts define support methods like Zachman (Zachman, 1987). their own properties for their own contexts, and use different names (i.e., name and className), they are sible for defining the SUMM and the viewtypes in in fact equivalent and can be combined. Both at- a way that adheres to the principles of redundancy- tributes are therefore mapped to the single attribute freeness and minimality. Defining a viewtype in- name in the SUMM. The two dependencies are dis- volves the definition of a suitable metamodel as well tinct, however, and are hence both added to the Class as a model transformation that maps the concepts element: The first enables Classes to have Methods, from the SUM to those in a view and vice versa. The while the second describes dependencies between two resulting configuration can be stored in the tooling en- Class elements (Consistency Rule 1). vironment in order to be reused in other projects. Consistency Rule 2 is modelled through a re- Once a complete configuration of an OSM en- lationship between Requirement and Method, de- vironment has been defined by the methodologist, noting that the requirement is being fulfilled by the one or more developers can use it to develop a spe- method. In order to allow developers to create in- cific system specification. To this end, either an stances of the relationship, a new view can be defined, empty SUM is created to start a project from scratch, which at least contains the concepts Requirement, or existing content is imported into the SUM using Method and the relationship between these two. model-to-model transformations from external arti- The data structure shown in Figure 2 is simpler facts. When using the OSM platform to develop a and more optimized than the disparate representation system, developers are able to access views using the in Figure 1. This is achieved by the unified names for dimension-based view navigation approach and use dependent concepts (ClassType vs. Class) and us- them to see and update information from the SUM. age of names with more meaning (Association vs. ClassUseClass). Although the SUMM is built from scratch in the presented example, in principle it is pos- 5 VITRUVIUS sible to import existing artifacts into the environment using model-to-model transformations. The VITRUVIUS approach (Kramer et al., 2013) assumes the existence of metamodels that are reused 4.2 Process of Application and integrated into a so called virtual SUMM (V- SUMM) rather than the development of a new SUMM In order to make use of OSM, an environment has from scratch. In other words, it focuses on building a to be developed which realizes its goals and princi- pragmatic SUMM in a bottom-up fashion. ples. Both steps, i.e., the definition of the approach and the implementation of a framework which sup- 5.1 Main Ideas ports the concepts of the approach, are performed by a platform specialist. The work involves the de- The VITRUVIUS approach is based on the projec- velopment of a framework which can be customized tional SUM idea of the OSM approach. The whole for the used methodology (e.g., KobrA (Atkinson, system description is encapsulated in a SUM and 2002), MEMO (Frank, 2002), ArchiMate (Iacob et only projectional views can be used to modify in- al., 2012)) and targeted domain (e.g., software engi- formation in the SUM. Instead of creating a com- neering, modeling). The dif- pletely new SUMM without dependent information, ferent configurations can be reused for projects in the however, VITRUVIUS follows a pragmatic approach same domain and the same methodology. Tunjic et al. by coupling existing metamodels using consistency (2018) present a metamodel which is used by the cur- preservation rules (CPRs), which define how consis- rent prototype implementation to support the config- tency is preserved after modifications. The CPRs use uration of OSM environments. In particular, it facil- and modify correspondences, which reference model ities the configuration of the SUMM and viewtypes, elements that represent dependent information and and their integration in a dimension-based view nav- can be seen as a trace model. The set of metamodels igation approach using hyper-cubes of the kind used with their CPRs defines a virtual SUMM (V-SUMM), in OLAP (Codd et al., 1993) systems. while instances of them with an actual model of cor- The customization of the environment for a spe- respondences are denoted as V-SUMs. These CPRs cific domain and methodology is performed by a soft- make dependencies between metamodels explicit and ware engineer playing the role of a methodologist. In ensure that after modifications in one model, all other order to be able to configure and customize the envi- dependent models are updated consistently. As a con- ronment according to the requirements, the method- sequence, a V-SUM behaves completely like an ordi- ologist must have knowledge of the involved domain nary SUM since it provides the same guarantees re- and the OSM environment. In particular, he is respon- garding information consistency. VT4 Consistency preservation in VITRUVIUS is per- formed in a delta-based manner. In contrast to state- metamodel based consistency preservation, edit operations are MM tracked instead of comparing two model states, which CPR Req consistency results in less information loss (Diskin et al., 2011). Java CPR preservation rule For example, a state-based approach can distinguish CPR VT viewtype the deletion and creation of an element from its re- naming only using heuristics, whereas delta-based ap- VT2 UML VT3 view trans- formation proaches track the correct operations. To define such delta-based consistency preservation, specific consis-

VT1 tency preservation languages have been developed (Kramer, 2017). Initial investigations into consis- Figure 3: Example V-SUMM in VITRUVIUS tency preservation in VITRUVIUS have been made on a case study of component-based , Java code and code contracts (Kramer et al., 2015). An exemplary V-SUMM for the metamodels from Figure 1 is depicted in Figure 3. It consists of the reused metamodels with CPRs defined between them. 5.2 Process of Application For Consistency Rule 1, a CPR defines the creation of a Java class ClassType in reaction to the creation of a UML class Class. It is up to the methodolo- The development of frameworks such as VITRUVIUS gist to specify the behavior in the other direction, i.e., first involves a platform specialist who defines an ab- whether a UML class is created for a Java class or if straction representing the interface of a V-SUM, im- the developer shall be asked what to do. Additionally, plements the logic for executing CPRs and defines or it propagates all changes on the name or className selects specific languages or at least an interface to to the respective other model. The additional require- define CPRs. The current implementation of the VIT- ments traces in Consistency Rule 2 can be expressed RUVIUS approach (http://vitruv.tools) uses Ecore and by identifying matching requirements and methods contains a Java-based definition of V-SUMs and pro- after adding or modifying methods as well as require- vides two languages for defining consistency preser- ments, and by storing them as appropriate correspon- vation on different abstraction levels. dences in the existing trace model. Alternatively it The methodologist then selects a set of metamod- is possible to define an additional metamodel that de- els and defines or reuses existing CPRs for the se- fines links between requirements and methods, which lected metamodel to define a V-SUMM of these ar- is modified whenever they are changed. tifacts. Finally, the developer can instantiate the Two types of projectional viewtypes can be de- V-SUMM, derive views according to existing or fined on a V-SUMM. First, the original viewtypes de- newly defined viewtypes, and perform modifications fined for the existing metamodels, such as a textual of them. Modifications in a view are recorded as editor for Java or a graphical editor for UML, can be sequences of atomic change events (creation, dele- reused. In Figure 3, these viewtypes are VT1, VT2 and tion, insertion, removal and replacement) and then se- VT3, which represent the original metamodels from quentially applied to the V-SUM. For each of these Figure 1. Second, it is also possible to define addi- changes, the responsible CPRs are executed to restore tional viewtypes that may combine information from consistency after each modification, which results in different metamodels and their relations defined in an inductively consistent V-SUM. the CPRs. Figure 3 contains VT4, which displays the trace information for Consistency Rule 2 by extract- ing information from the Java and the requirements model, as well as from the correspondences generated 6 MOCONSEMI by the CPR. Concretely, this viewtype could, for ex- ample, show the Java code with annotations attached to the methods that show the requirements they ful- MOCONSEMI (MOdel CONSistency Ensured by fill. Nevertheless, for defining such viewtypes, spe- Metamodel Integration, (Meier & Winter, 2018)) cialized languages that support the projection from, combines major features of the other two SUM ap- and combination of, different metamodels is required. proaches, i.e., creating one SUM by operator-based In VITRUVIUS, those can be expressed with the Mod- transformations with reusing existing (meta)models elJoin language (Burger et al., 2014). as starting point. Java ClassDiagram 2x Requirements 1 2 3 5 6 SUM(M) Add As- Change Merge Classes Merge At- sociation Multiplicity tributes Figure 4: Chain of Configured Operators for Integrating Textual Requirements, Class Diagrams, and Java into a SUM(M)

6.1 Main Ideas classes Class (from UML) and ClassType (from Java) are merged into one single class representing MOCONSEMI is a SUM approach which starts with data classes both in UML and Java at the same time. existing initial models and conforming metamod- The instances are merged in the same way supported els (exemplarily shown in Figure 1) and creates a by the model decision that the same instances are SUM(M) as suggested by Atkinson et al. (2010). In identified by same values for Class.className and practice, many models and metamodels already exist ClassType.name specified by the methodologist. As in form of DSLs and tools with fixed data schemas. a result of this merge, redundant information is re- To reuse them even in integrated form, these initial moved from the current (meta)model. The opera- models and metamodels are reused for the integration tor MergeAttributes is a follow-up treatment, af- and the models are kept in sync as views. ter which the methodologist decided that the integra- The integration of initial (meta)models from the tion is done. The last stable model and metamodel running example in Figure 1 into a SUM(M) result- are used as the SUM(M) , for which Figure 5 marks ing in Figure 5 is described by a chain of operators, the contentwise changes in red compared to the initial as depicted in Figure 4. To form the SUM(M) out metamodels in Figure 1. of the initial (meta)models, theses operators change Summarizing, each operator performs small the current (meta)model in a step-wise way. Start- changes on the current metamodel (e.g., adds a new ing with the initial model and metamodel representing association) controlled by metamodel decisions (e.g., Requirements , the initial (meta)models for Java and multiplicities, source and target class of the new asso- ClassDiagrams are included technically at 1 and ciation). The operator also changes the current model 3 , which require ProjectData and its compositions to keep it consistent to the changed metamodel for as container without any contentwise integration. model co-evolution (Herrmannsdoerfer et al., 2011). The first operator AddAssociation is used to ful- Degrees of freedom of this change are influenced by fill Consistency Rule 2. To enable the desired trace- model decisions, which allow consistency rules to ability links between requirements and methods, a be fulfilled (e.g., specify, when new links should be new association between Requirement and Method added). Result is one valid intermediate model con- is required and created by the operator. In the model, forming to one valid metamodel represented by i . links can be added for this new association. This is To keep the initial models up-to-date, changes in the also done by the operator corresponding to a deci- SUM have to be propagated back to them, which re- sion to control this model change. This ensures that a quires operators to be executed backwards. There- method is linked with those requirements that contain fore, each operator is combined with an inverse opera- the name of the method in their requirements text. tor, e.g., DeleteAssociation for AddAssociation. Consistency Rule 1 is realized in MergeClasses In the end, the same operator chain describes the 5 → 6 after the operator ChangeMultiplicity is SUMM by collecting the metamodel changes, creates applied twice 5 as preparation, because the two the initial SUM by executing the operators at model

integrator [0..1] integrator [0..1] SUMM ProjectData

integrator [0..1] containsClassDiagram [∗] containsJavaASG [∗] containsRequirementsSpecification [∗] ClassDiagram JavaASG RequirementsSpecification

diagram [0..1] classes [∗] asg [0..1] container [1]

usedBy [∗] content [∗] type [1] classes [∗] calledBy [∗] calling [∗] Association Requirement class [1] ClassType class [1] Method fulfilledBy [∗] name : EString [1] id : EString [0..1] lowerBound : EInt [0..1] associations [∗] name : EString [1] methods [∗] name : EString [1] fulfilled [∗] author : EString [0..1] upperBound : EInt [0..1] text : EString [0..1]

Figure 5: SUMM with Integrated Textual Requirements, Class Diagrams and Java level reusing the initial models, and ensures consis- unchanged inside the modular SUM(M), MOCON- tency between all models by executing operators in SEMI transforms them into an essential SUM(M). both directions. The SUM and SUMM both exist and All approaches can lead to either an essential or the SUM is directly usable as a first new view for de- pragmatic SUM(M) in terms of C2. OSM is designed velopers. The SUM is used as a single point-of-truth, to have an essential SUM(M) without any internal de- from which all initial and new views can be generated. pendencies. VITRUVIUS is designed to use a prag- matic SUM(M), since it incorporates all initial models 6.2 Process of Application with overlapping and, in general, dependent informa- tion. MOCONSEMI starts pragmatically, combining The approach and a supporting framework are devel- all initial models into one, but gradually moves to- oped once by the platform specialist. This includes wards an essential SUM(M) by removing dependent the design and the implementation of the operators information or keeping them consistent through oper- (currently 20 including inverse ones). The frame- ator application. In special cases, this can lead to an work is under development using Java and a subset essential SUM(M) without dependent information. of Ecore, reusing parts of Eclipse EDapt (Herrmanns- doerfer, 2010), and extending some coupled opera- 7.2 Selection Criteria tors (Herrmannsdoerfer et al., 2011). After that, the methodologist creates a chain of op- Metamodel Reusability (E1) requires that a preex- erators like in Figure 4 individually for each project isting set of metamodels and tools is reused to gen- by reusing the provided operators and configuring erate the SUMM. OSM supports this feature only them regarding the specific consistency rules. Addi- conceptually (“hard”), because engineers can always tionally, the operators can be used to define new view- informally draw upon the information contained in types on top of the SUMM. existing metamodels when constructing the essential Since the initial (meta)models are “migrated” SUMM, either manually or by model-to-model trans- to view(type)s on the SUM(M), the developer can formations, but this is not a formal part of the ap- change them as well as the SUM and the newly de- proach. VITRUVIUS supports this feature directly fined views. These changes are propagated automat- (“easy”), because it reuses and keeps the initial meta- ically to all other models by executing the operator models as internal parts of the modular SUMM, but chain in forward and backward directions, which en- depends on additional logic that builds the consis- sures consistency to the developer’s model decisions. tency preservation mechanisms. MOCONSEMI sup- ports this feature by using the initial metamodels as the starting point for the subsequent transforma- 7 Classification of Approaches tions into a purer SUMM (“easy”). In general, only bottom-up approaches (C1) can easily fulfill E1, be- cause in top-down approaches a new metamodel has This section classifies the three presented SUM to be defined, which hampers metamodel reuse. approaches regarding the criteria presented in Sec- Model Reusability (E2) requires preexisting tion 3 as second contribution of this paper. The clas- models to be incorporated into the initial SUM. OSM sification serves both as a comparison of the three ap- supports this feature in a semi-automatic way (“hard”) proaches, as well as an indicator of the appropriate- by importing data from existing models into the newly ness of the developed criteria to distinguish SUM ap- constructed SUM using model transformations. Al- proaches. Table 1 summarizes the classification. though models do not need to be initially consis- tent, the transformations have to be defined such that 7.1 Design Criteria they generate consistent output. VITRUVIUS supports this feature partially (“middle”), because it reuses and The overall development strategy, top-down vs. keeps the initial models as internal parts of the modu- bottom-up (C1), relates to whether existing models lar SUM. Nevertheless, this requires the reused mod- and metamodels are used as starting point. OSM els to be consistent according to the consistency rules works top-down by creating an essential SUM(M), between the metamodels. This can require high man- which, although technically independent, may be con- ual effort for the initial integration. MOCONSEMI ceptually based on existing (meta)models. VITRU- supports this feature by using the initial models as the VIUS and MOCONSEMI, on the other hand, operate starting point for subsequent transformations that cre- bottom-up, because they are able to reuse initial mod- ate a purer SUM (“easy”). Even if models are not els and metamodels. While VITRUVIUS keeps them consistent before, the application of operators to inte- Criterion OSM VITRUVIUS MOCONSEMI C1 Construction Process top-down bottom-up bottom-up C2 Pureness essential pragmatic pragmatic → essential E1 Metamodel Reusability hard easy easy E2 Model Reusability hard middle easy E3 Viewtype Definability easy hard middle E4 Language Evolvability middle easy middle E5 SUMM Reusability middle easy middle Table 1: Comparison of the three Approaches regarding Design Criteria and Selection Criteria grate the models can handle and fix inconsistencies. which is true also for the other approaches to some In general, only bottom-up approaches (C1) can eas- less degree. If changes in the initial metamodels can ily fulfill E2, but the effort for reuse highly depends be realized by describing the difference between the on the necessity to have initially consistent models. old and new metamodel version by a chain of oper- Viewtype Definability (E3) deals with the speci- ators, the existing operator chain must only be ex- fication of new viewtypes for the SUMM by method- tended by them. The same applies for changed con- ologists. OSM eases viewtype definition (“easy”), sistency rules. In all other cases, some of the existing because it provides an essential SUMM containing operators have to be changed. In general, metamodel all concepts in an integrated, redundancy-free way. evolution is easier to realize in pragmatic approaches (C2), since the SUMM is constructed out of exist- VITRUVIUS makes viewtype definition more difficult (“hard”), because information is spread across meta- ing metamodels, leading to a formal relation between models and has to be combined referring to the de- them. A drawback of having dependencies is that fined consistency relations or using specialized lan- their consistency must be preserved after language evolution. On the other hand, in essential approaches guages. MOCONSEMI eases viewtype definition in the relations between the existing artifacts and the contrast to VITRUVIUS, but requires slightly more ef- fort than OSM, especially if the SUMM is not essen- SUMM only exist conceptually. Thus, changes in ex- tial (“middle”). Rather than arbitrary transformations isting languages must be manually transferred to the usable in the OSM approach, the operators for inte- SUMM ensuring its redundancy-freeness and mini- gration are also used for specifying new viewtypes. mality, leading to high effort and error potential. In general, E3 is directly influenced by the pureness SUMM Reusability (E5) addresses the challenge of an approach (C2), as pragmatic approaches always of adding new metamodel elements to or removing have to deal with the problem of fragmented informa- some of the already integrated metamodels from the tion, whereas essential approaches provide the neces- existing SUMM to reuse the SUMM in a different sary information in a minimalistic way. context. Therefore, no models are reused and model- Language Evolvability (E4) deals with maintain- co-evolution is not needed here. OSM makes it easy ing the SUMM in the face of changes to the integrated to add new concepts to an existing SUMM, since metamodel elements or the consistency rules. OSM they can be inserted directly into the existing struc- simplifies SUMM evolution, since it is free of redun- ture where they are needed. However, redundancy- dant information, but has to check that the changes freeness must be preserved and removing parts of the keep the SUMM essential. However, the transfor- SUMM requires related concepts to be checked to en- mations that generate views to the SUM have to be sure consistency (“middle”). VITRUVIUS makes it updated manually to stay up-to-date with SUMM easy to add a new metamodel “as is” by adding it changes (“middle”). VITRUVIUS simplifies meta- to the modular SUMM and specifying its consistency model evolution, since the initial metamodels are to the already integrated metamodels (“easy”). Re- kept unchanged as sub-parts of the modular SUMM. moving an integrated metamodel works vice versa. Therefore, metamodels can evolve directly (“easy”). Reusing subsets of a SUMM (i.e., a subset of the used Additionally, the consistency preservation rules tar- metamodels) is easy, since selected parts of metamod- geting the changed metamodel have to be checked els along with their consistency preservation rules and fixed if required, as well as the defined viewtypes can simply be reused. MOCONSEMI makes it easy which depend on the effected metamodels. MOCON- to add new metamodels by defining a new operator SEMI supports metamodel evolution, but the effort chain that starts with the current SUMM and reuses all depends strongly on the kind of change (“middle”), existing operators. Removing an already integrated metamodel requires all operators between the meta- tooling are available for reuse, the top-down OSM model in question and the SUMM to be removed or approach is less suitable in contrast to bottom-up ap- fixed (“middle”). Generally, pragmatic approaches proaches (C1) like VITRUVIUS and MOCONSEMI, (C2) allow to easily add or remove metamodels, since because they preserve existing viewtypes, compatibil- these operations are performed on the level of the ity to existing tooling and potentially complete devel- metamodel as a whole. Additionally, they tend to lead opment environments including all instances. More- to SUMMs that reflect the structure of the original over, they achieve this without the need to remodel all metamodels, making them easier to remove later. On dependency-free information and without the corre- the other hand, essential approaches can easily fine- sponding loss of compatibility to existing viewtypes tune metamodels to the needs of the project, since the and tooling. VITRUVIUS is the most suitable ap- SUMM can be manipulated at the level of individual proach if there are no existing models to be integrated model elements. However, the absence of dependen- for reuse, because it provides the highest reusability cies intertwines information and makes the bound- of SUMMs (E5) and the best support for evolution aries between the different metamodels less clear. (E4), since the initial (meta)models are contained in The application of the classification criteria to the the SUM(M) as separated artifacts. This also allows three approaches has shown that all criteria distin- the modular specification of CPRs by domain experts, guish different properties of SUM approaches, be- their reuse across projects, and the project-specific se- cause none of the criteria is fulfilled by all approaches lection of used metamodels and CPRs. in the same way. Nevertheless, correlations between However, VITRUVIUS is less suitable than MO- the reusability of metamodels and models, as well as CONSEMI when existing models need to be reused, between the evolution of languages and the reusability for example, in a re-engineering case, as it requires of SUMM can be seen, as they all arise from the same the reused models to be consistent according to the conceptual criteria regarding pureness and construc- consistency rules (E2). When models do not follow tion process. From this application of the criteria, it these consistency rules, which is especially the case cannot be said that the list of criteria is complete and when they are less obvious than those between Java especially it is unclear whether those presented crite- and UML, they have to be adapted initially. The MO- ria are the most relevant for selecting an appropriate CONSEMI approach is most suitable in this case, be- SUM approach. Nevertheless, we have argued that all cause it is able to handle inconsistencies in the exist- these criteria are relevant for certain situations (e.g., ing models and resolves them during integration. whether metamodels shall be reused or not, whether Summarizing, if the reuse of existing tools and languages can be expected to evolve), which gives an metamodels is not required, creating an essential initial indicator for the appropriateness of the criteria. SUM(M), as in OSM, is the most suitable solution. If metamodels are to be reused, pragmatic approaches are more suitable. Depending on whether existing in- 8 Guideline for Approach Selection stances shall be reused, VITRUVIUS or a combined approach such as MOCONSEMI should be taken. Ta- ble 2 summarizes the main advantages and applica- We defined criteria for selecting a SUM approach tion areas of the different approaches. that is most suitable for a specific situation in Sec- tion 3.2, which are derived from the design criteria in 9 Related Work Section 3.1. Since the three presented approaches ful- fill these selection criteria differently, each fits well The explicit use of views or perspectives in soft- for different situations as discussed in the following ware engineering can be traced back to the VOSE as third contribution of this paper. method in the early 1990s (Finkelstein et al., 1992), If there are no legacy tools or metamodels de- which strongly advocated a synthetic approach to scribing the system under development to be reused views given the state-of-the-art at the time. Most (E1 and E2), the OSM approach is the most suitable. “view-based” software engineering methods that have As there is no pressure to reuse existing metamodels, emerged since then, such as by Kruchten (1995) or the models or tools, defining a new metamodel that is free Unified Process (Larman, 2004), assume that views of implicit dependencies provides the purest solution are supported in a synthetic way, although this is usu- for describing the system. This makes it most easy to ally not stated explicitly (the actual distinction be- define new viewtypes for specific roles (E3). The ap- tween synthetic and projective approaches to views proach is also the most attractive when dependencies was first clearly articulated in the ISO 42010 stan- to external tool vendors should be avoided. dard (ISO/IEC/IEEE, 2011)). To our knowledge, no If, on the other hand, existing metamodels and general purpose software engineering method avail- OSM VITRUVIUS MOCONSEMI Easy Viewtype Definition Reuse of Metamodels / Tools Advantages Reuse of Metamodels / Tools No Dependencies to Legacy Tools Modular Views Easy Integration of Models

Disadvantages No Support for Existing Artifacts Difficult Reuse of Models No Modularity Reuse of Metamodels Exemplary No Reuse of (Meta-)Models Reuse of (Meta-)Models Combination of Existing Application New Domain Description Language Software Re-Engineering Areas Standards for new Projects Activities Table 2: Main Advantages and Disadvantages of the three Approaches with Exemplary Application Areas able today is based exclusively on the notion of pro- for a specific situation, depending on the necessity to jective views driven by a SUM. However, there are reuse existing metamodels and models, the expected approaches that address the more specific problem evolution of integrated languages, the need for defin- of keeping multiple views on a consistent ing new viewtypes, as well as the required reusability. (Dayal & Bernstein, 1982), or that support a synthetic We presented three existing approaches, which are approach to modeling in a limited context like multi- OSM,VITRUVIUS and MOCONSEMI, which cover paradigm modeling (Vangheluwe et al., 2002). the conceptual solution space for SUM approaches The discipline in which the idea of using views spanned by the criteria construction process and pure- to provide different perspectives on large, complex ness. On the one hand, OSM creates a pure SUM systems is the most mature is Enterprise Architecture in a top-down way, while on the other hand, VITRU- (EA) modeling, characterized by approaches such VIUS leads to a pragmatic SUM by bottom-up reuse as Zachman (Zachman, 1987) and TOGAF (Haren, of existing (meta)models explicitly keeping depen- 2011). These all define some kind of “viewpoint dent information consistent. Between these two ends framework” defining the constellation of views avail- of the spectrum, MOCONSEMI operates in a bottom- able to stakeholders and the kind of “models” that up way like VITRUVIUS, but removes redundant in- should be used to portray them. Some of these, like formation leading to an improved, possibly essential RM-ODP (Linington et al., 2011), adopt an explic- SUM. There is no known top-down approach that uses itly synthetic approach, while others such as Archi- pragmatic SUMs. By applying the identified crite- Mate (Iacob et al., 2012) and MEMO (Frank, 2002) ria to these different approaches, we were able to give make no commitment. However, again no EA mod- a reasonable indicator for the appropriateness of those eling platform available today explicitly advocates, or criteria, as they are distinguishing for the approaches. is oriented towards the use of projective views. OSM especially replaced the paradigm of refine- Therefore, the criteria presented in this paper help ment of models by model transformation chains by to design and select appropriate SUM construction the new paradigm to project models only as views on approaches. Additionally, the three sketched SUM the complete interconnected information of the whole approaches under development show the feasibility of system. It is the initiator for the idea of construct- projectional, multi-view environments. ing SUM that are only defined via projectional views. Based on that idea, VITRUVIUS and MOCONSEMI contribute concrete pragmatic strategies for building 10 Conclusion SUMs according to this paradigm. An interesting possibility is to combine the ap- Ensuring holistic consistency in system develop- proaches by nesting SUMs developed with different ment is a growing challenge as systems become larger approaches, so that one SUM contains other SUMs and more complex. In this paper, we introduced a by using their provided viewtypes. This, for exam- unifying terminology and developed criteria for clas- ple, would allow an essential SUM defined for a spe- sifying approaches that allow to construct single un- cific concern of a system to be combined with existing derlying models (SUMs) as solutions to that consis- metamodels in a pragmatic SUM using VITRUVIUS tency problem. Based on those criteria, we identified or MOCONSEMI. Finally, it also offers the construc- the main conceptual differences between possible so- tion of pragmatic SUMs, which can easily become lutions, which are the construction process to build complex when they contain lots of metamodels, to be a SUM and its metamodel, and their pureness, i.e., hierarchically decomposed (i.e. nested). the absence of redundancy. We derived five selection As future work, we plan to define a community criteria, which help to select an appropriate approach case study that describes metamodels, models, and consistency rules in the application area of software the modellierung 2012 (Vol. P-201, pp. 59–74). GI- development. Its realization by the three approaches Edition – Lecture Notes in Informatics (LNI). GI e.V. will help to evaluate, compare and improve the ap- Haren, V. (2011). TOGAF version 9.1 (10th). Van Haren proaches, their technical realizations and provided Publishing. Herrmannsdoerfer, M. (2010). “COPE - A workbench for tooling using technical criteria to be proposed. the coupled evolution of metamodels and models.” These criteria and derived evaluations of the three Lecture Notes in , 6563, 286–295. SUM approaches are developed by three groups of Herrmannsdoerfer, M., Vermolen, S. D., & Wachsmuth, SUM researchers. This paper results from that col- G. (2011). “An Extensive Catalog of Operators for laboration including discussions from three internal the Coupled Evolution of Metamodels and Models.” workshops and will be continued with developing the SLE, LNCS 6563, 163–182. community case study and its application to all three Iacob, M., Jonkers, D. H., Lankhorst, M., Proper, E., & Quartel, D. D. (2012). Archimate 2.0 specification: SUM approaches for evaluation in practice. The open group. Van Haren Publishing. ISO/IEC/IEEE. (2011). ISO/IEC/IEEE 42010:2011(E): Systems and software engineering – architecture de- scription. International for Standard- References ization, Geneva, Switzerland. Kramer, M. E. (2017). Specification languages for pre- Atkinson, C. (2002). Component-based product line engi- serving consistency between models of different lan- neering with uml. Addison-Wesley object technol- guages (Doctoral dissertation, Karlsruhe Institute of ogy series. Addison-Wesley. Technology (KIT)). Atkinson, C., Stoll, D., & Bostan, P. (2010). “Ortho- Kramer, M. E., Burger, E., & Langhammer, M. (2013). graphic Software Modeling: A Practical Approach View-centric engineering with synchronized hetero- to View-Based Development.” In L. Maciaszek, C. geneous models. In Proceedings of the 1st workshop Gonzalez-P´ erez,´ & S. Jablonski (Eds.), Evaluation of on view-based, aspect-oriented and orthographic Novel Approaches to Software Engineering (Vol. 69, software modelling (5:1–5:6). VAO ’13. ACM. pp. 206–219). Communications in Computer and In- Kramer, M. E., Langhammer, M., Messinger, D., Seifer- formation Science. Springer. mann, S., & Burger, E. (2015). Change-driven con- Atkinson, C., Tunjic, C., & Moller, T. (2015). Fundamen- sistency for component code, architectural models, tal Realization Strategies for Multi-View Specifica- and contracts. In Proceedings of the 18th interna- tion Environments. In 19th international enterprise tional acm sigsoft symposium on component-based distributed object computing conference (Vol. 2015- software engineering (pp. 21–26). CBSE ’15. ACM. Nov, pp. 40–49). IEEE. Kruchten, P. B. (1995). “The 4+1 View Model of architec- Burger, E., Henß, J., Kuster,¨ M., Kruse, S., & Happe, L. ture.” IEEE Software, 12(6), 42–50. (2014). “View-Based Model-Driven Software De- Larman, C. (2004). Applying uml and patterns: An intro- velopment with ModelJoin.” Software & Systems duction to object-oriented analysis and design and Modeling, 15(2), 472–496. iterative development (3rd edition) (3rd). Prentice Codd, E., Codd, S., & Salley, C. (1993). Providing OLAP Hall. (On-line Analytical Processing) to User-Analysts: Linington, P. F., Milosvic, Z., Tanaka, A., & Vallecillo, A. An IT Mandate. Codd & Associates. (2011). Building enterprise systems with odp. Chap- Dayal, U. & Bernstein, P. A. (1982). “On the updatability of man and Hall. network views—extending relational view theory to Meier, J. & Winter, A. (2018). “Model Consistency ensured the network model.” Information Systems, 7(1), 29– by Metamodel Integration.” 6th International Work- 46. shop on The Globalization of Modeling Languages, Diskin, Z., Xiong, Y., Czarnecki, K., Ehrig, H., Hermann, co-located with MODELS 2018. F., & Orejas, F. (2011). “From state- to delta-based Tunjic, C., Atkinson, C., & Draheim, D. (2018). “Support- bidirectional model transformations: The symmet- ing the Model-Driven Organization Vision through ric case.” Model Driven Engineering Languages and Deep, Orthographic Modeling.” Enterprise Mod- Systems, LNCS 6981, 304–318. elling and Information Systems Architectures-an In- Finkelstein, A., Kramer, J., Nuseibeh, B., Finkelstein, L., & ternational Journal, 13(SI), 1–39. Goedicke, M. (1992). “Viewpoints: A framework for Vangheluwe, H., de Lara, J., & Mosterman, P. J. (2002). An integrating multiple perspectives in system develop- introduction to multi-paradigm modelling and simu- ment.” International Journal of - lation. In F. Barros & N. Giambiasi (Eds.), Proceed- ing and Knowledge Engineering, 2(1), 31–57. ings of the AIS’2002 Conference (pp. 9–20). Frank, U. (2002). Multi-perspective Enterprise Modeling Zachman, J. A. (1987). “A framework for information (MEMO) – Conceptual Framework and Modeling .” IBM Systems Journal, 26(3), Languages. In Hawaii International Conference on 276–292. System Sciences (HICSS) (pp. 72–81). Goldschmidt, T., Becker, S., & Burger, E. (2012). Towards a tool-oriented taxonomy of view-based modelling. In E. J. Sinz & A. Schurr¨ (Eds.), Proceedings of