## A Light-weight Approach to Developing Interactive Model Transformations

##### Siikarla, Mika (2011)

Siikarla, Mika

Tampere University of Technology

2011

This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.

**Julkaisun pysyvä osoite on**

http://urn.fi/URN:NBN:fi:tty-2011050314661

##### Tiivistelmä

Model-Driven Engineering (MDE) is a software development paradigm that is proposed to increase the efficiency of software development. To realize this goal, the design of the software application and the design-time decisions are captured in models. The models are kept consistent with each other and the source code by model transformations. Designing the modeling languages and specifying, designing and implementing the model transformations are critical tasks in applying MDE successfully.

Applying MDE to the development of a certain type of software is primarily about understanding and defining the process, work practices and methods that are to be used in the development. The input and output information for each phase in the process are defined and suitable modeling languages are selected to express the information. The relationship between the input and the output is defined as a model transformation. The more stable, well-understood and explicitly defined the phases are initially, the easier it is to apply MDE.

A software product line environment is a favourable target for applying MDE. Similar products are being built and have been built before, so the information needed in each phase is understood well. Therefore the model transformations and modeling languages will be quite good from the start and can be expected to change relatively little. The same model transformations are used in the development of multiple products and benefit each of them. The combined gains are enough to justify a large one-time investment into developing high-quality model transformations.

However, developing a unique or a first of its kind software application is a challenge for applying MDE. There is little prior experience and the understanding of the requirements is poor. Therefore, the initial assumptions will be wrong and the model transformations and modeling languages will undergo frequent changes while the understanding gradually grows. Because there is only one application, the gains do not compound and a much smaller investment can be justified. Also, the time spent building model transformations delays the start of the development of the application.

Applying MDE to the development of a certain type of software is primarily about understanding and defining the process, work practices and methods that are to be used in the development. The input and output information for each phase in the process are defined and suitable modeling languages are selected to express the information. The relationship between the input and the output is defined as a model transformation. The more stable, well-understood and explicitly defined the phases are initially, the easier it is to apply MDE.

A software product line environment is a favourable target for applying MDE. Similar products are being built and have been built before, so the information needed in each phase is understood well. Therefore the model transformations and modeling languages will be quite good from the start and can be expected to change relatively little. The same model transformations are used in the development of multiple products and benefit each of them. The combined gains are enough to justify a large one-time investment into developing high-quality model transformations.

However, developing a unique or a first of its kind software application is a challenge for applying MDE. There is little prior experience and the understanding of the requirements is poor. Therefore, the initial assumptions will be wrong and the model transformations and modeling languages will undergo frequent changes while the understanding gradually grows. Because there is only one application, the gains do not compound and a much smaller investment can be justified. Also, the time spent building model transformations delays the start of the development of the application.

##### Kokoelmat

- Väitöskirjat [3876]