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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

9openETCS Generator Application<br />

This chapter d<strong>es</strong>crib<strong>es</strong> the d<strong>es</strong>ign and implementation of the openETCS code generator. Initially,<br />

general requirements for the application are defined. In general, the development d<strong>es</strong>cription<br />

follows the same principl<strong>es</strong> as in Chapter 8, which discussed the openETCS domain framework.<br />

Hence, the generator d<strong>es</strong>ign is illustrated by the used d<strong>es</strong>ign strategy, the structural d<strong>es</strong>ign,<br />

and the deployment while UML is used as formalism. Also, the implementation is discussed<br />

by concrete source code exampl<strong>es</strong>. Additionally, the generation of configurations for virtual<br />

machin<strong>es</strong> is introduced, which is followed by the d<strong>es</strong>cription of the V&V strategy of the complete<br />

openETCS development proc<strong>es</strong>s. Finally, the complete employed tool chain down to executable<br />

EVC binary is pr<strong>es</strong>ented.<br />

9.1. Requirements<br />

In a DSL, the generators typically build the link between a model and the domain framework,<br />

which was introduced in Chapter 3. Therefore, the proc<strong>es</strong>s of generating the code that is<br />

compiled and linked against the domain framework is also called model-to-text or model-to-code<br />

transformation. Since the code generators are not executed together with the target, but their<br />

execution r<strong>es</strong>ult strongly influenc<strong>es</strong> the target execution, the requirements for the openETCS<br />

generator development are quite different from the on<strong>es</strong> for the domain framework in Section 8.1<br />

and are defined as follows:<br />

Req.9: full coverage / usage of relevant model elements<br />

Req.10: generation of optimised code<br />

Req.11: generation of a build configuration for compiling and linking the r<strong>es</strong>ulting executable<br />

binary<br />

Req.12: generation of virtual machine configurations for the PIM and PSM<br />

Req.9 To guarantee that the generated code from the openETCS model is a correct transformation,<br />

it must be ensured that all relevant elements in the model are used during the generation<br />

proc<strong>es</strong>s. All relevant elements means any GOPPRR type that influenc<strong>es</strong> the dynamic semantics.<br />

Those are the most typ<strong>es</strong> b<strong>es</strong>id<strong>es</strong> the on<strong>es</strong> only used for documentation, like oNote.<br />

159

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

Saved successfully!

Ooh no, something went wrong!