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 7. openETCS Meta Model<br />

7.5.8. Static Semantics directly used in the Modelling Proc<strong>es</strong>s<br />

According to the tool chain introduced in Section 4.6, constraints are defined outside the<br />

MetaEdit+ application and checked by an external generator. Therefore, the generated report<br />

is pure textual and it has to be (manually) searched in MetaEdit+ for incorrect model elements.<br />

This drawback cannot easily be avoided because the used GOPPRR XML format used as<br />

interface is general and accordingly independent from the concrete meta model. However, it is<br />

possible to check simple constraints directly during the manual modelling proc<strong>es</strong>s.<br />

The b<strong>es</strong>t way to do this is to use generators that do not produce any direct output to fil<strong>es</strong><br />

but graphical feedback. In MetaEdit+ [56], this is done by MERL scripts that directly output<br />

information to the graphical repr<strong>es</strong>entation of a GOPPRR element that is not a graph, a port,<br />

or a property 12 . Those scripts are always executed in the scope of the current graph, which<br />

the repr<strong>es</strong>entation is displayed in. This is the obvious limitation for this method because, as<br />

discussed in Chapter 4, constraints related to the project scope are in this way very difficult<br />

to implement. Constraints that are related to graphs cannot be implemented because MERL<br />

generators for graphs cannot be output on the graph repr<strong>es</strong>entation itself. Properti<strong>es</strong> do not<br />

have any direct graphical repr<strong>es</strong>entation at all, and ports are only graphical connection points.<br />

Thus, only a subset of the above introduced constraints are implemented directly in the<br />

graphical elements of the openETCS meta model. However, even this subset providing direct<br />

graphical feedback in the case of model or rather static semantics violations can help an ETCS<br />

expert during the specification proc<strong>es</strong>s.<br />

7.6. Dynamic Semantics for the Cyclic Execution<br />

The pr<strong>es</strong>ented openETCS meta model or formal specification language can mainly divided in<br />

three major parts:<br />

1. a superior state machine for ETCS Mod<strong>es</strong><br />

2. data and control flows for behavioural and functional specification<br />

3. specification of data structur<strong>es</strong> for communication<br />

The dynamic semantics of the superior state machine defined in a gEVCStateMachine graph is<br />

d<strong>es</strong>cribed in general as for state machin<strong>es</strong> [80]. As already discussed, no temporal behaviour<br />

can be <strong>der</strong>ived directly from a gEVCStateMachine graph because oModeGuard objects are<br />

used as conditions for transitions. Since the oModeGuard objects are used in the data flows,<br />

only the specification language part for data and control flow defin<strong>es</strong> temporal behaviour of<br />

the whole model. Although data flows can be modelled in general, it is obvious that when<br />

the model is transformed to an executable binary 13 the data flow has to be implemented in<br />

discrete manner. From control theory, it is known that for the <strong>es</strong>tablishment of stable, discrete<br />

systems those must have a fixed sample time T s [30]. This means that the data flows or rather<br />

their calculations k are executed at certain time points t, which all have the same temporal<br />

distance:<br />

t = kT s ; k = 0, 1, 2, . . . (7.1)<br />

12 objects, rol<strong>es</strong>, and relationships<br />

13 for a certain computer platform<br />

108

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

Saved successfully!

Ooh no, something went wrong!