UMLX and QVT and ATL - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

UMLX and QVT and ATL

Description:

from descriptions of target capabilities (input) to required target (output) ... Editor inhibits gibberish entry. Errors can be created through DND. 4 May 2006 ... – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 20
Provided by: atlanm
Category:
Tags: atl | qvt | umlx | gibberish | inbuilt

less

Transcript and Presenter's Notes

Title: UMLX and QVT and ATL


1
UMLX and QVT and ATL
Edward D. Willinked_at_willink.me.uk GMT
Consortium www.eclipse.org also Thales Research
and Technology (UK)edwillink_at_iee.org AMMA 2006
2
Outline
  • Transformation vision
  • QVT role
  • Graphical Transformation Notation
  • ATL role
  • UMLX Features
  • UMLX Demo

3
Multi-Transformation Vision
MMx
MMz
MMy
MMa
MMb
MMc
MMd
Mz
Mx
My
Ma
Mb
Mc
Md
  • Automatic deduction of transformation sequence
  • from available resources (input)
  • from descriptions of target capabilities (input)
  • to required target (output)
  • Pursued on OMELET, superseded by MDDI

MzMMz
MxMMx
MyMMy
MaMMa
McMMc
MdMMd
MbMMb
4
Per-Transformation Vision
g1GraphicalTxNotation
g2GraphicalTxNotation
t2TextualTxNotation
t1TextualTxNotation
t2toaT2A
t1toaT2A
g2toaG2A
g1toaG2A
  • Powerful, flexible environment
  • Any textual notation
  • Any graphical notation
  • Fine grained user choice
  • graphics often better for structure
  • text often better for final details

aAbstractTx
atoeA2E
eExecutableTx
5
Existing Programming Practice
MyLanguage
  • 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 Program

MyCGenerator
CProgram
gccCCompiler
Executable
6
Example Future Practice
UMLXGraphicalTxNotation
QVTgGraphicalTxNotation
ATL2TextualTxNotation
QVTrelationTextualTxNotation
  • Abstract TransformationQVTcore
  • transformation transformations
  • QVTrelation (graphical)
  • QVTrelation (textual)
  • ATL 2 (textual)
  • UMLX (graphical)
  • ...
  • 'Executable' Transformation
  • C / Java / ...
  • XSLT
  • ASM

QVTcoreAbstractTx
ExecutableTx
7
Temporary Practice
UMLXGraphicalTxNotation
ATLTextualTxNotation
QVTrelationTextualTxNotation
ATLecoreAbstractTx
FlatATLecoreAbstractTx
  • Waiting for QVT
  • ATL's ASM as Executable TX
  • ATL's Ecore as Abstract Tx
  • UMLX to QVTrelation to ATLecore using NiceXSL
  • ATLecore to FlatATLecore using NiceXSL
  • FlatATLecore to ATL using MOFscript
  • ATL to ASM using ATL tools

ASMExecutableTx
8
UMLX Goal
  • Primary
  • Good quality graphical transformation editor
  • strong error checking/reporting
  • executability
  • Secondary
  • easy interchange with textual notations
  • debugging/...

9
UMLX Features
  • Declarative
  • Strong meta-model compliance
  • DND creation
  • many errors impossible
  • Diagram instantiates a meta-model
  • Text accidentally refers to a meta-model

10
UMLX 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
Meta-Model Editor
12
Book2Publication Relation/Rule
13
Relation 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
UMLX/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 -gt QVT traceability -gt ATL ...
  • UMLX Preservations -gt expanded rules
  • UMLX semantics tied in to Graph Tranaformations

15
Evolution
More Powerful form of ADD and DELETE
  • (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 establishes a unique Book,
    Publication identity
  • No need for multiple diagramscf. primitive
    relations in QVTcf. resolveTemp in ATL

16
Preservation
  • More powerful form of KEEP
  • In-place transformations
  • Refinement/same-meta-model transformations
  • Require a hierarchical copy
  • Cf XSLT's default apply-templates
  • Preservation is a hierachical copy

17
Errors
  • Many cannot exist in a meta-model compliant
    editor
  • Editor inhibits gibberish entry
  • Errors can be created through DND

18
UMLX 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
Demo
Write a Comment
User Comments (0)
About PowerShow.com