• No results found

The fifth step of the MUVIEMOT method comprises the information specified in the preceding steps into an overarching specification of a multi-view modeling tool, referred to as concep- tual design. In general, conceptual design specifications can be developed in two levels of abstraction: First, on a conceptual level and independent of development technologies like tool development platforms or programming languages. Second, the constituents of the conceptual design are specifically aligned to the functionality and components of a development technol- ogy. The former can be achieved with knowledge on the multi-view modeling method at hand, whereas the latter also requires significant knowledge on the development technology. In total, a conceptual design is built on three building blocks: Functional Requirements, Consistency Requirements, and Non-Functional Requirements.

Independently of the abstraction level, the conceptual design is aiming at providing more precise functional requirements. Therefore, the incomplete or ambiguous information of e.g., the modeling procedure step is now refined. The effects and conditional effects modeled in the multi-view modeling use cases are now precisely specified using e.g., natural language or a more formalized notation. For each use case defined in the third MUVIEMOT step, its effect on viewpoints and consistency issues are specified. Especially in the context of a multi-view modeling method, even rather simple add, remove or modify operations can force the developer to implement a set of more or less complex operations potentially applied to several views in order to preserve a consistent state of the model. An emphasis of the specification should be also on the conditional effects as they are not obvious and it is not likely that tool developers, being generally no method experts, would identify those conditional effects by themselves.

Another building block of the conceptual design are consistency requirements. As men- tioned already, the viewpoint dependencies, identified in the preceding step, are not specified in detail, yet. The conceptual design, uses these dependencies and refines them. Consequently, it must be specified for each dependency, which attributes are concerned by a change, and, de- pending on the multi-view modeling principle, when to execute the consistency mechanisms. State translations and/or transition translations (cf. section 5.4) need to be specified in an

appropriate and unambiguous way.

The conceptual design of a modeling tool should also consider non-functional requirements (NFRs). In addition to classical NFRs like intuitivity, efficiency, stability, an emphasis should be on the general way of carrying multi-view modeling and the usage of the tool by a human modeler.

The aim of the conceptual design is to capture all functional and non-functional requirements of a multi-view modeling tool. The input of all preceding steps is combined and integrated into an overarching tool specification with an emphasis on consistency. The conceptual design specification should provide an unambiguous development handbook, enabling tool developers to implement a consistency-preserving multi-view modeling tool more efficiently.

6.3.5.2 Modeling Language

Figure 38 illustrates the constituents of a conceptual design model (cf. (BORK ANDSINZ, 2013, p. 31f.)). A conceptual design is composed of functional requirements, non-functional require- ments, and consistency requirements. The latter two are specified informally, e.g., using natural language. Functional requirements are specified in a semi-formal way by providing the modeler with a structured set of properties. These properties enable comprehensive specification of the tool’s functionality with respect to the multi-view scenario.

_Conceptual Design_ Functional Requirement Object Non-Functional Requirement Operator Effect Consistency Function Consistency Requirement

Figure 38: MUVIEMOT step V: Conceptual Design

The notation of the conceptual design model is twofold: First, tabular representations are re- alized as they have proven their efficiency in requirements specifications (ZHU ET AL., 2014). A benefit of using tables is the intuitive interpretation by the modeler and the inherent structuring for huge amounts of data. Moreover, the modeler is provided a graphical visualization.

The specification of a functional requirement in the conceptual design step of MUVIEMOT comprises the following information (cf. (BORK ANDSINZ, 2013, p. 32)):

Function Denomination of the functionality by means of an use case of the modeling method,

specified in the modeling procedure step, e.g., add model element, delete model element, generate model; or functionality of the modeling tool, e.g., layout algorithms, model management. If derived from a multi-view modeling use case, the name of the use case can be used as denomination of the function.

Object Every functionality of the multi-view modeling tool should be related to an element,

or a set of elements, of the viewpoints’ meta models. The relationship indicates, that a certain functionality can be triggered at e.g., a certain model element or a set of view- points. Some functionality may be related to components of the modeling tool, e.g., context menu, tool window, model window; or the model as a whole, e.g., changing the font size of the labels or changing the read/write mode of a viewpoint.

Operator Signature of the operator by means of the explicit name, the functionality should

have in a corresponding modeling tool. There is a 1..∗ relationship between a function and an operator. This enables composition of functionality that semantically corresponds to each other, e.g., the function split sequence flow of a process model can be decom- posed into multiple operators, e.g., add ’OR’ split and add ’XOR’ split. Furthermore, this hierarchical classification enables structuring of all modeling operators.

Effect The description covers all effects caused by the execution of the operator on all view-

points. It can be in several degrees of formalization, i.e., a pure informal, textual descrip- tion of the effects, a semi-formal description using pseudo-code notation, or a formal specification of the operator by using a programming language or mathematical notation.

Consistency The execution of modeling operators in a multi-view setting always puts the

consistency of the views at risk. Description of the possible inconsistencies is therefore vital for ensuring consistency-preserving modeling. The multi-view modeling use cases act as an initial information source. The identified conditional effects need to be specified thoroughly in the conceptual design. Hence, the conditions of an effect on a certain view- point need to be investigated. Usually, the description is on an informal level. However using OCL constraints or formal specification languages can be also utilized - depending on the experience of the modeler.

The conceptual design specification is usually consolidated in a tabular description. As the conceptual design can be performed on an informal level using natural language, the notation does not need to be more formal. The resulting requirements specification should enable a tool

developer, not necessarily a method expert, to implement a consistency-preserving multi-view modeling tool.

6.3.6 Step VI: Evaluation