-- @name MTTL extension -- @version 0.9 -- @domains Software product line, request management systems -- @authors Marcos Didonet Del Fabro and Orlando Avila-GarcĂ­a -- @date 2007/03/28 -- @description used to defined an extension of MTTL -- @see http://www.eclipse.org/gmt/amw, http://www.opencanarias.com package mmw_mttl { class TransformationModel extends WModel{ -- name is inherited from Welement attribute type : TransformationType; -- @subsets wovenModel reference featureModel container : MTTLModelRef; -- @subsets wovenModel reference templateModel container : MTTLModelRef; -- @subsets ownedElement reference mappings [*] container : MappingLink; } -- @welementRefType MTTLElementRef class MTTLModelRef extends WModelRef { } -- @wmodelRefType MTTLModelRef class MTTLElementRef extends WElementRef { } -- @wmodelRefType MTTLModelRef class MTTLElementRef extends WElementRef { } abstract class MappingLink extends WLink { attribute exist : Boolean; attribute collection : String; -- @subsets end reference feature container : WovenElement; -- @subsets end reference source container : WovenElement; -- @subsets end reference target container : WovenElement; } class Clear extends MappingLink { } class Remove extends MappingLink { } class Select extends MappingLink { } class Insert extends MappingLink { } class WovenElement extends WLinkEnd { } enumeration TransformationType { literal OVERWRITTING; literal CLONING; } }