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
Sheet 2 MDAFA 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 3 MDAFA 2003 Basic MDA Concepts Models: –CIM, PIM, PSM; Transformations –The MDA Pattern (from “MDA Guide”)
Sheet 4 MDAFA 2003 Alternatives in MDA Transformations
Sheet 5 MDAFA 2003 Example: UML to XML Schema Transformation
Sheet 6 MDAFA 2003 The Problem with Alternatives Generation 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 7 MDAFA 2003 Alternatives Analysis in Current Software Development Processes: RUP
Sheet 8 MDAFA 2003 RUP: Analysis and Design Workflow
Sheet 9 MDAFA 2003 RUP: Activities, Steps and Artifacts
Sheet 10 MDAFA 2003 Synthesis-based Software Development 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 11 MDAFA 2003 MDA Transformational Problem
Sheet 12 MDAFA 2003 Example We aim at deriving an Extensible XML schema. New specializations of ExamItem are expected. UML Source Model
Sheet 13 MDAFA 2003 Two of many Alternative XML Schemas <element name=’examItem’ type=’examItemType’ abstract=’true’/> ……………….. ……. <element name=’multipleChoice’ type=’multipleChoiceType’ substitutionGroup=’examItem’/>
Sheet 14 MDAFA 2003 Alternative Space Analysis as part of the Synthesis Process Workflow of the Alternative Space Analysis Activity Alternative Space Analysis Activity
Sheet 15 MDAFA 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 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 16 MDAFA 2003 Step 2: Reducing Transformation Space after selection: (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 17 MDAFA 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 on Quality Requirements
Sheet 18 MDAFA 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…ExamItemOpenExamItem_Open… 1 EEESubst 2 EECTDer Dimension Alternative Transformation Coordinate
Sheet 19 MDAFA 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 20 MDAFA 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