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.1. Model-Driven Software Development<br />

The software component example given earlier in this section reflects this nature in a small<br />

scope: a general-purpose modeling language, UML, was used to create a specific modeling<br />

language intended to model simple AUTOSAR software components.<br />

DSLs can help bridge the gap between the problem and the solution domains: they allow<br />

solutions to be expressed in terms of problem domain entities and at the level of abstraction<br />

of the problem domain [FR07]. This makes it possible for domain experts to not only use<br />

DSLs, but also understand, validate and develop the language themselves, while not having<br />

to be concerned with implementation details at lower abstraction levels [vDKV00]. Thus,<br />

DSLs offer abstraction qualities that are necessary to express models in MDSD.<br />

Model transformation<br />

Model transformations are used to transform models that were initially conceived for some<br />

purpose into models that are better suited for other purposes while maintaining model traceability.<br />

Maintaining model traceability means keeping the transformed models consistent and<br />

the relationship between them traceable [FR07, HT06]. A typical example is the transformation<br />

from a technology-independent, high-level abstraction model to a technology-specific,<br />

low-level abstraction model that features specific data instead.<br />

Model transformations require a model as one of the inputs in the automation process and<br />

one or more models and/or different levels of executable code as output. Different types of<br />

transformations exist which can be classified as follows: [BCT05]<br />

• Refactoring transformations reorganize a model based on well-defined criteria. The<br />

output is a revision of the original model - the refactored model.<br />

• Model-to-model transformations convert information from one or more models to<br />

another model or a number of models. The goal is usually to convert information at<br />

one abstraction level to a different abstraction level. This type of transformation can<br />

also have other purposes that are specific to certain issues within the problem domain<br />

- such a transformation is the subject of this thesis (see section 4.1.1).<br />

• Model-to-code transformations convert model elements into program code and are<br />

often the final transformation that is performed.<br />

Transformations can be applied both manually and automatically [BCT05]. In a manual<br />

transformation, a developer or a domain expert analyzes the input model and manually<br />

creates or modifies the elements in the transformed model by interpreting the information<br />

in the original model. Automatic transformations apply a series of changes to a single or<br />

a number of input models based on predefined transformation rules. The rules can be provided<br />

by a tool used to perform the transformations or can be manually tailored based on<br />

domain-specific knowledge. Utilizing automatic transformation requires the input model to<br />

be syntactically and semantically well-formed. Combined, semi-automatic approaches where<br />

the automation process requires manual input in order to produce a correct transformation<br />

are possible, too (see sections 2.3.2 and 4.1.1).<br />

9

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

Saved successfully!

Ooh no, something went wrong!