AMW - 20060929 - Major change in the metamodel extensions

New commit (to be evaluated by the users) with an important change in the Model Weaver.

The "subsets" keyword is now deprecated. It is no longer used in KM3 metamodel extensions. This prevents from modifying the base syntax of KM3 metamodels.

From now the weaving metamodels are annotated with the following annotations:

  • -- @subsets annotation before a reference : replaces the subsets keyword. Example:
    	class Model extends WModel {
    
    		-- @subsets wovenModel
    		reference leftModel container : WModelRef;
    		
    	}
    	
    	class Link extends WLink {
    		
    		-- @subsets end
    		reference left container : WLinkEnd;
    		
    	}	
    	
    			
  • -- @welementRefType annotation replaces the "subsets" of ownedElementRef references, because KM3 does not support more than one reference with the same name in a Class hierarchy.
    This way the WElementRef that is related to a given WModelRef is explicility specified.
    	-- @welementRefType ElementRefXMI
    	class ModelRefXMI extends WModelRef {
    	}	
    		
  • -- @wmodelRefType is the opposite of -- @welementRefType.
    	-- @wmodelRefType ModelRef
    	class ElementRefXMI extends WElementRef{
    	}
    		

Note: The previous weaving metamodels are still compatible with this version. However, some visualisation and export facilities are limited.