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.

AGOPPRR to MOF Transformation<br />

Although the selection of the GOPRR meta meta model was well reasoned in Section 3.4,<br />

the proprietary properti<strong>es</strong> of the modelling application MetaEdit+ is an obstacle to the idea<br />

of publishing all generators and artefacts un<strong>der</strong> the principl<strong>es</strong> of FLOSS. Additionally, the<br />

application caus<strong>es</strong> some drawbacks that are not related to the meta meta model.<br />

The usage and integration of MetaEdit+ is adequate for the case study pr<strong>es</strong>ented in this<br />

work, but for further work going beyond a case study it might be nec<strong>es</strong>sary to use an alternative<br />

application. The main problem of using another application is the integration of a new meta<br />

meta model because currently no other meta (meta) modelling application that us<strong>es</strong> GOPRR<br />

is available. Then, most elements would have to be manually redeveloped. Instead, a solution<br />

that obtains a better re-usability by a transformation from GOPPRR to another meta meta<br />

model that has FLOSS tool support could be found.<br />

The most reasonable choice for the new meta meta model is MOF. For example, the Ecore<br />

meta meta model is used in Eclipse for meta modelling and modelling [9]. Fortunately, the<br />

C++ abstract syntax model is already defined as UML class diagram (see Figure 4.4) and us<strong>es</strong><br />

the same syntax as MOF [62][76, pp. 64-71]. Figure 4.4 could also be interpreted as a template<br />

for GOPPRR meta models repr<strong>es</strong>ented in MOF. Concrete GOPPRR elements only have to be<br />

added to the structure by inheriting from their super type 1 for any existing GOPPRR meta<br />

model.<br />

This approach aris<strong>es</strong> the problem that all associations between the GOPPRR elements are<br />

defined between the super typ<strong>es</strong> and are inherited by all concrete typ<strong>es</strong> of the original GOPPRR<br />

meta model. As a consequence, for example, all sub typ<strong>es</strong> of CGraph could have any sub type<br />

of CObject, which is normally not d<strong>es</strong>ired and do<strong>es</strong> not corr<strong>es</strong>pond to a unique transformation.<br />

The redefinition of all associations would be a possible solution. In other words, b<strong>es</strong>id<strong>es</strong> the<br />

associations between the supertyp<strong>es</strong>, all subtyp<strong>es</strong> or rather concrete meta model typ<strong>es</strong> have<br />

the concrete associations to other concrete meta model typ<strong>es</strong>. An example of this strategy was<br />

modelled in Eclipse with EMF and with typ<strong>es</strong> from the case study in Part III and is shown in<br />

Figure A.1.<br />

1 CProject, CGraph, CObject, CProperty, CPort, CRole, CRelationship, CBinding, CConnection, CCall, and<br />

CGraphicalContainer<br />

243

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

Saved successfully!

Ooh no, something went wrong!