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.

7.3. Concrete Syntax for Graph Bindings<br />

NP SB · · ·<br />

NP c4-p2 · · ·<br />

SB c29-p2 · · ·<br />

. . .<br />

. ..<br />

Figure 7.5.: Simple example for a gEVCStateMachine matrix<br />

7.3.2. gMainFunctionBlock and gSubFunctionBlock Graph Typ<strong>es</strong><br />

Main function blocks are used to model transformations of the data flow performed by the EVC<br />

in a specific Mode and ETCS Application Level (Figure 7.6). Since th<strong>es</strong>e transformations may<br />

be quite extensive, gMainFunctionBlock graphs may contain oSubFunction objects allowing<br />

top-down decomposition into gSubFunctionBlock graphs. The behavioural interpretation is the<br />

same as if all details occurring in the lower-level function block had been pr<strong>es</strong>ented already in<br />

the original function block without referencing an oSubFunction object.<br />

Objects in the gMainFunctionBlock and gSubFunctionBlock graph type can be related<br />

by the binary DataFlow relationships connecting objects by means of a DataOutput role<br />

(sending object) and a DataInput role (receiving object). The possibility to connect general<br />

objects by means of data flows and ports enabl<strong>es</strong> the specification of feed-forward or feed-back<br />

structur<strong>es</strong> [30], which are typically used in loop controllers. The GOPPRR port concept is used<br />

to avoid modelling errors and facilitat<strong>es</strong> the checking of static model semantics with r<strong>es</strong>pect to<br />

interface consistency.<br />

Compared to other graph typ<strong>es</strong>, both function block typ<strong>es</strong> use the majority of object typ<strong>es</strong><br />

in the meta model because they mainly d<strong>es</strong>cribe the complete functionality in a certain ETCS<br />

Application Level. Those object typ<strong>es</strong> can be divided in four categori<strong>es</strong>:<br />

sourc<strong>es</strong><br />

sinks<br />

transformations<br />

storag<strong>es</strong><br />

specials<br />

Object typ<strong>es</strong> that only provide outputs. Those are mostly related to sensor<br />

devic<strong>es</strong>, like odometers. All typ<strong>es</strong> in this category use oFunctionBlockOut<br />

as super type.<br />

Object typ<strong>es</strong> that only have inputs. Those are mostly related to actuator<br />

devic<strong>es</strong>, like service brak<strong>es</strong>. All typ<strong>es</strong> in this category use oFunctionBlockIn<br />

as super type.<br />

Object typ<strong>es</strong> with inputs and outputs. Those apply a certain transformation<br />

on the inputs and give the r<strong>es</strong>ults on the output. For example, the<br />

computation of a braking-curve or the simple calculation of a sum. All typ<strong>es</strong><br />

in this category use oFunctionBlockIn as super type.<br />

Object typ<strong>es</strong> for storing and r<strong>es</strong>toring data valu<strong>es</strong>. No super type is used<br />

for storag<strong>es</strong>.<br />

Object typ<strong>es</strong> that do not have any inputs and outputs and are not a direct<br />

part of a data flow. No super type is used for special object typ<strong>es</strong>.<br />

85

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

Saved successfully!

Ooh no, something went wrong!