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.

8openETCS Domain Framework<br />

This chapter starts with a definition of a set of requirements for the openETCS domain<br />

framework, which are used as starting point for its development proc<strong>es</strong>s. The d<strong>es</strong>ign strategy<br />

and the general use cas<strong>es</strong> are discussed to identify in a first step the needed basic class<strong>es</strong>. The<br />

d<strong>es</strong>cription of the structural software d<strong>es</strong>ign refin<strong>es</strong> the initial class structure and provid<strong>es</strong> a<br />

detailed d<strong>es</strong>cription of all domain framework typ<strong>es</strong>. Afterwards, the corr<strong>es</strong>ponding behaviour<br />

or rather the behavioural d<strong>es</strong>ign is introduced followed by the d<strong>es</strong>cription of the deployment.<br />

The concrete implementation of the openETCS domain framework is illustrated by exampl<strong>es</strong> of<br />

the source code. Finally, the strategy for the verification of the domain framework is pr<strong>es</strong>ented.<br />

UML is used as formalism for all d<strong>es</strong>ign d<strong>es</strong>criptions.<br />

8.1. Requirements<br />

According to Chapter 3, a domain framework in a DSL is the interface between the generated<br />

code and the target platform. Since this is a very general d<strong>es</strong>cription, some additional<br />

requirements were <strong>der</strong>ived before the development of the openETCS domain framework:<br />

Req.5: high<strong>es</strong>t possible simplification of code generators<br />

Req.6: maximal transparency between meta model, model, and domain framework<br />

Req.7: as platform independent as possible<br />

Req.8: direct support for interproc<strong>es</strong>s communication (IPC)<br />

Req.5 There are mainly two reasons for keeping the code generation as simple as possible:<br />

First, for complex meta models with a lot of different typ<strong>es</strong>, the implementation of code<br />

generators can easily reach a level of complexn<strong>es</strong>s that is not any more good manageable.<br />

Second and more important, because the domain framework is implemented once and normally<br />

is only modified due to chang<strong>es</strong> in the meta model, t<strong>es</strong>ts provided for the domain framework<br />

can cover accordingly more static code and can be executed separately from the generated<br />

code. To t<strong>es</strong>t the generated code, additionally the generator or rather the generation proc<strong>es</strong>s<br />

has to be taken into account, which increas<strong>es</strong> the effort in general.<br />

121

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

Saved successfully!

Ooh no, something went wrong!