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.
8.5. Deployment D<strong>es</strong>ign<br />
DriverMachineInterfaceMOC<br />
PlatformSpecificClientsMOC<br />
Storage<br />
Condition<br />
Transition<br />
Configuration<br />
DBusInterfac<strong>es</strong><br />
DBusAdaptors<br />
Holds the implementation of the concrete DMI Qt 4 observer<br />
CDMIQWidget.<br />
Includ<strong>es</strong> all source code for acc<strong>es</strong>sing the platform-specific<br />
extensions for COdomoter, CEmergencyBrake, CServiceBrake,<br />
CBaliseDeviceIn, and CBaliseDeviceOut. For t<strong>es</strong>ting<br />
purpos<strong>es</strong> without platform-specific adaptations, also a stub 8<br />
implementation is provided for each class.<br />
Source code of the CStorage class. It is provided in a separated<br />
artefact because it is used by several other artefacts like<br />
EVCStateMachine and Language.<br />
Source code of the CCondition class, which is also provided<br />
in a separated class due to multiple dependenci<strong>es</strong>.<br />
Source code of the CCondition class, which is separated for<br />
the same reasons as for CCondition and CStorage.<br />
Provid<strong>es</strong> type definitions and global constants for the whole<br />
domain framework.<br />
Holds the source code for all D-Bus interfac<strong>es</strong> [31] for platform<br />
specific class<strong>es</strong>.<br />
Provid<strong>es</strong> the source code for all D-Bus adaptors [31] for platform<br />
specific class<strong>es</strong>. The usage and integration of D-Bus [31]<br />
will be additionally discussed at a later point of this section.<br />
AdaptorStubsMOC Source code of all stubs class<strong>es</strong> for D-Bus adaptors. For<br />
concrete platform-specific adaptations, those should be used<br />
or rather implemented by class inheritance [79].<br />
All source artefacts with the postfix “MOC” in their name require the usage of Qt 4’s meta<br />
object compiler (moc) [59].<br />
As each library component is located in another execution environment r<strong>es</strong>pectively another<br />
virtual machine, a middleware for IPC communication has to be used (see Req.8), which was<br />
partly discussed in Subsection 6.2.4. For this purpose D-Bus is employed, which was also<br />
introduced in Subsection 6.2.4. The D-Bus daemon [31] is executed directly on the EVC and<br />
therefore enabl<strong>es</strong> the communication between both execution environments but only through<br />
defined interfac<strong>es</strong> (see Chapter 6). Details about this interconnection are shown in Figure 8.15<br />
as UML component diagram [64].<br />
The interfac<strong>es</strong> required by the libopenETCSPIM component are IEmergencyBrake, IOdomoter,<br />
IServiceBrake, IBaliseDeviceIn, and IBaliseDeviceOut. Those define the interfac<strong>es</strong><br />
that have to be implemented by suppliers of hardware components defined in the ETCS SRS.<br />
8 empty<br />
143