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.

Chapter 9. openETCS Generator Application<br />

DSM Similar to the GOPPRR package and the libGOPPRR library, the DSM package is<br />

also independent from the used meta model and can be deployed as library. The corr<strong>es</strong>ponding<br />

deployment diagram can be found in Figure 9.5. Again, the ExceptionTyp<strong>es</strong> artefact holds all<br />

Figure 9.5.: UML deployment diagram for the DSM library<br />

typ<strong>es</strong> used for raising exceptions. Since the libDSM builds the link between any meta model<br />

of GOPPRR and a concrete generator, it also requir<strong>es</strong> and imports the class<strong>es</strong> provided by<br />

the libGOPPRR library. This is sketched in Figure 9.6. The libDSM library itself provid<strong>es</strong><br />

all class<strong>es</strong> for transforming a GOPPRR XML file, as intermediate model, into objects of the<br />

libGOPPRR library class<strong>es</strong>.<br />

GEN As already d<strong>es</strong>cribed before, the GEN package implements the openETCS generator<br />

application as executable binary. Since it is deployed in only one component, the related<br />

diagram in Figure 9.7 is as simple as for libGOPPRR and libDSM. In contrast to those two<br />

other components, the openETCSGenerator do<strong>es</strong> not provide any class<strong>es</strong> but requir<strong>es</strong> those<br />

from the two librari<strong>es</strong>. The component diagram in Figure 9.8 shows corr<strong>es</strong>ponding import of<br />

class<strong>es</strong>.<br />

9.5. Implementation<br />

Due to the nature of the generator application, the interaction between the generator class<strong>es</strong><br />

or rather objects is low. Mainly, a CMain object calls a CGOPPRRTransformer instance to<br />

convert a GOPPRR XML file into a CGOPPRRSyntaxTree to finally call all generator instanc<strong>es</strong><br />

and the constraint checker. Thus, an own section for the behavioural d<strong>es</strong>ign is spared for the<br />

openETCS generator application and the section directly proceeds with the implementation of<br />

the structural d<strong>es</strong>ign.<br />

166

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

Saved successfully!

Ooh no, something went wrong!