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.

8.5. Deployment D<strong>es</strong>ign<br />

According to the discussion about security problems caused by platform-specific adaptations<br />

in Chapter 6, implicitly, only direct communication – in form of method calls – from the PIM<br />

to the PSM is allowed to further minimise the possible, malicious influence of platform-specific<br />

adaptations on the PIM. Hence, communication from the PSM to the PIM is only possible<br />

through the D-Bus signalling mechanism [31], which avoids that the adaptors in the PSM have<br />

any knowledge about connected proxi<strong>es</strong> in the PIM.<br />

In contrast to the interface class<strong>es</strong>, the adaptor class<strong>es</strong> cannot be used directly since the<br />

m<strong>es</strong>sag<strong>es</strong> and signals defined in the XML file must be implemented. This implementation<br />

is an often recurring task because the implementation must be adapted for each (hardware)<br />

interface even for simulative implementations for t<strong>es</strong>ting. Therefore, a stub class is provided<br />

for each adaptor class, which methods only have to be extended by class inheritance and<br />

overriding [79]. The stub class<strong>es</strong> are shown in Figure 8.18. Similar to the function block class<strong>es</strong>,<br />

Figure 8.18.: UML class diagram of the adaptor stub class<strong>es</strong><br />

also the corr<strong>es</strong>ponding adaptor stubs, CBaliseDeviceIn, CBaliseDeviceOut, CEmergencyBrake,<br />

CServiceBrake, and COdomoter inherit from QObject to be able to use the Qt 4 signal and<br />

slot mechanism. The class<strong>es</strong> are located within the “PS” 10 package of the openETCS domain<br />

framework package, which means in C++ in the ::oETCS::DF::PS name space. In contrast<br />

to other middleware, like CORBA, adaptor implementations for the Qt 4 D-Bus API are not<br />

done by inheritance from the adaptor class<strong>es</strong> but by an association of the generated adaptor to<br />

a QObject that provid<strong>es</strong> the implementation of the adaptor methods. Thus, th<strong>es</strong>e associations<br />

are not sketched in Figure 8.18.<br />

The UML deployment digram in Figure 8.14 only refers to two library components: One for<br />

the platform independent and the other for the platform specific implementation. Of course,<br />

10 abbreviation: platform specific<br />

147

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

Saved successfully!

Ooh no, something went wrong!