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