31.01.2014 Views

Ph.D. - geht es zur Homepage der Informatik des Fachbereiches 3 ...

Ph.D. - geht es zur Homepage der Informatik des Fachbereiches 3 ...

Ph.D. - geht es zur Homepage der Informatik des Fachbereiches 3 ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 3. Domain-Specific Modelling<br />

Language or rather the DSL is a modelling formalism specialised for a certain problem domain,<br />

which provid<strong>es</strong> a high level of abstraction in relation to a programming language / target.<br />

The DSL is developed by a domain expert.<br />

Generator specifi<strong>es</strong> how the parts of a concrete model are transformed to source code fitting<br />

to the target. The generator is normally developed by a programming expert to provide<br />

a high quality of the generated code.<br />

Domain Framework provid<strong>es</strong> an interface between the generated code and the target platform<br />

/ hardware. Typically, it consists of all static source code that do<strong>es</strong> not have to be<br />

generated from the model. Often, a domain framework provid<strong>es</strong> encapsulation of platform<br />

or hardware depended operation to enable platform / hardware independence. The<br />

domain framework is also developed by a programming expert, but itself do<strong>es</strong> not<br />

nec<strong>es</strong>sarily need to be developed un<strong>der</strong> model-driven aspects.<br />

Target is the generated code typically in a certain programming language. Normally, the target<br />

code is not executed or rather compiled alone but together with the domain framework<br />

and additional (static) source code.<br />

A DSM architecture do<strong>es</strong> not have to nec<strong>es</strong>sarily consist of all four elements. For example,<br />

for an architecture that generat<strong>es</strong> (Java code and then) Java bytecode, no domain framework<br />

would be nec<strong>es</strong>sary since Java bytecode is (mostly) platform independent. The corr<strong>es</strong>ponding<br />

DSM architecture elements are shown in Figure 3.2.<br />

Language<br />

model<br />

Generator<br />

Java Bytecode<br />

Target<br />

(Java Virtual Maschine)<br />

Figure 3.2.: Example of a DSM architecture for Java virtual machine as target<br />

B<strong>es</strong>id<strong>es</strong> the definition and development of a DSM architecture, its usage is also an integral<br />

part of the development proc<strong>es</strong>s. While DSM architecture elements are developed by domain<br />

and programming experts, the DSM architecture and <strong>es</strong>pecially the DSL is used by application<br />

developers who neither have to be programming nor domain experts. The corr<strong>es</strong>pondents<br />

between DSM definition and their usage is graphically shown in Figure 3.3 [46, p. 67].<br />

The following section introduc<strong>es</strong> some prominent, public meta meta models. Afterwards,<br />

th<strong>es</strong>e are compared in combination with the corr<strong>es</strong>ponding modelling applications to select an<br />

appropriate meta meta model for the case study in Part III. Rea<strong>der</strong>s familiar with the meta<br />

22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!