20
Sheet 1 MDAFA 2003 A Synthesis-based Approach to Transformations in an MDA Software Development Process Ivan Kurtev, Klaas van den Berg University of Twente

A Synthesis-based Approach to Transformations in an MDA Software Development Process

  • Upload
    lukas

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

A Synthesis-based Approach to Transformations in an MDA Software Development Process Ivan Kurtev, Klaas van den Berg University of Twente. Outline. Alternative Transformations in MDA; Synthesis-based Software Development Applied to MDA Transformations; - PowerPoint PPT Presentation

Citation preview

Page 1: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 1MDAFA 2003

A Synthesis-based Approach to Transformations in an MDA Software

Development Process

Ivan Kurtev, Klaas van den Berg

University of Twente

Page 2: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 2MDAFA 2003

Outline• Alternative Transformations in MDA;• Synthesis-based Software Development Applied

to MDA Transformations;• Example: Transforming UML class models to

XML schemas;• Alternative Space Analysis Activity;

– Construction of Transformation Space;

– Reduction of Transformation Space;

Page 3: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 3MDAFA 2003

Basic MDA Concepts

• Models:– CIM, PIM, PSM;

• Transformations– The MDA Pattern (from “MDA Guide”)

Source Model Transformer Target Model

TransformationSpecification

Page 4: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 4MDAFA 2003

Alternatives in MDA Transformations

MMAMMB

MA

Instance of

MB

Instance of

MCA MC1B

MC2B

C1A

C2A

C1B

C2B

Level M2

Level M1

Source meta-model

Target meta-model

Source modelTarget alternative

models

Page 5: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 5MDAFA 2003

Example: UML to XML Schema Transformation

Instance of Instance of

ClassElement

Complex Type

C1

C2

El1

CT1

Level M2

Level M1

UML meta-model XML Schema meta-model

a UML model Alternative XML schemas

Page 6: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 6MDAFA 2003

The Problem with AlternativesGeneration and Selection

• Problem 1: Lack of support for identification of alternative transformations– Transformation to the desired model may not always be obvious

and trivial;

• Problem 2: Selection among Alternatives– Alternatives differ in their Quality properties such as Extensibility,

Adaptability, Performance;

• Alternative Transformations Analysis must be addressed explicitly in the MDA software development process!

Page 7: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 7MDAFA 2003

Alternatives Analysis in Current Software Development Processes: RUP

Page 8: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 8MDAFA 2003

RUP: Analysis and Design Workflow

Page 9: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 9MDAFA 2003

RUP: Activities, Steps and Artifacts

Page 10: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 10MDAFA 2003

Synthesis-based SoftwareDevelopment Process

• Unified Process does not address the alternatives analysis problem;

• Synthesis-based Software Development Process;

• Activities in Synthesis-based Process:– Technical Problem Analysis;

– Solution Domain Analysis;

– Alternative Space Analysis;

• We focus on the third activity: Alternative Space Analysis;

Page 11: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 11MDAFA 2003

MDA Transformational Problem

Source Model Transformation Target Model

Source MetaModel

Target MetaModel

Instance Of Instance Of

Requirements

Quality Model

Page 12: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 12MDAFA 2003

Example

We aim at deriving an Extensible XML schema. New specializations of ExamItem are expected.

UML Source Model

Page 13: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 13MDAFA 2003

Two of many Alternative XML Schemas

<element name=’examItem’>

<complexType>

<choice>

<element name=’open’ type=’…’/>

<element name=’mutipleChoice’ type=’…’/>

</choice>

</complexType>

</element>

<element name=’examItem’

type=’examItemType’

abstract=’true’/>

………………..

</complexType>

<complexType name=’multipleChoiceType’>

<complexContent>

<extension base=’examItemType’>

…….

</extension>

</complexContent>

</complexType>

<element name=’multipleChoice’

type=’multipleChoiceType’

substitutionGroup=’examItem’/>

Page 14: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 14MDAFA 2003

Alternative Space Analysis as part ofthe Synthesis Process

Source Model Steps:

1. Constructing TransformationSpace2. Reducing TransformationSpace3. Reducing TransformationSpace on the base of Quality4. Refinement

Source MetaModel

Quality Model

Target MetaModel

Set of AlternativeTransformations

Workflow of the Alternative Space Analysis Activity

Alternative Space Analysis Activity

Page 15: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 15MDAFA 2003

• Set of dimensions: one dimension for every (relevant) element from the source model;

• A coordinate set for every dimension;

Step 1: Constructing Transformation Space

CTCT

E

E

MG

MG

AG

AG

Der

Subst

Cont

Ref

EExamItem

Open

ExamItem_Open

4 x 4 x 5=80 alternatives

CT – Complex Type

E – Element

MG – Model Group

AG – Attribute Group

Der – Derivation

Subst – Substitution

Cont – Containment

Ref – Reference

(Derived from XML Schema Meta-model)

Page 16: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 16MDAFA 2003

Step 2: Reducing Transformation Space

after selection:

CTCT

E

E

MG

MG

AG

AG

Der

Subst

Cont

Ref

E

ExamItem

Open

ExamItem_Open

CTCT

E

E

MG

MG

AG

AG

Der

Subst

Cont

Ref

E

ExamItem

Open

ExamItem_Open

(a) (b)

(ExamItem.E or ExamItem.CT) and (Open.E or Open.CT)

ExamItem_Open.E or ExamItem_Open.Ref

20 alternatives 12 alternatives

after exclusion:

Page 17: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 17MDAFA 2003

• In this example the Quality Model is the model of Extensibility;• Model elements are:

– Extensible (Exts);– Inextensible (InExts);

• Our technique allows merging of quality properties with a transformation space;

Step 3: Reducing Transformation Space based onQuality Requirements

Exts Exts

InExtsInExts

Page 18: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 18MDAFA 2003

Set of Alternative Transformations

After applying some reduction steps and taking into account the quality properties, two alternative transformations from the space are selected:

N … ExamItem Open ExamItem_Open …

1 E E E Subst

2 E E CT Der

Dimension

Alternative Transformation

Coordinate

Page 19: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 19MDAFA 2003

• We presented an Activity of Alternative Space Analysis as a part of Synthesis-based Software Development Process for MDA transformations;

• Transformation Space:– Is NOT a transformer;– Is NOT a transformation specification;

• Not all alternatives in the Transformation Space are explicitly generated;

Conclusions

Page 20: A Synthesis-based Approach to Transformations in an MDA Software Development Process

Sheet 20MDAFA 2003

• Study the full synthesis-based process;• Experiments with more complex mappings (not

only 1:1 as in the example); • Experiments with more complex quality models;• Tool support;

Future Work