SPES 2020 Deliverable 1.4.B-3 Concepts for an Integrated Tool ...
SPES 2020 Deliverable 1.4.B-3 Concepts for an Integrated Tool ...
SPES 2020 Deliverable 1.4.B-3 Concepts for an Integrated Tool ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Technische Universität München<br />
crucial <strong>for</strong> the introduction of <strong>an</strong> integrated engineering environment. Figure 7 depicts the<br />
different tooling aspects together with their classification. In the following, we discuss the<br />
Horizontal <strong>an</strong>d vertical tooling aspects<br />
ingredients that are necessary to implement both vertical <strong>an</strong>d horizontal tooling aspects.<br />
<strong>Integrated</strong> Model Engineering<br />
Environment<br />
Horizontal tooling aspects:<br />
Generic <strong>Tool</strong> Framework<br />
Common Model Repository<br />
Generic Editor Framework<br />
Workflow Engine<br />
Model Interpretation Engine<br />
Vertical tooling aspects:<br />
L<strong>an</strong>guage Modules<br />
Figure 7: Horizontal <strong>an</strong>d vertical tooling aspects of <strong>an</strong> integrated engineering environment.<br />
4.1.1 Vertical Aspects<br />
Garching, , Chair IV: Software <strong>an</strong>d Systems Engineering 10<br />
<strong>Tool</strong>ing aspects are called vertical if they are specific to a certain modeling l<strong>an</strong>guage. The<br />
tooling plat<strong>for</strong>m must support tool builders to easily implement vertical aspects. It should be<br />
easily possible <strong>for</strong> a comp<strong>an</strong>y to adapt or develop a modeling l<strong>an</strong>guage appropriate to its needs.<br />
In order to enable the cost-effective development of such modeling l<strong>an</strong>guages, we need so-called<br />
meta l<strong>an</strong>guages to describe the different elements of a modeling l<strong>an</strong>guage. The tooling aspects<br />
related to supporting modeling l<strong>an</strong>guages are partitioned into the following elements: Abstract<br />
Syntax, Concrete Syntax, Process Definition, <strong>an</strong>d Sem<strong>an</strong>tics. In the following, we inspect the<br />
different elements of modeling l<strong>an</strong>guages <strong>an</strong>d their requirements in more detail.<br />
Abstract syntax. The abstract syntax defines the concepts of a modeling l<strong>an</strong>guage <strong>an</strong>d their<br />
relationships. When a modeling l<strong>an</strong>guage is appropriate to a domain, it enables the engineers to<br />
directly reflect the domain concepts <strong>an</strong>d relations in their models. By using domain appropriate<br />
l<strong>an</strong>guages, the engineers c<strong>an</strong> work at a higher abstraction level <strong>an</strong>d in direct <strong>an</strong>alogy to the<br />
domain knowledge.<br />
The abstract syntax determines the validity of models <strong>an</strong>d c<strong>an</strong> there<strong>for</strong>e be used to en<strong>for</strong>ce<br />
the construction of valid models. The domain sem<strong>an</strong>tics of l<strong>an</strong>guages c<strong>an</strong> be encoded in <strong>an</strong><br />
abstract syntax by restricting syntactically correct models to those that are me<strong>an</strong>ingful in the<br />
domain [EW05]. The abstract syntax usually consists of constructive <strong>an</strong>d descriptive parts:<br />
constructive parts describe how to build valid models <strong>an</strong>d descriptive parts further restrict the<br />
18<br />
Abstract Syntax<br />
Concrete Syntax<br />
Process Definition<br />
Sem<strong>an</strong>tics