200 likes | 343 Views
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;
E N D
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; • Example: Transforming UML class models to XML schemas; • Alternative Space Analysis Activity; • Construction of Transformation Space; • Reduction of Transformation Space;
Basic MDA Concepts • Models: • CIM, PIM, PSM; • Transformations • The MDA Pattern (from “MDA Guide”)
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!
Alternatives Analysis in Current Software Development Processes: RUP
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;
Example UML Source Model We aim at deriving an Extensible XML schema. New specializations of ExamItem are expected.
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’/>
Alternative Space Analysis as part ofthe Synthesis Process Alternative Space Analysis Activity Workflow of the Alternative Space Analysis Activity
Step 1: Constructing Transformation Space 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) • Set of dimensions: one dimension for every (relevant) element from the source model; • A coordinate set for every dimension; 4 x 4 x 5=80 alternatives
Step 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
Step 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;
Set of Alternative Transformations After applying some reduction steps and taking into account the quality properties, two alternative transformations from the space are selected: Dimension Alternative Transformation Coordinate
Conclusions • 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;
Future Work • 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;