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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

9.3. Structural D<strong>es</strong>ign<br />

Since the UML packag<strong>es</strong> are mapped for the implementation to C++ name spac<strong>es</strong>, those can<br />

be directly found in the generator C++ implementation.<br />

9.3. Structural D<strong>es</strong>ign<br />

As for the openETCS domain framework in Section 8.3, the class<strong>es</strong> defined by the use cas<strong>es</strong><br />

in the prior section have to be transferred to a structural d<strong>es</strong>ign. In contrast to the domain<br />

framework, most parts of the generator application are <strong>es</strong>pecially developed for the openETCS<br />

meta model, which mainly ren<strong>der</strong>s the re-usability 1 , in most class<strong>es</strong>, impossible. Thus, the<br />

definition of a sophisticated object-oriented d<strong>es</strong>ign pattern [32] is here not required and may<br />

even cause unnec<strong>es</strong>sary workload. Figure 9.2 introduc<strong>es</strong> the structural d<strong>es</strong>ign for the generator<br />

application. The d<strong>es</strong>ign details are discussed in groups of the surrounding packag<strong>es</strong> in the next<br />

Figure 9.2.: UML class diagram openETCS generator application<br />

paragraphs.<br />

GEN The openETCS generator class<strong>es</strong> do not provide a special software d<strong>es</strong>ign pattern. Only,<br />

CGenerator is used as base class for all concrete generator class<strong>es</strong> to provide operations and<br />

attribut<strong>es</strong> needed for each generator and to define abstract operations [64, 79], which have to<br />

be implemented. This could be interpreted as a composite d<strong>es</strong>ign pattern [32, pp. 163-173],<br />

but since CMain only us<strong>es</strong> compositions of the concrete generator class<strong>es</strong>, it is not. CMain<br />

combin<strong>es</strong> all generator class<strong>es</strong> and provid<strong>es</strong> an operation, which can be called by the mainfunction<br />

[79] of the generator application. Furthermore, it has a composition m_Lexer to<br />

1 for other meta models<br />

163

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

Saved successfully!

Ooh no, something went wrong!