-- @name Simple transformation extension -- @version 0.5 -- @domains -- @authors Marcos Didonet Del Fabro -- @date 2007/03/09 -- @description used to defined simple ATL transformations -- @see http://www.eclipse.org/gmt/amw package mmw_qatl { class Module extends WModel{ -- @subsets wovenModel reference inputModels [1-*] container : InModelRef; -- @subsets wovenModel reference outputModels [1-*] container : OutModelRef; -- @subsets ownedElement reference rules [1-*] container : Rule; } -- @welementRefType TransformationElementRef abstract class TModelRef extends WModelRef { } -- @welementRefType TransformationElementRef class InModelRef extends TModelRef { } -- @welementRefType TransformationElementRef class OutModelRef extends TModelRef { } -- @wmodelRefType TModelRef class TransformationElementRef extends WElementRef { } class Rule extends WLink { attribute isAbstract : Boolean; attribute isRefining : Boolean; -- @subsets end reference input container : InputElement; -- @subsets end reference output [1-*] container : OutputElement; } class InputElement extends WLinkEnd { attribute varName : String; reference condition [0-1] container : Expression; } class OutputElement extends WLinkEnd { attribute varName : String; reference bindings [*] container : Binding; } class Binding extends WLink { -- @subsets end reference target container : ReferredElement; -- @subsets end reference source container : ReferredElement; -- @subsets child reference sourceExp container : MappingExpression; } abstract class Expression extends WLink { } class ReferredElement extends WLinkEnd { } abstract class MappingExpression extends WLink { } class OutputLink extends MappingExpression { reference output : OutputElement; } class Concatenation extends MappingExpression { -- @subsets end reference source [1-*] container : ReferredElement; } }