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.

Chapter 8. openETCS Domain Framework<br />

Figure 8.23.: UML class diagram of the openETCS domain framework exception typ<strong>es</strong><br />

It inherits from the ::std::exception class to provide easier collection of error information,<br />

<strong>es</strong>pecially during the implementation and t<strong>es</strong>ting cycl<strong>es</strong>, because their content is automatically<br />

printed (to the console) in cas<strong>es</strong> of an uncaught exception. The concrete domain framework<br />

exception typ<strong>es</strong> are:<br />

CMath Mathematical errors, e.g. a division by 0.<br />

CInput<br />

CInternal<br />

CUnknown<br />

Errors due to (false) input valu<strong>es</strong> in CFunctionBlock objects outside the definition<br />

space.<br />

Internal error in a CFunctionBlock object typically related to an error in a<br />

hardware component.<br />

Errors for which no category can be determined. This exception should never<br />

occur, but also must be included to ensure all error cas<strong>es</strong> are included.<br />

All openETCS domain framework exception class<strong>es</strong> are located in the ::oECTS::DF::Error<br />

C++ name space.<br />

8.7. Verification<br />

According to Req.5, the verification of the openETCS domain framework is an important issue<br />

because it covers most of the source code used for the EVC implementation. Not only to ensure<br />

the correctn<strong>es</strong>s of the implementation, but also to ensure the correct execution on a target<br />

platform, t<strong>es</strong>ts are used. Since the domain framework is implemented in an object-oriented<br />

manner, unit t<strong>es</strong>ts [6] are implemented. In general, unit t<strong>es</strong>ting focuss<strong>es</strong> on the individual units<br />

of the source code to be t<strong>es</strong>ted. For object-oriented programming languag<strong>es</strong>, like C++, those<br />

units are typically defined as the methods of class<strong>es</strong>, but this not explicitly required.<br />

156

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

Saved successfully!

Ooh no, something went wrong!