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 />

Thus, the oEmbeddedStateMachine objects, which are part of the data flow graph typ<strong>es</strong><br />

gMainFunctionBlock and gSubFunctionBlock, are also executed with the sample time T s<br />

by their parent graph instance. Very similar to the gEVCStateMachine graph type, the<br />

gEmbeddedStateMachine graph type do<strong>es</strong> not provide any temporal behaviour by itself. This<br />

is provided by the decomposition of each oEmbeddedState object to a gSubFunctionBlock<br />

graph. Therefore, the currently active oEmbeddedState object is executed if its parent<br />

oEmbeddedStateMachine object is executed within a data flow graph.<br />

The dynamic semantics of oSubFunction objects can be interpreted in two ways: First, when<br />

they are executed by the data flow graph 15 that they are part of, they only delegate this<br />

execution to the data flows in their decomposition. Second, the content of their decomposition<br />

is virtually copied to the parent graph contenting the oSubFunction object, and that all objects<br />

are executed directly by the parent graph. Actually, the latter interpretation indeed repr<strong>es</strong>ents<br />

the implementation of the domain framework and generator, in which after the graphical<br />

“unrolling” all objects are located in a gMainFunctionBlock, which is executed with a certain<br />

sample time. Neverthel<strong>es</strong>s, the first dynamic semantics interpretation is also valid, and both<br />

corr<strong>es</strong>pond to the provided functionality.<br />

The transformation from an openETCS model with general data flows to a concrete sample<br />

system is done by the generator and the domain framework. The generator defin<strong>es</strong> the<br />

calculation or<strong>der</strong> in each execution step k while the domain framework ensur<strong>es</strong> that those are<br />

executed in equidistant time points t with a fixed sample time T s . The concrete value for T s is<br />

not defined in the model but in the domain framework. Related to the definition of control<br />

loops, this can arise severe problems related to stability because the sample time directly<br />

influenc<strong>es</strong> the parameters of a controller [30]. Simplified expr<strong>es</strong>sed, if a control loop with the<br />

same parameters is stable for T s , it can be unstable for T s ′ (with T s ≠ T s). ′ Therefore, it must<br />

be emphasised that the openETCS meta model is not specialised for building control loops in<br />

the meaning of control theory but for defining control functions for ETCS. In addition, concrete<br />

control loop issu<strong>es</strong> are handled directly in the domain framework d<strong>es</strong>ign and implementation.<br />

7.7. Mathematical Model of the Dynamic Semantics<br />

The preceding sections Section 7.2, Section 7.3, and Section 7.5 introduced the concrete<br />

syntax and static semantics but did not explain how the correctn<strong>es</strong>s of model instanc<strong>es</strong> can<br />

be ensured in an analytical way. One possibility is to transform the dynamic semantics to<br />

a mathematical model, which certain properti<strong>es</strong> can be analysed and proven for. Because<br />

some graph typ<strong>es</strong> use very similar syntax and semantics, those can be grouped for defining<br />

corr<strong>es</strong>ponding mathematical models in equivalence groups:<br />

data flows<br />

state machin<strong>es</strong><br />

gMainFunctionBlock, gSubFunctionBlock, gCommunicationRea<strong>der</strong>, gCommunicationSen<strong>der</strong><br />

gEVCStateMachine, gEmbeddedStateMachine, gMainFunctionBlock / oApplicationLevelType<br />

15 gMainFunctionBlock or gSubFunctionBlock graph<br />

110

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

Saved successfully!

Ooh no, something went wrong!