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.

3.1. Meta Meta Models<br />

additional syntax for the meta meta model has to be inv<strong>es</strong>tigated for un<strong>der</strong>standing it. In<br />

other words, UML is the meta model and MOF the meta meta model. This grants a high<br />

duality between software d<strong>es</strong>ign and meta model.<br />

MOF can be generally divided in EMOF (Essential MOF) [60], which specifi<strong>es</strong> the <strong>es</strong>sential<br />

elements of MOF, and CMOF (Complete MOF) [60], which holds all available MOF elements.<br />

Due to the complexity of CMOF, only EMOF is explained here, beginning with all general<br />

EMOF typ<strong>es</strong> in Figure 3.6.<br />

Element<br />

<br />

NamedElement<br />

<br />

name : String<br />

annotatedElement<br />

0...*<br />

ownedComment<br />

0...*<br />

TypedElement<br />

<br />

type<br />

0...1<br />

Type<br />

<br />

Comment<br />

body : String<br />

Figure 3.6.: EMOF typ<strong>es</strong><br />

Element is the most general and abstract base class for any element in MOF. It holds a set of<br />

comments (ownedComment).<br />

NamedElement is the abstract base class for all elements with an additional, internal name.<br />

Hence, it has the attribute name.<br />

Type is the abstract super class for all class<strong>es</strong> and data typ<strong>es</strong>.<br />

TypedElement is the abstract base class for all typified elements.<br />

Comment is used for commenting any element. Thus, it provid<strong>es</strong> the attribute body, in which<br />

the literal comment is stored. It has an aggregation to its poss<strong>es</strong>sing element (element).<br />

All class<strong>es</strong> marked with are abstract class<strong>es</strong> [79], which generally means they<br />

cannot be instantiated directly, only by generalisation / inheritance [62, 79].<br />

Furthermore, EMOF provid<strong>es</strong> the possibility of modelling data typ<strong>es</strong>. Figure 3.7 introduc<strong>es</strong><br />

the relations between the built-in data typ<strong>es</strong>. New elements are:<br />

DataType is the general class for all data typ<strong>es</strong>.<br />

PrimitiveType is a class for all primitive data typ<strong>es</strong>.<br />

25

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

Saved successfully!

Ooh no, something went wrong!