13.08.2013 Views

institut f¨ur informatik - PST Thesis Management Interface - LMU

institut f¨ur informatik - PST Thesis Management Interface - LMU

institut f¨ur informatik - PST Thesis Management Interface - LMU

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

2.2. Eclipse Modeling Framework<br />

In the following, some key aspects of the Ecore metamodel (see figure 2.5) will be described.<br />

• An groups related classes together in a package. Thus, EPackages are useful<br />

for structuring large models. When an Ecore model is serialized, the root element<br />

represents a package.<br />

• An models classes themselves. Classes are identified by name and can have a<br />

number of structural features, such as attributes and references. In order to support<br />

inheritance, a class can refer to one or more other classes as its supertypes. Abstraction<br />

is supported through respective EClass properties.<br />

• An is the common base class for EAttributes and EReferences.<br />

Both have a name and a type. EStructuralFeatures represent the components of<br />

an object’s data. They also define the state of an instance of the EClass they are<br />

contained in. Besides name and type, EStructuralFeatures have various properties<br />

that define them closely, such as upper and lower bounds, mutability, uniqueness etc.<br />

• An models the behavioral features of a class only by specifying interfaces<br />

to the operations (an actual behavior implementation can be supplemented through<br />

annotations).<br />

Figure 2.5.: An excerpt from the Ecore metamodel (image adopted from [Ste08]).<br />

EOperation is not displayed in this image.<br />

The structure of a domain model can be defined as an Ecore diagram (in an editor that<br />

is shipped with EMF, see figure 2.6), as XML or XML Schema Definition, as UML and<br />

as annotated Java. In each case EMF creates the corresponding Ecore model, which can<br />

then be used to automatically create model representations in all the other forms as well.<br />

13

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

Saved successfully!

Ooh no, something went wrong!