Title: A Synthesis-based Approach to Transformations in an MDA Software Development Process
1- A Synthesis-based Approach to Transformations in
an MDA Software Development Process - Ivan Kurtev, Klaas van den Berg
- University of Twente
2Outline
- 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
3Basic MDA Concepts
- Models
- CIM, PIM, PSM
- Transformations
- The MDA Pattern (from MDA Guide)
4Alternatives in MDA Transformations
5Example UML to XML Schema Transformation
6The 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!
7Alternatives Analysis in Current Software
Development Processes RUP
8RUP Analysis and Design Workflow
9RUP Activities, Steps and Artifacts
10Synthesis-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
11MDA Transformational Problem
12Example
UML Source Model
We aim at deriving an Extensible XML schema. New
specializations of ExamItem are expected.
13Two of many Alternative XML Schemas
ltelement nameexamItemgt ltcomplexTypegt
ltchoicegt ltelement nameopen
type/gt ltelement namemutipleChoice
type/gt lt/choicegt lt/complexTypegt lt/elem
entgt
ltelement nameexamItem
typeexamItemType
abstracttrue/gt .. lt/complexTypegt ltco
mplexType namemultipleChoiceTypegt
ltcomplexContentgt ltextension
baseexamItemTypegt .
lt/extensiongt lt/complexContentgt lt/complexTypegt lt
element namemultipleChoice
typemultipleChoiceType
substitutionGroupexamItem/gt
14Alternative Space Analysis as part ofthe
Synthesis Process
Alternative Space Analysis Activity
Workflow of the Alternative Space Analysis
Activity
15Step 1 Constructing Transformation Space
- Set of dimensions one dimension for every
(relevant) element from the source model - A coordinate set for every dimension
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)
4 x 4 x 580 alternatives
16Step 2 Reducing Transformation Space
after selection
after exclusion
(ExamItem.E or ExamItem.CT) and (Open.E or
Open.CT)
ExamItem_Open.E or ExamItem_Open.Ref
12 alternatives
20 alternatives
17Step 3 Reducing Transformation Space based
onQuality Requirements
- 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
18Set of Alternative Transformations
- After applying some reduction steps and taking
into account the quality properties, two
alternative transformations from the space are
selected
Dimension
N ExamItem Open ExamItem_Open
1 E E E Subst
2 E E CT Der
Alternative Transformation
Coordinate
19Conclusions
- 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
20Future Work
- Study the full synthesis-based process
- Experiments with more complex mappings (not only
11 as in the example) - Experiments with more complex quality models
- Tool support