Sheet 1MDAFA 2003
A Synthesis-based Approach to Transformations in an MDA Software
Development Process
Ivan Kurtev, Klaas van den Berg
University of Twente
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;
Sheet 3MDAFA 2003
Basic MDA Concepts
• Models:– CIM, PIM, PSM;
• Transformations– The MDA Pattern (from “MDA Guide”)
Source Model Transformer Target Model
TransformationSpecification
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
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
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!
Sheet 7MDAFA 2003
Alternatives Analysis in Current Software Development Processes: RUP
Sheet 8MDAFA 2003
RUP: Analysis and Design Workflow
Sheet 9MDAFA 2003
RUP: Activities, Steps and Artifacts
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;
Sheet 11MDAFA 2003
MDA Transformational Problem
Source Model Transformation Target Model
Source MetaModel
Target MetaModel
Instance Of Instance Of
Requirements
Quality Model
Sheet 12MDAFA 2003
Example
We aim at deriving an Extensible XML schema. New specializations of ExamItem are expected.
UML Source Model
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’/>
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
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)
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:
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
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
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
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