• No results found

2.2 Multi-View Modeling

2.2.4 Consistency

An important prerequisite of successful applications of multi-viewing is consistency between the multiple views. Lopez-Herrejon et al. state that a “crucial demand of MVM systems is consistency checking to describe and preserve the semantic relationships amongst the elements of the different views“ (LOPEZ-HERREJON AND EGYED, 2011, p. 348). In order to estab- lish consistency, one needs to be aware of the syntactic and semantic relationships between the views (cf. section 2.2.3). Consistency management is vital for the utility of multi-view mod- eling approaches, independent from the application domain. Hence, it is no surprise, that lots of research has been directed towards consistency management (e.g., (HUZAR ET AL., 2005; MENS ET AL., 2005; USMAN ET AL., 2008; BHAVE ET AL., 2011; HERZIG ET AL., 2011; SHAH ET AL., 2010; LOPEZ-HERREJON AND EGYED, 2011)).

Before thinking about consistency management, the term consistency itself needs to be spec- ified in the context of multi-view modeling. The definition of conformity is first introduced to guide the way until an understanding of the more stringent definition of consistency. Larkin and Simon differentiate informational and computational equivalency (LARKIN AND SIMON, 1987). Informational equivalence: “two representations are informationally equivalent if all in- formation in one is also inferable from the other and vice versa.“. Computational equivalence: “two representations are computationally equivalent if they are informationally equivalent and,

in addition, any inference that can be drawn easily and quickly from the information given ex- plicitly in the one can also be drawn easily and quickly from the information given explicitly in the other, and vice versa.“.

HERZIG ET AL. (2011) differentiate between internal and external inconsistency. The for- mer considers a syntactic conformity of the created view to its syntactic specification, i.e., the viewpoint, whereas the latter furthermore considers whether the mapping of the reality to the constituents of the view is correct. Later in 2014, Herzig et al. proposed an approach for man- aging inconsistencies based on the hypothesis, that all models can be represented by graphs and that inconsistencies can be identified by means of pattern matching techniques (HERZIG ET AL., 2014).

A quite simple specification of consistency is given by Reineke et al. who state that views should “not contradict each other“ (REINEKE AND TRIPAKIS, 2014, p. 1). In a similar direc- tion goes the definition of the term consistency in the Oxford Dictionary11 defining consistent for an argument or set of ideas as “not containing any logical contradictions“.

Multi-view consistency is classified in several ways in literature. Some of them are as follows:

Weak and strong consistency BHAVE ET AL. (2011) This is related to the scale of con-

nection between the models of a system. Weak consistency requires every architectural artifact, i.e., components and connectors, of a system and every connection between dif- ferent views to be considered in a model. On the other hand strong consistency also adds a constraint that every view should consider all the artifacts, i.e., components and connections.

Vertical and horizontal consistency BROY ET AL. (2010) Vertical consistency refers to

consistency between models at different development phases or abstraction levels. Hori- zontal consistencyon the other hand refers to the consistency between models at the same phase, representing different views.

Global and local consistency QURESHI(2012) Global consistency is considered from a

set of global constraints and relationships. A locally consistent model can refer to a model whose artifacts are consistent with each other.

Syntactic and semantic consistency Syntactic consistency considers the conformity of a

view to its abstract syntactic specification, i.e., its viewpoint. Semantic consistency is con- cerned with the semantic equivalence of aspects captured in multiple views (cf. ENGELS ET AL. (2001) for syntactic/semantic consistencies in UML).

11 The Oxford Dictionary page for the term consistent: http://www.oxforddictionaries.com

As the previous literature review suggests, there are manifold approaches trying to clas- sify consistency. Notably, approaches that explicitly require or at least tolerate inconsistencies (e.g., (BALZER, 1991; NUSEIBEH ET AL., 2001)) have not been regarded, as the preserving of consistency in multi-view modeling is considered vital. In the following, a solid excerpt of the most relevant consistency classes is introduced in detail. These classes will be used throughout the thesis.

Multi-View Modeling Consistency

A lot of publications around the Unified Modeling Language (UML) deal with the problem of inconsistencies in a multi-view context (ENGELS ET AL., 2001; LOPEZ-HERREJON AND EGYED, 2011; MENS ET AL., 2005; USMAN ET AL., 2008)12. This is no surprise as the UML, besides all positive aspects, lacks at formalization (HAREL AND RUMPE, 2004; SEIDEWITZ, 2013). Authors discuss inconsistency issues faced while trying to combine multiple UML di- agrams. However, on an abstract level, those consistency issues, and the abstract consistency classes derived from them, are also applicable for non-UML models (cf. BORK AND SINZ (2013)).

Syntactic Inconsistency Syntactic consistency guarantees, that a model conforms to its

language definition, usually specified by a meta-model.

Semantic Inconsistency Semantic consistency requires for aspects captured in different

views to be semantically consistent to each other. The semantic information a modeler derives while looking at multiple views of a model must be coherent.

Horizontal Inconsistency / Intra-Model Consistency Horizontal consistency, also de-

noted as intra-model consistency, refers to views representing the same abstraction level to be semantically consistent.

Vertical Inconsistency / Inter-Model Consistency Vertical consistency, also denoted as

inter-model consistency, refers to views representing different levels of abstraction, e.g., models built in different phases of software development like design models and analysis models to be semantically consistent.

Table 1 summarizes the four classes of consistency by combining syntactic/semantic and horizontal/vertical orthogonally in pairs. The concrete examples are taken from the Semantic Object Model (SOM) method (see section 7.2 for a thorough introduction to the SOM method).

12 The effort is also documented by a specialized workshop on consistency problems in UML-based software

The importance of consistency resulted in several PhD projects specifically designed to inves- tigate on possibilities on identifying and codifying semantic correspondences between multiple views. The interested reader may be referred to the dissertation thesis of DIJKMAN (2006) and HESSELLUND (2009). Also, the work of Romero et al., introducing a graphical model- ing method for correspondences based on Object Constraint Language (OCL), Query View Transformation (QVT) (OBJECT MANAGEMENT GROUP (OMG), 2015) and Answer Set Pro- gramming (ASP) (ERAMO ET AL., 2008; ROMERO ET AL., 2009) might be interesting.

Table 1: Examples of consistency problem classes in the Semantic Object Model

Syntactic Semantic

Horizontal

A Business Object in the Object Decom- position Schema and the corresponding Business Object in the Interaction Schema should be consistent.

The Business Object responsible for the execution of a Task in the Task-Event Schema should be consistent to the cor- responding Business Object in the Object Decomposition Schema

V

ertical

A Business Transaction in the Transaction Decomposition Schema should be consis- tent to the corresponding transaction spe- cific Objecttype in the Schema of Concep- tual Classes

A internal event in the Task-Event Schema should be transformed into a corre- sponding interacts with relationship in the Schema of Conceptual Classes.