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.

7.2. Concrete Syntax for Graph Typ<strong>es</strong> and Sub-Graphs<br />

The developed meta model is based on the ETCS SRS version 2.3.0, which was already<br />

referred to in the general ETCS introduction in Section 2.2. Accordingly, all following instanc<strong>es</strong><br />

of the openETCS DSL in this case study are also based on this SRS version.<br />

7.2. Concrete Syntax for Graph Typ<strong>es</strong> and Sub-Graphs<br />

To begin the meta model d<strong>es</strong>cription with an overview, Figure 7.2 introduc<strong>es</strong> all graph typ<strong>es</strong><br />

and their connection by explosions and decompositions. For clarification, all graph typ<strong>es</strong> are<br />

denoted by a “g” as prefix and objects by an “o”. In the real meta model, those prefix<strong>es</strong> do not<br />

exist. The general meaning of graph typ<strong>es</strong> is explained in this section while the certain binding<br />

syntax and the used object typ<strong>es</strong> for each graph type are explained in the next section.<br />

gEVCStateMachine graph type The ETCS standard specifi<strong>es</strong> EVC behaviour according to<br />

operational Mod<strong>es</strong>. In each Mode, a well-defined collection of functions is active. Transitions<br />

between Mod<strong>es</strong> are specified in the standard as the so-called transition tabl<strong>es</strong> while related<br />

d<strong>es</strong>criptions of guard conditions are pr<strong>es</strong>ented in structured natural language [88, pp. 37-40].<br />

gMainFunctionBlock, gSubFunctionBlock, and gEmbeddedStateMachine<br />

graph typ<strong>es</strong> The specification of ETCS Application Levels applicable in a certain Mode is<br />

realised in the openETCS meta model by explosions from Mod<strong>es</strong> (object type oMode) to<br />

graphs of type gMainFunctionBlock: One for each level applicable in the r<strong>es</strong>pective Mode.<br />

A gMainFunctionBlock graph defin<strong>es</strong> the EVC operations to be executed in a given mode<br />

and ETCS Application Level [88, 90, 89]. To determine the ETCS Application Level of a<br />

function block, the gMainFunctionBlock graph type holds an oApplicationLevelType object<br />

in its property list. This object carri<strong>es</strong> the level identification of each gMainFunctionBlock<br />

instance associated with an ETCS mode via explosion.<br />

Function blocks are used to model data flow between objects that can be sourc<strong>es</strong>, like sensors<br />

or actuators, but also to model variabl<strong>es</strong> d<strong>es</strong>cribing internal stat<strong>es</strong>. Experience with system<br />

modelling has shown that it is often nec<strong>es</strong>sary to complement data flow specifications by control<br />

flow d<strong>es</strong>criptions in or<strong>der</strong> to model the complete system behaviour [8]. Therefore, the oEmbeddedStateMachine<br />

object type in the gMainFunctionBlock graph type has a decomposition<br />

into state machin<strong>es</strong> (gEmbeddedStateMachine graph type) embedded within the data flow.<br />

Conversely, state machine control stat<strong>es</strong> may be decomposed again into gSubFunctionBlock,<br />

which model the active behaviour while r<strong>es</strong>iding in the control state. It should be noted that<br />

this recursive relationship allows to specify hierarchic control stat<strong>es</strong> as used in the so-called<br />

“OR-stat<strong>es</strong>” of statecharts [36].<br />

Another special object is the oSubFunction object within the gMainFunctionBlock graph<br />

type. Its purpose is to structure certain functionality into sub-graphs for better graphical<br />

clarity and re-usability. For this reason, it has a decomposition to the gSubFunctionBlock<br />

graph type.<br />

The gSubFunctionBlock type differs from gMainFunctionBlock mainly in the lack of the<br />

assignment to a certain Application Level by a property. This enabl<strong>es</strong> the re-usability of certain<br />

(sub) functionality in several Mod<strong>es</strong> and Application Levels. Therefore, object typ<strong>es</strong> related to<br />

81

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

Saved successfully!

Ooh no, something went wrong!