UMLX and QVT and ATL


Published on

Presentation on UMLX at the AMMA 2006 workshop

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

UMLX and QVT and ATL

  1. 1. UMLX and QVT and ATLEdward D. Consortiumwww.eclipse.orgalso Thales Research and Technology (UK)edwillink@iee.orgAMMA 2006
  2. 2. 4 May 2006 UMLX and QVT and ATL 2Outline●Transformation vision− QVT role●Graphical Transformation Notation− ATL role●UMLX Features●UMLX Demo
  3. 3. 4 May 2006 UMLX and QVT and ATL 3Multi-Transformation Vision●Automatic deduction of transformation sequence− from available resources (input)− from descriptions of target capabilities (input)− to required target (output)●Pursued on OMELET, superseded by MDDIMa MbMMa MMbMMxin outusesusesMc MdMMc MMdMMzin outMMyusesoutinMx MzMyusesusesusesMa:MMaMb:MMbMc:MMc Md:MMdMx:MMx Mz:MMzMy:MMy
  4. 4. 4 May 2006 UMLX and QVT and ATL 4Per-Transformation VisionPowerful, flexible environmentAny textual notationAny graphical notationFine grained user choicegraphics often better for structuretext often better for final detailsg1:GraphicalTxNotation g2:GraphicalTxNotation t2:TextualTxNotationt1:TextualTxNotationa:AbstractTxe:ExecutableTxatoe:A2Et2toa:T2At1toa:T2Ag2toa:G2Ag1toa:G2A
  5. 5. 4 May 2006 UMLX and QVT and ATL 5Existing Programming Practice●Compiled− .c : Abstract Program●standard representation for all platforms●many different xxx to C translators●many different C compilers− .exe : Executable Program●different representation for each OS/hardware●Interpreted− .class : Abstract and Executable Programgcc:CCompiler:MyCGenerator:Executable:CProgram:MyLanguage
  6. 6. 4 May 2006 UMLX and QVT and ATL 6Example Future PracticeAbstract Transformation:QVTcoretransformation transformationsQVTrelation (graphical)QVTrelation (textual)ATL 2 (textual)UMLX (graphical)...Executable TransformationC / Java / ...XSLTASMUMLX:GraphicalTxNotation QVTg:GraphicalTxNotation ATL2:TextualTxNotationQVTrelation:TextualTxNotationQVTcore:AbstractTx:ExecutableTx
  7. 7. 4 May 2006 UMLX and QVT and ATL 7Temporary PracticeWaiting for QVTATLs ASM as Executable TXATLs Ecore as Abstract TxUMLX to QVTrelation to ATLecore using NiceXSLATLecore to FlatATLecore using NiceXSLFlatATLecore to ATL using MOFscriptATL to ASM using ATL toolsUMLX:GraphicalTxNotation ATL:TextualTxNotationQVTrelation:TextualTxNotationATLecore:AbstractTxASM:ExecutableTxFlatATLecore:AbstractTx
  8. 8. 4 May 2006 UMLX and QVT and ATL 8UMLX Goal●Primary− Good quality graphical transformation editor− strong error checking/reporting− executability●Secondary− easy interchange with textual notations− debugging/...
  9. 9. 4 May 2006 UMLX and QVT and ATL 9UMLX Features●Declarative●Strong meta-model compliance− DND creation− many errors impossible●Diagram instantiates a meta-model●Text accidentally refers to a meta-model
  10. 10. 4 May 2006 UMLX and QVT and ATL 10UMLX Editing●Multi-sheet− no need to use multiple graphics files− no loss of synchronisation between files●Multi-model− more than one meta-model can be edited/used− read-only/locked/read-write access control●Multi-paradigm− meta-models and transformations in same editor●Multi-view− outline view provides Drag and Drop sources− property view supports non-trivial text entry
  11. 11. 4 May 2006 UMLX and QVT and ATL 11Meta-Model Editor
  12. 12. 4 May 2006 UMLX and QVT and ATL 12Book2Publication Relation/Rule
  13. 13. 4 May 2006 UMLX and QVT and ATL 13Relation Editor Example●Domains, Constraints, Class Variables, Evolution●Multiple directly editable text fields●Multiple drag and drop targets●“title” is the name of a Publication attribute− Changes when source changes (inbuilt refactoring)
  14. 14. 4 May 2006 UMLX and QVT and ATL 14UMLX/QVT/ATL Semantics●UMLX, QVT multi-directional, ATL unidirectional− ATL generated by imposing a direction on QVT●OCL the same− ATL deviates from strict OCL 2.0●Transformations similar− ATL weak on concepts of TypedModels●single meta-model●single package per meta-model●Helper functions similar●UMLX, QVT Relations similar to ATL rules− ATL has surprising unless hierarchical rules●Predicates similar●UMLX Evolutions -> QVT traceability -> ATL ...●UMLX Preservations -> expanded rules●UMLX semantics tied in to Graph Tranaformations
  15. 15. 4 May 2006 UMLX and QVT and ATL 15Evolution●(Originally defined unidirectionally)●Now, multi-directional create/delete with traceability●Elements in output domains exist (are created)with respect to (traceable to)Elements in input domains (which are deleted)●From left to right the book2publication evolution establishesa unique {{Book}, {Publication}} identity●No need for multiple diagramscf. primitive relations in QVTcf. resolveTemp in ATLMore Powerful form of ADD and DELETE
  16. 16. 4 May 2006 UMLX and QVT and ATL 16Preservation●More powerful form of KEEP●In-place transformations●Refinement/same-meta-model transformations●Require a hierarchical copy− Cf XSLTs default apply-templates●Preservation is a hierachical copy
  17. 17. 4 May 2006 UMLX and QVT and ATL 17Errors− Many cannot exist in a meta-model compliant editor●Editor inhibits gibberish entry− Errors can be created through DND
  18. 18. 4 May 2006 UMLX and QVT and ATL 18UMLX Status●Phase 1 (2003): GME-based, ideas, overambitious●Phase 2 (2005-2006): Eclipse GEF-based editor●NiceXSL, MOFscript transformations to ATL− (Book2Publication only today - UMLX 0.0.4)− ongoing: broader semantic range●UMLX to QVTrelational to QVTcore to ATL requires fixes to ATL multi model handling●Phase 3 (????): Eclipse GMF-based●better underlying capabilities− ? multi-tabs●better user experience●no fundamental change to UMLX semantics
  19. 19. 4 May 2006 UMLX and QVT and ATL 19Demo