Model transformation taxonomy feature model
Krzysztof Czarnecki
kczarnec at swen dot uwaterloo dot ca
Oct 2003
Generative Software Development Lab
University of Waterloo
200 University Ave. West, Waterloo, ON, Canada
+1-519-888-4567
http://gsd.uwaterloo.ca/
Krzysztof Czarnecki and Simon Helsen. Classification of model transformation approaches. In Online Proceedings of the 2nd OOPSLA03 Workshop on Generative Techniques in the Context of MDA, Anaheim, Oct 2003
:r Model Transformation
:m Transformation rules
:m LHS/RHS
:o Variables
:g [1,1]
: Untyped
: Syntactically typed
: Semantically typed
:g [1,*]
: Patterns
:m Form
:g [1,1]
: Strings
: Terms
: Graphs
:m Syntax
:g [1,*]
: Abstract
: Concrete
:g [1,*]
: Textual
: Graphical
:m Typing
:g [1,1]
: Untyped (typ_untyped)
: Syntactically typed (typ_syntactically_typed)
: Semantically typed (typ_semantically_typed)
: Logic
:g [1,*]
: Non-executable
: Executable
:g [1,*]
: Imperative
: Declarative
:o LHS/RHS Syntactic Separation
:o Bidirectionality
:o Parameterization
:o Intermediate structures
:o Rule application scoping
:g [1,*]
: Source (scoping_source)
: Target (target_source)
:m Source-Target relationship
:g [1,*]
: New target
: Existing target
:o In-place
:m Update
:g [1,1]
: Destructive
: Extension only
:m Rule application strategy
:g [1,*]
: Deterministic
: Non-deterministic
:g [1,*]
: Concurrent
: One-point
: Interactive
:m Rule scheduling
:m Form
:g [1,*]
: Implicit
: Explicit
:g [1,1]
: Internal
: External
:m Rule selection
:g [1,*]
: Explicit condition
: Non-determinism
: Conflict resolution
: Interactive
:o Rule Iteration
:g [1,1]
: Recursion
: Looping
: Fixpoint Iteration
:o Phasing
:m Rule organization
:o Modulatiry mechanisms
:o Reuse mechanisms
:g [1,*]
: Inheritance
: Logical composition
:m Organizational Structure
:g [1,1]
: Source-oriented
: Target-oriented
: Independent
:m Tracing
:o Dedicated support
:m Storage location
:g [1,1]
: Model
:g [1,*]
: Source (model_source)
: Target (model_target)
: Separate
:m Control
:g [1,1]
: Manual
: Automatic
:g [1,1]
: All rules
: Selected rules
:m Directionality
:g [1,*]
: Unidirectional
: Bidirectional
:g [1,1]
: Bidirectional rules
: Complementary pairs