[GME-commit] GMESRC/Paradigms/UML UML.xmp,1.4,1.5 UMLMeta.xme,1.1,1.2

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Thu Mar 4 17:01:42 CST 2004


Update of /var/lib/gme/GMESRC/Paradigms/UML
In directory braindrain:/tmp/cvs-serv31257

Modified Files:
	UML.xmp UMLMeta.xme 
Log Message:
Modified Files:
UML.xmp UMLMeta.xme 
	> reinterpreted with MetaGME2004 and exported xme metamodel 


CVS User: zolmol

Index: UML.xmp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/UML/UML.xmp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** UML.xmp	10 Apr 2003 18:47:00 -0000	1.4
--- UML.xmp	4 Mar 2004 23:01:39 -0000	1.5
***************
*** 4,13 ****
  <paradigm name ="UML">
  
!    <comment> Generated by the Meta2000 interpreter </comment>
  
!    <folder name = "RootFolder" metaref = "1000" rootobjects = "ClassDiagram " >
        <constraint type="function" name="allAscendants">
           <![CDATA[method;gme::FCO;visited : ocl::Set;ocl::Set;
! let identity = self.identity() in
  if ( identity.isNull() ) then
     Set{ }
--- 4,13 ----
  <paradigm name ="UML">
  
!    <comment> Generated by the MetaGME2004 interpreter </comment>
  
!    <folder name = "RootFolder" metaref = "1000"  rootobjects = "ClassDiagram" >
        <constraint type="function" name="allAscendants">
           <![CDATA[method;gme::FCO;visited : ocl::Set;ocl::Set;
!          let identity = self.identity() in
  if ( identity.isNull() ) then
     Set{ }
***************
*** 24,30 ****
  endif]]>
        </constraint>
        <constraint type="function" name="allDescendants">
           <![CDATA[method;gme::FCO;visited : ocl::Set;ocl::Set;
! let identity = self.identity() in
  if ( identity.isNull() ) then
     Set{ }
--- 24,40 ----
  endif]]>
        </constraint>
+       <constraint type="function" name="allContexts">
+          <![CDATA[method;Constraint;;ocl::Set;
+          let associates = self.connectedFCOs( "dst", HasConstraint ) -> iterate( obj ; accu = Set{} |
+    if ( obj.identity().isNull() ) then
+       accu
+    else
+       accu.including( obj.identity() )
+    endif ) in
+ associates -> iterate( fco : gme::FCO ; ctxs = Set{} | ctxs.union( fco.allDescendants( Set{} ) ).union( fco.identities() ) )]]>
+       </constraint>
        <constraint type="function" name="allDescendants">
           <![CDATA[method;gme::FCO;visited : ocl::Set;ocl::Set;
!          let identity = self.identity() in
  if ( identity.isNull() ) then
     Set{ }
***************
*** 43,75 ****
        <constraint type="function" name="allImmediateAscendants">
           <![CDATA[method;gme::FCO;;ocl::Set;
! self.identities() -> iterate( id : gme::FCO ; accu = Set{ } | accu + id.ascendants() )]]>
        </constraint>
        <constraint type="function" name="allImmediateDescendants">
           <![CDATA[method;gme::FCO;;ocl::Set;
! self.identities() -> iterate( id : gme::FCO ; accu = Set{ } | accu + id.descendants() )]]>
        </constraint>
        <constraint type="function" name="ascendants">
           <![CDATA[method;gme::FCO;;ocl::Set;
! let operators = self.connectedFCOs( "src", Sub ) in
  operators->iterate( op ; accu = Set{ } | accu + op.connectedFCOs( "src", Base ) )]]>
        </constraint>
        <constraint type="function" name="descendants">
           <![CDATA[method;gme::FCO;;ocl::Set;
! let operators = self.connectedFCOs( "dst", Base ) in
  operators->iterate( op ; accu = Set{ } | accu + op.connectedFCOs( "dst", Sub ) )]]>
        </constraint>
-       <constraint type="function" name="allContexts">
-          <![CDATA[method;Constraint;;ocl::Set;
- let associates = self.connectedFCOs( "dst", HasConstraint ) -> iterate( obj ; accu = Set{} |
-    if ( obj.identity().isNull() ) then
-       accu
-    else
-       accu.including( obj.identity() )
-    endif ) in
- associates -> iterate( fco : gme::FCO ; ctxs = Set{} | ctxs.union( fco.allDescendants( Set{} ) ).union( fco.identities() ) )]]>
-       </constraint>
        <constraint type="function" name="identities">
           <![CDATA[method;gme::FCO;;ocl::Set;
! if ( self.oclIsKindOf( gme::Reference ) ) then
     let fco = self.oclAsType( gme::Reference ).refersTo() in
     if ( fco.isNull() ) then
--- 53,75 ----
        <constraint type="function" name="allImmediateAscendants">
           <![CDATA[method;gme::FCO;;ocl::Set;
!          self.identities() -> iterate( id : gme::FCO ; accu = Set{ } | accu + id.ascendants() )]]>
        </constraint>
        <constraint type="function" name="allImmediateDescendants">
           <![CDATA[method;gme::FCO;;ocl::Set;
!          self.identities() -> iterate( id : gme::FCO ; accu = Set{ } | accu + id.descendants() )]]>
        </constraint>
        <constraint type="function" name="ascendants">
           <![CDATA[method;gme::FCO;;ocl::Set;
!          let operators = self.connectedFCOs( "src", Sub ) in
  operators->iterate( op ; accu = Set{ } | accu + op.connectedFCOs( "src", Base ) )]]>
        </constraint>
        <constraint type="function" name="descendants">
           <![CDATA[method;gme::FCO;;ocl::Set;
!          let operators = self.connectedFCOs( "dst", Base ) in
  operators->iterate( op ; accu = Set{ } | accu + op.connectedFCOs( "dst", Sub ) )]]>
        </constraint>
        <constraint type="function" name="identities">
           <![CDATA[method;gme::FCO;;ocl::Set;
!          if ( self.oclIsKindOf( gme::Reference ) ) then
     let fco = self.oclAsType( gme::Reference ).refersTo() in
     if ( fco.isNull() ) then
***************
*** 84,88 ****
        <constraint type="function" name="identity">
           <![CDATA[method;gme::FCO;;gme::FCO;
! if ( self.oclIsKindOf( gme::Reference ) ) then
     self.oclAsType( gme::Reference ).refersTo()
  else
--- 84,88 ----
        <constraint type="function" name="identity">
           <![CDATA[method;gme::FCO;;gme::FCO;
!          if ( self.oclIsKindOf( gme::Reference ) ) then
     self.oclAsType( gme::Reference ).refersTo()
  else
***************
*** 92,96 ****
        <constraint type="function" name="isCardinalityValid">
           <![CDATA[method;gme::Project;card : string;bool;
! let ws = "[\t ]*" in
  let num = "[0-9][0-9]*" in
  let rng = num + ws + ".." + ws + "(" + num + "|\*)" in
--- 92,96 ----
        <constraint type="function" name="isCardinalityValid">
           <![CDATA[method;gme::Project;card : string;bool;
!          let ws = "[\t ]*" in
  let num = "[0-9][0-9]*" in
  let rng = num + ws + ".." + ws + "(" + num + "|\*)" in
***************
*** 101,149 ****
        <constraint type="function" name="isRoleValid">
           <![CDATA[method;gme::Project;role : string;bool;
! role.trim() <> "" implies role.trim().match( "^[_a-zA-Z][_a-zA-Z0-9]*$" )]]>
        </constraint>
!       <attrdef name="Cardinality" metaref = "1001" valuetype = "string" defvalue = "0..*">
!          <dispname>Cardinality:</dispname>
!       </attrdef>
!       <attrdef name="dstCardinality" metaref = "1002" valuetype = "string" defvalue = "0..*">
!          <dispname>Dst Cardinality:</dispname>
!       </attrdef>
!       <attrdef name="dstRolename" metaref = "1003" valuetype = "string" defvalue = "dst">
!          <dispname>Dst Rolename:</dispname>
!       </attrdef>
!       <attrdef name="srcCardinality" metaref = "1004" valuetype = "string" defvalue = "0..*">
!          <dispname>Src Cardinality:</dispname>
!       </attrdef>
!       <attrdef name="srcRolename" metaref = "1005" valuetype = "string" defvalue = "src">
!          <dispname>Src Rolename:</dispname>
!       </attrdef>
!       <attrdef name="Attributes" metaref = "1006" valuetype = "string" defvalue = "">
           <dispname>Attributes:</dispname>
           <regnode name="multiLine" value = "8"></regnode>
        </attrdef>
!       <attrdef name="ChildRole" metaref = "1007" valuetype = "string" defvalue = "">
           <dispname>Child Role</dispname>
        </attrdef>
!       <attrdef name="ConstraintDescription" metaref = "1008" valuetype = "string" defvalue = "">
           <dispname>Description:</dispname>
        </attrdef>
!       <attrdef name="ConstraintEqn" metaref = "1009" valuetype = "string" defvalue = "">
           <dispname>Equation:</dispname>
           <regnode name="multiLine" value = "8"></regnode>
        </attrdef>
!       <attrdef name="DefinitionEqn" metaref = "1063" valuetype = "string" defvalue = "">
           <dispname>Equation:</dispname>
           <regnode name="multiLine" value = "8"></regnode>
        </attrdef>
!       <attrdef name="DefinitionParamList" metaref = "1064" valuetype = "string" defvalue = "">
           <dispname>Parameter list:</dispname>
        </attrdef>
!       <attrdef name="DefinitionRetType" metaref = "1065" valuetype = "string" defvalue = "">
           <dispname>Return type:</dispname>
        </attrdef>
!       <attrdef name="DefinitionStereo" metaref = "1066" valuetype = "enum" defvalue = "method">
           <dispname>Stereotype:</dispname>
!          <enumitem dispname = "method " value = "method"></enumitem>
!          <enumitem dispname = "attribute " value = "attribute"></enumitem>
        </attrdef>
        <attrdef name="IsAbstract" metaref = "1010" valuetype = "boolean" defvalue = "false">
--- 101,137 ----
        <constraint type="function" name="isRoleValid">
           <![CDATA[method;gme::Project;role : string;bool;
!          role.trim() <> "" implies role.trim().match( "^[_a-zA-Z][_a-zA-Z0-9]*$" )]]>
        </constraint>
!       <attrdef name="Attributes" metaref = "1001" valuetype = "string" defvalue = "">
           <dispname>Attributes:</dispname>
           <regnode name="multiLine" value = "8"></regnode>
        </attrdef>
!       <attrdef name="Cardinality" metaref = "1002" valuetype = "string" defvalue = "0..*">
!          <dispname>Cardinality:</dispname>
!       </attrdef>
!       <attrdef name="ChildRole" metaref = "1003" valuetype = "string" defvalue = "">
           <dispname>Child Role</dispname>
        </attrdef>
!       <attrdef name="ConstraintDescription" metaref = "1004" valuetype = "string" defvalue = "">
           <dispname>Description:</dispname>
        </attrdef>
!       <attrdef name="ConstraintEqn" metaref = "1005" valuetype = "string" defvalue = "">
           <dispname>Equation:</dispname>
           <regnode name="multiLine" value = "8"></regnode>
        </attrdef>
!       <attrdef name="DefinitionEqn" metaref = "1006" valuetype = "string" defvalue = "">
           <dispname>Equation:</dispname>
           <regnode name="multiLine" value = "8"></regnode>
        </attrdef>
!       <attrdef name="DefinitionParamList" metaref = "1007" valuetype = "string" defvalue = "">
           <dispname>Parameter list:</dispname>
        </attrdef>
!       <attrdef name="DefinitionRetType" metaref = "1008" valuetype = "string" defvalue = "">
           <dispname>Return type:</dispname>
        </attrdef>
!       <attrdef name="DefinitionStereo" metaref = "1009" valuetype = "enum" defvalue = "method">
           <dispname>Stereotype:</dispname>
!          <enumitem dispname = "method" value = "method"></enumitem>
!          <enumitem dispname = "attribute" value = "attribute"></enumitem>
        </attrdef>
        <attrdef name="IsAbstract" metaref = "1010" valuetype = "boolean" defvalue = "false">
***************
*** 156,165 ****
           <dispname>Stereotype:</dispname>
        </attrdef>
!       <atom name = "Connector" metaref = "1013" >
!          <dispname>Connector</dispname>
              <regnode name = "namePosition" value ="4"></regnode>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <regnode name = "autorouterPref" value ="SEn"></regnode>
!          <regnode name = "color" value ="0x000000"></regnode>
           <constraint name="HasAssoc" eventmask = "0x1" depth = "0" priority = "2">
              <![CDATA[self.connectedFCOs( AssociationClass ) -> size <> 0]]>
--- 144,195 ----
           <dispname>Stereotype:</dispname>
        </attrdef>
!       <attrdef name="dstCardinality" metaref = "1013" valuetype = "string" defvalue = "0..*">
!          <dispname>Dst Cardinality:</dispname>
!       </attrdef>
!       <attrdef name="dstRolename" metaref = "1014" valuetype = "string" defvalue = "dst">
!          <dispname>Dst Rolename:</dispname>
!       </attrdef>
!       <attrdef name="srcCardinality" metaref = "1015" valuetype = "string" defvalue = "0..*">
!          <dispname>Src Cardinality:</dispname>
!       </attrdef>
!       <attrdef name="srcRolename" metaref = "1016" valuetype = "string" defvalue = "src">
!          <dispname>Src Rolename:</dispname>
!       </attrdef>
!       <atom name = "Class" metaref = "1017"  attributes = "IsAbstract Stereotype Attributes">
!          <dispname></dispname>
!             <regnode name = "namePosition" value ="8"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!          <constraint name="NoInheritanceRecursion" eventmask = "0xc00" depth = "0" priority = "1">
!             <![CDATA[let identity = self.identity() in
! not identity.isNull() implies identity.allAscendants( Set{ } ).excludes( identity )]]>
!             <dispname>Inheritance recursion is not allowed</dispname>
!          </constraint>
!          <constraint name="OnlyOneConnector" eventmask = "0x800" depth = "0" priority = "1">
!             <![CDATA[let assocCount = self.attachingConnections( AssociationClass ) -> size in
! assocCount <> 0 implies assocCount = 1]]>
!             <dispname>Class as AssociationClass can have at most one Connector </dispname>
!          </constraint>
!          <constraint name="UniqueName" eventmask = "0x0" depth = "0" priority = "2">
!             <![CDATA[project.allInstancesOf( Class ) -> select( class | class.name = self.name ) -> size = 1]]>
!             <dispname>Name of a Class must be unique.</dispname>
!          </constraint>
!          <constraint name="ValidName" eventmask = "0x10" depth = "0" priority = "1">
!             <![CDATA[name.trim().match( "^[_a-zA-Z][_a-zA-Z0-9]*$" )]]>
!             <dispname>Format of the name of the Class is invalid</dispname>
!          </constraint>
!          <constraint name="ValidStereotype" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[let st = self.Stereotype.trim() in
! st <> "" implies st.match( "^[_a-zA-Z][_a-zA-Z0-9]*$" )]]>
!             <dispname>Format of Stereotype is invalid.</dispname>
!          </constraint>
!             <regnode name = "icon" value ="class.bmp"></regnode>
!             <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
!       </atom>
!       <atom name = "Connector" metaref = "1018" >
!          <dispname></dispname>
              <regnode name = "namePosition" value ="4"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "autorouterPref" value ="SEn"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
           <constraint name="HasAssoc" eventmask = "0x1" depth = "0" priority = "2">
              <![CDATA[self.connectedFCOs( AssociationClass ) -> size <> 0]]>
***************
*** 192,249 ****
              <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
        </atom>
!       <atom name = "Inheritance" metaref = "1016" >
!          <dispname>Inheritance</dispname>
!             <regnode name = "namePosition" value ="4"></regnode>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <regnode name = "autorouterPref" value ="Sn"></regnode>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <constraint name="HasBase" eventmask = "0x0" depth = "0" priority = "2">
!             <![CDATA[self.connectedFCOs( "src", Base ) -> size <> 0]]>
!             <dispname>Inheritance operator is invalid. It must have a base Class.</dispname>
!          </constraint>
!          <constraint name="HasSub" eventmask = "0x0" depth = "0" priority = "2">
!             <![CDATA[self.connectedFCOs( "dst", Sub ) -> size <> 0]]>
!             <dispname>Inheritance operator is invalid. It must have at least one derived Class.</dispname>
!          </constraint>
!          <constraint name="OnlyOneBase" eventmask = "0x0" depth = "0" priority = "1">
!             <![CDATA[let baseCount = self.attachingConnections( "src", Base ) -> size in
! baseCount <> 0 implies baseCount = 1]]>
!             <dispname>Inheritance operator is invalid. It can have exactly one base Class.</dispname>
!          </constraint>
!             <regnode name = "icon" value ="inheritance.bmp"></regnode>
!             <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
!       </atom>
!       <atom name = "Class" metaref = "1014"  attributes = "IsAbstract Stereotype Attributes">
!          <dispname>Class</dispname>
!             <regnode name = "namePosition" value ="8"></regnode>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <constraint name="OnlyOneConnector" eventmask = "0x800" depth = "0" priority = "1">
!             <![CDATA[let assocCount = self.attachingConnections( AssociationClass ) -> size in
! assocCount <> 0 implies assocCount = 1]]>
!             <dispname>Class as AssociationClass can have at most one Connector </dispname>
!          </constraint>
!          <constraint name="NoInheritanceRecursion" eventmask = "0xc00" depth = "0" priority = "1">
!             <![CDATA[let identity = self.identity() in
! not identity.isNull() implies identity.allAscendants( Set{ } ).excludes( identity )]]>
!             <dispname>Inheritance recursion is not allowed</dispname>
!          </constraint>
!          <constraint name="UniqueName" eventmask = "0x0" depth = "0" priority = "2">
!             <![CDATA[project.allInstancesOf( Class ) -> select( class | class.name = self.name ) -> size = 1]]>
!             <dispname>Name of a Class must be unique.</dispname>
!          </constraint>
!          <constraint name="ValidName" eventmask = "0x10" depth = "0" priority = "1">
!             <![CDATA[name.trim().match( "^[_a-zA-Z][_a-zA-Z0-9]*$" )]]>
!             <dispname>Format of the name of the Class is invalid</dispname>
!          </constraint>
!          <constraint name="ValidStereotype" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[let st = self.Stereotype.trim() in
! st <> "" implies st.match( "^[_a-zA-Z][_a-zA-Z0-9]*$" )]]>
!             <dispname>Format of Stereotype is invalid.</dispname>
!          </constraint>
!             <regnode name = "icon" value ="class.bmp"></regnode>
!             <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
!       </atom>
!       <atom name = "Constraint" metaref = "1015"  attributes = "ConstraintEqn ConstraintDescription">
!          <dispname>Constraint</dispname>
              <regnode name = "namePosition" value ="4"></regnode>
           <constraint name="HasContext" eventmask = "0x0" depth = "0" priority = "1">
--- 222,227 ----
              <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
        </atom>
!       <atom name = "Constraint" metaref = "1019"  attributes = "ConstraintEqn ConstraintDescription">
!          <dispname></dispname>
              <regnode name = "namePosition" value ="4"></regnode>
           <constraint name="HasContext" eventmask = "0x0" depth = "0" priority = "1">
***************
*** 276,281 ****
              <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
        </atom>
!       <atom name = "ConstraintDefinition" metaref = "1067"  attributes = "DefinitionRetType DefinitionStereo DefinitionEqn DefinitionParamList">
!          <dispname>ConstraintDefinition</dispname>
              <regnode name = "namePosition" value ="4"></regnode>
           <constraint name="HasContext" eventmask = "0x0" depth = "0" priority = "1">
--- 254,259 ----
              <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
        </atom>
!       <atom name = "ConstraintDefinition" metaref = "1020"  attributes = "DefinitionRetType DefinitionStereo DefinitionEqn DefinitionParamList">
!          <dispname></dispname>
              <regnode name = "namePosition" value ="4"></regnode>
           <constraint name="HasContext" eventmask = "0x0" depth = "0" priority = "1">
***************
*** 298,328 ****
              <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
        </atom>
!       <reference name = "ClassCopy" metaref = "1017"  attributes = "IsAbstract">
!          <dispname>ClassCopy</dispname>
!             <regnode name = "namePosition" value ="8"></regnode>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <constraint name="OnlyOneConnector" eventmask = "0x800" depth = "0" priority = "1">
!             <![CDATA[let assocCount = self.attachingConnections( AssociationClass ) -> size in
! assocCount <> 0 implies assocCount = 1]]>
!             <dispname>Class as AssociationClass can have at most one Connector </dispname>
           </constraint>
!          <constraint name="NoInheritanceRecursion" eventmask = "0xc00" depth = "0" priority = "1">
!             <![CDATA[let identity = self.identity() in
! not identity.isNull() implies identity.allAscendants( Set{ } ).excludes( identity )]]>
!             <dispname>Inheritance recursion is not allowed</dispname>
           </constraint>
!          <constraint name="NotNull" eventmask = "0x0" depth = "0" priority = "2">
!             <![CDATA[not self.refersTo().isNull()]]>
!             <dispname>A ClassCopy cannot refer to null</dispname>
           </constraint>
!             <regnode name = "icon" value ="classref.bmp"></regnode>
              <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
!          <pointerspec name ="ref">
!             <pointeritem desc = "Class"></pointeritem>
!          </pointerspec>
!       </reference>
!       <connection name = "Association" metaref = "1018"  attributes = "Stereotype dstCardinality dstRolename srcCardinality srcRolename">
!          <dispname>Association</dispname>
!          <regnode name = "color" value ="0x000000"></regnode>
           <constraint name="NotEmptyDstCardinality" eventmask = "0x0" depth = "0" priority = "1">
              <![CDATA[let attr = ( if ( self.kindName = "Dst" ) then "Cardinality" else "dstCardinality" endif ) in
--- 276,312 ----
              <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
        </atom>
!       <atom name = "Inheritance" metaref = "1021" >
!          <dispname></dispname>
!             <regnode name = "namePosition" value ="4"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "autorouterPref" value ="Sn"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!          <constraint name="HasBase" eventmask = "0x0" depth = "0" priority = "2">
!             <![CDATA[self.connectedFCOs( "src", Base ) -> size <> 0]]>
!             <dispname>Inheritance operator is invalid. It must have a base Class.</dispname>
           </constraint>
!          <constraint name="HasSub" eventmask = "0x0" depth = "0" priority = "2">
!             <![CDATA[self.connectedFCOs( "dst", Sub ) -> size <> 0]]>
!             <dispname>Inheritance operator is invalid. It must have at least one derived Class.</dispname>
           </constraint>
!          <constraint name="OnlyOneBase" eventmask = "0x0" depth = "0" priority = "1">
!             <![CDATA[let baseCount = self.attachingConnections( "src", Base ) -> size in
! baseCount <> 0 implies baseCount = 1]]>
!             <dispname>Inheritance operator is invalid. It can have exactly one base Class.</dispname>
           </constraint>
!             <regnode name = "icon" value ="inheritance.bmp"></regnode>
              <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
!       </atom>
!       <connection name = "Association" metaref = "1022" attributes = "Stereotype dstCardinality dstRolename srcCardinality srcRolename" >
!          <dispname></dispname>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "dstStyle" value ="butt"></regnode>
!             <regnode name = "srcStyle" value ="butt"></regnode>
!             <regnode name = "lineType" value ="solid"></regnode>
!             <regnode name= "srcLabel1" value="%srcRolename%"/>
!             <regnode name= "srcLabel2" value="%srcCardinality%"/>
!             <regnode name= "dstLabel1" value="%dstRolename%"/>
!             <regnode name= "dstLabel2" value="%dstCardinality%"/>
           <constraint name="NotEmptyDstCardinality" eventmask = "0x0" depth = "0" priority = "1">
              <![CDATA[let attr = ( if ( self.kindName = "Dst" ) then "Cardinality" else "dstCardinality" endif ) in
***************
*** 358,369 ****
              <dispname>Format of Stereotype is invalid.</dispname>
           </constraint>
-          <regnode name = "color" value ="0x000000"></regnode>
-          <regnode name = "dstStyle" value ="butt"></regnode>
-          <regnode name = "srcStyle" value ="butt"></regnode>
-          <regnode name = "lineType" value ="solid"></regnode>
-          <regnode name= "srcLabel1" value="%srcRolename%"/>
-          <regnode name= "srcLabel2" value="%srcCardinality%"/>
-          <regnode name= "dstLabel1" value="%dstRolename%"/>
-          <regnode name= "dstLabel2" value="%dstCardinality%"/>
           <connjoint>
              <pointerspec name = "src">
--- 342,345 ----
***************
*** 377,387 ****
           </connjoint>
        </connection>
!       <connection name = "AssociationClass" metaref = "1019" >
!          <dispname>AssociationClass</dispname>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <regnode name = "dstStyle" value ="butt"></regnode>
!          <regnode name = "srcStyle" value ="butt"></regnode>
!          <regnode name = "lineType" value ="dash"></regnode>
           <connjoint>
              <pointerspec name = "src">
--- 353,363 ----
           </connjoint>
        </connection>
!       <connection name = "AssociationClass" metaref = "1023" >
!          <dispname></dispname>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "dstStyle" value ="butt"></regnode>
!             <regnode name = "srcStyle" value ="butt"></regnode>
!             <regnode name = "lineType" value ="dash"></regnode>
           <connjoint>
              <pointerspec name = "src">
***************
*** 394,400 ****
           </connjoint>
        </connection>
!       <connection name = "Dst" metaref = "1020"  attributes = "Cardinality dstRolename">
!          <dispname>Dst</dispname>
!          <regnode name = "color" value ="0x000000"></regnode>
           <constraint name="NotEmptyDstCardinality" eventmask = "0x0" depth = "0" priority = "1">
              <![CDATA[let attr = ( if ( self.kindName = "Dst" ) then "Cardinality" else "dstCardinality" endif ) in
--- 370,439 ----
           </connjoint>
        </connection>
!       <connection name = "Base" metaref = "1024" >
!          <dispname></dispname>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "dstStyle" value ="butt"></regnode>
!             <regnode name = "srcStyle" value ="butt"></regnode>
!             <regnode name = "lineType" value ="solid"></regnode>
!          <connjoint>
!             <pointerspec name = "src">
!                <pointeritem desc = "Class"></pointeritem>
!                <pointeritem desc = "ClassCopy"></pointeritem>
!             </pointerspec>
!             <pointerspec name = "dst">
!                <pointeritem desc = "Inheritance"></pointeritem>
!             </pointerspec>
!          </connjoint>
!       </connection>
!       <connection name = "Composition" metaref = "1025" attributes = "ParentRole ChildRole Cardinality" >
!          <dispname></dispname>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "dstStyle" value ="diamond"></regnode>
!             <regnode name = "srcStyle" value ="butt"></regnode>
!             <regnode name = "lineType" value ="solid"></regnode>
!             <regnode name= "srcLabel1" value="%ChildRole%"/>
!             <regnode name= "srcLabel2" value="%Cardinality%"/>
!             <regnode name= "dstLabel1" value="%ParentRole%"/>
!          <constraint name="NotEmptyCardinality" eventmask = "0x0" depth = "0" priority = "1">
!             <![CDATA[self.Cardinality.trim() <> ""]]>
!             <dispname>Cardinality of Composition cannot be empty</dispname>
!          </constraint>
!          <constraint name="ValidCardinality" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[project.isCardinalityValid( self.Cardinality )]]>
!             <dispname>Format of Cardinality is invalid</dispname>
!          </constraint>
!          <constraint name="ValidChildRole" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[project.isRoleValid( self.ChildRole )]]>
!             <dispname>Format of ChildRole is invalid</dispname>
!          </constraint>
!          <constraint name="ValidParentRole" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[project.isRoleValid( self.ParentRole )]]>
!             <dispname>Format of ParentRole is invalid</dispname>
!          </constraint>
!          <attrdef name="Cardinality" metaref = "1026" valuetype = "string" defvalue = "0..*">
!             <dispname>Cardinality:</dispname>
!          </attrdef>
!          <connjoint>
!             <pointerspec name = "src">
!                <pointeritem desc = "Class"></pointeritem>
!                <pointeritem desc = "ClassCopy"></pointeritem>
!             </pointerspec>
!             <pointerspec name = "dst">
!                <pointeritem desc = "Class"></pointeritem>
!                <pointeritem desc = "ClassCopy"></pointeritem>
!             </pointerspec>
!          </connjoint>
!       </connection>
!       <connection name = "Dst" metaref = "1027" attributes = "Cardinality dstRolename" >
!          <dispname></dispname>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "dstStyle" value ="butt"></regnode>
!             <regnode name = "srcStyle" value ="butt"></regnode>
!             <regnode name = "lineType" value ="solid"></regnode>
!             <regnode name= "dstLabel1" value="%dstRolename%"/>
!             <regnode name= "dstLabel2" value="%Cardinality%"/>
           <constraint name="NotEmptyDstCardinality" eventmask = "0x0" depth = "0" priority = "1">
              <![CDATA[let attr = ( if ( self.kindName = "Dst" ) then "Cardinality" else "dstCardinality" endif ) in
***************
*** 411,420 ****
              <dispname>Format of destination Role is invalid</dispname>
           </constraint>
-          <regnode name = "color" value ="0x000000"></regnode>
-          <regnode name = "dstStyle" value ="butt"></regnode>
-          <regnode name = "srcStyle" value ="butt"></regnode>
-          <regnode name = "lineType" value ="solid"></regnode>
-          <regnode name= "dstLabel1" value="%dstRolename%"/>
-          <regnode name= "dstLabel2" value="%Cardinality%"/>
           <connjoint>
              <pointerspec name = "src">
--- 450,453 ----
***************
*** 427,490 ****
           </connjoint>
        </connection>
!       <connection name = "Src" metaref = "1021"  attributes = "Cardinality srcRolename">
!          <dispname>Src</dispname>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <constraint name="NotEmptySrcCardinality" eventmask = "0x0" depth = "0" priority = "1">
!             <![CDATA[let attr = ( if ( self.kindName = "Src" ) then "Cardinality" else "srcCardinality" endif ) in
! self.attribute( attr ).oclAsType( ocl::String ).trim() <> ""]]>
!             <dispname>Source Cardinality cannot be empty</dispname>
!          </constraint>
!          <constraint name="ValidSrcCardinality" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[let attr = ( if ( self.kindName = "Src" ) then "Cardinality" else "srcCardinality" endif ) in
! project.isCardinalityValid( self.attribute( attr ).oclAsType( ocl::String ) )]]>
!             <dispname>Format of source Cardinality is invalid</dispname>
!          </constraint>
!          <constraint name="ValidSrcRole" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[project.isRoleValid( self.srcRolename ) ]]>
!             <dispname>Format of source Role is invalid</dispname>
!          </constraint>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <regnode name = "dstStyle" value ="butt"></regnode>
!          <regnode name = "srcStyle" value ="butt"></regnode>
!          <regnode name = "lineType" value ="solid"></regnode>
!          <regnode name= "srcLabel1" value="%srcRolename%"/>
!          <regnode name= "srcLabel2" value="%Cardinality%"/>
           <connjoint>
              <pointerspec name = "src">
!                <pointeritem desc = "Class"></pointeritem>
!                <pointeritem desc = "ClassCopy"></pointeritem>
              </pointerspec>
              <pointerspec name = "dst">
-                <pointeritem desc = "Connector"></pointeritem>
-             </pointerspec>
-          </connjoint>
-       </connection>
-       <connection name = "Base" metaref = "1025" >
-          <dispname>Base</dispname>
-          <regnode name = "color" value ="0x000000"></regnode>
-          <regnode name = "color" value ="0x000000"></regnode>
-          <regnode name = "dstStyle" value ="butt"></regnode>
-          <regnode name = "srcStyle" value ="butt"></regnode>
-          <regnode name = "lineType" value ="solid"></regnode>
-          <connjoint>
-             <pointerspec name = "src">
                 <pointeritem desc = "Class"></pointeritem>
                 <pointeritem desc = "ClassCopy"></pointeritem>
              </pointerspec>
-             <pointerspec name = "dst">
-                <pointeritem desc = "Inheritance"></pointeritem>
-             </pointerspec>
           </connjoint>
        </connection>
!       <connection name = "Sub" metaref = "1026" >
!          <dispname>Sub</dispname>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <regnode name = "dstStyle" value ="butt"></regnode>
!          <regnode name = "srcStyle" value ="butt"></regnode>
!          <regnode name = "lineType" value ="solid"></regnode>
           <connjoint>
              <pointerspec name = "src">
!                <pointeritem desc = "Inheritance"></pointeritem>
              </pointerspec>
              <pointerspec name = "dst">
--- 460,489 ----
           </connjoint>
        </connection>
!       <connection name = "HasConstraint" metaref = "1028" >
!          <dispname></dispname>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "dstStyle" value ="butt"></regnode>
!             <regnode name = "srcStyle" value ="butt"></regnode>
!             <regnode name = "lineType" value ="solid"></regnode>
           <connjoint>
              <pointerspec name = "src">
!                <pointeritem desc = "Constraint"></pointeritem>
              </pointerspec>
              <pointerspec name = "dst">
                 <pointeritem desc = "Class"></pointeritem>
                 <pointeritem desc = "ClassCopy"></pointeritem>
              </pointerspec>
           </connjoint>
        </connection>
!       <connection name = "HasDefinition" metaref = "1029" >
!          <dispname></dispname>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "dstStyle" value ="butt"></regnode>
!             <regnode name = "srcStyle" value ="butt"></regnode>
!             <regnode name = "lineType" value ="solid"></regnode>
           <connjoint>
              <pointerspec name = "src">
!                <pointeritem desc = "ConstraintDefinition"></pointeritem>
              </pointerspec>
              <pointerspec name = "dst">
***************
*** 494,526 ****
           </connjoint>
        </connection>
!       <connection name = "Composition" metaref = "1022"  attributes = "ParentRole ChildRole Cardinality">
!          <dispname>Composition</dispname>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <constraint name="NotEmptyCardinality" eventmask = "0x0" depth = "0" priority = "1">
!             <![CDATA[self.Cardinality.trim() <> ""]]>
!             <dispname>Cardinality of Composition cannot be empty</dispname>
!          </constraint>
!          <constraint name="ValidCardinality" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[project.isCardinalityValid( self.Cardinality )]]>
!             <dispname>Format of Cardinality is invalid</dispname>
           </constraint>
!          <constraint name="ValidChildRole" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[project.isRoleValid( self.ChildRole )]]>
!             <dispname>Format of ChildRole is invalid</dispname>
           </constraint>
!          <constraint name="ValidParentRole" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[project.isRoleValid( self.ParentRole )]]>
!             <dispname>Format of ParentRole is invalid</dispname>
           </constraint>
-             <attrdef name="Cardinality" metaref = "1023" valuetype = "string" defvalue = "0..*">
-                <dispname>Cardinality:</dispname>
-             </attrdef>
-          <regnode name = "color" value ="0x000000"></regnode>
-          <regnode name = "dstStyle" value ="diamond"></regnode>
-          <regnode name = "srcStyle" value ="butt"></regnode>
-          <regnode name = "lineType" value ="solid"></regnode>
-          <regnode name= "srcLabel1" value="%ChildRole%"/>
-          <regnode name= "srcLabel2" value="%Cardinality%"/>
-          <regnode name= "dstLabel1" value="%ParentRole%"/>
           <connjoint>
              <pointerspec name = "src">
--- 493,519 ----
           </connjoint>
        </connection>
!       <connection name = "Src" metaref = "1030" attributes = "Cardinality srcRolename" >
!          <dispname></dispname>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "dstStyle" value ="butt"></regnode>
!             <regnode name = "srcStyle" value ="butt"></regnode>
!             <regnode name = "lineType" value ="solid"></regnode>
!             <regnode name= "srcLabel1" value="%srcRolename%"/>
!             <regnode name= "srcLabel2" value="%Cardinality%"/>
!          <constraint name="NotEmptySrcCardinality" eventmask = "0x0" depth = "0" priority = "1">
!             <![CDATA[let attr = ( if ( self.kindName = "Src" ) then "Cardinality" else "srcCardinality" endif ) in
! self.attribute( attr ).oclAsType( ocl::String ).trim() <> ""]]>
!             <dispname>Source Cardinality cannot be empty</dispname>
           </constraint>
!          <constraint name="ValidSrcCardinality" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[let attr = ( if ( self.kindName = "Src" ) then "Cardinality" else "srcCardinality" endif ) in
! project.isCardinalityValid( self.attribute( attr ).oclAsType( ocl::String ) )]]>
!             <dispname>Format of source Cardinality is invalid</dispname>
           </constraint>
!          <constraint name="ValidSrcRole" eventmask = "0x1" depth = "0" priority = "1">
!             <![CDATA[project.isRoleValid( self.srcRolename ) ]]>
!             <dispname>Format of source Role is invalid</dispname>
           </constraint>
           <connjoint>
              <pointerspec name = "src">
***************
*** 529,563 ****
              </pointerspec>
              <pointerspec name = "dst">
!                <pointeritem desc = "Class"></pointeritem>
!                <pointeritem desc = "ClassCopy"></pointeritem>
!             </pointerspec>
!          </connjoint>
!       </connection>
!       <connection name = "HasConstraint" metaref = "1024" >
!          <dispname>HasConstraint</dispname>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <regnode name = "dstStyle" value ="butt"></regnode>
!          <regnode name = "srcStyle" value ="butt"></regnode>
!          <regnode name = "lineType" value ="solid"></regnode>
!          <connjoint>
!             <pointerspec name = "src">
!                <pointeritem desc = "Constraint"></pointeritem>
!             </pointerspec>
!             <pointerspec name = "dst">
!                <pointeritem desc = "Class"></pointeritem>
!                <pointeritem desc = "ClassCopy"></pointeritem>
              </pointerspec>
           </connjoint>
        </connection>
!       <connection name = "HasDefinition" metaref = "1068" >
!          <dispname>HasDefinition</dispname>
!          <regnode name = "color" value ="0x000000"></regnode>
!          <regnode name = "dstStyle" value ="butt"></regnode>
!          <regnode name = "srcStyle" value ="butt"></regnode>
!          <regnode name = "lineType" value ="solid"></regnode>
           <connjoint>
              <pointerspec name = "src">
!                <pointeritem desc = "ConstraintDefinition"></pointeritem>
              </pointerspec>
              <pointerspec name = "dst">
--- 522,539 ----
              </pointerspec>
              <pointerspec name = "dst">
!                <pointeritem desc = "Connector"></pointeritem>
              </pointerspec>
           </connjoint>
        </connection>
!       <connection name = "Sub" metaref = "1031" >
!          <dispname></dispname>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!             <regnode name = "dstStyle" value ="butt"></regnode>
!             <regnode name = "srcStyle" value ="butt"></regnode>
!             <regnode name = "lineType" value ="solid"></regnode>
           <connjoint>
              <pointerspec name = "src">
!                <pointeritem desc = "Inheritance"></pointeritem>
              </pointerspec>
              <pointerspec name = "dst">
***************
*** 567,611 ****
           </connjoint>
        </connection>
!       <model name = "ClassDiagram" metaref = "1027" >
!          <dispname>ClassDiagram</dispname>
!          <regnode name = "namePosition" value ="0"></regnode>
!          <role name = "Association" metaref = "1028" kind = "Association"><dispname>Association</dispname></role>
!          <role name = "AssociationClass" metaref = "1029" kind = "AssociationClass"><dispname>AssociationClass</dispname></role>
!          <role name = "Base" metaref = "1030" kind = "Base"><dispname>Base</dispname></role>
!          <role name = "Class" metaref = "1031" kind = "Class"><dispname>Class</dispname></role>
!          <role name = "ClassCopy" metaref = "1032" kind = "ClassCopy"><dispname>ClassCopy</dispname></role>
!          <role name = "Composition" metaref = "1033" kind = "Composition"><dispname>Composition</dispname></role>
!          <role name = "Connector" metaref = "1034" kind = "Connector"><dispname>Connector</dispname></role>
!          <role name = "Constraint" metaref = "1035" kind = "Constraint"><dispname>Constraint</dispname></role>
!          <role name = "ConstraintDefinition" metaref = "1069" kind = "ConstraintDefinition"><dispname>ConstraintDefinition</dispname></role>
!          <role name = "Dst" metaref = "1036" kind = "Dst"><dispname>Dst</dispname></role>
!          <role name = "HasConstraint" metaref = "1037" kind = "HasConstraint"><dispname>HasConstraint</dispname></role>
!          <role name = "HasDefinition" metaref = "1070" kind = "HasDefinition"><dispname>HasDefinition</dispname></role>
!          <role name = "Inheritance" metaref = "1038" kind = "Inheritance"><dispname>Inheritance</dispname></role>
!          <role name = "Src" metaref = "1039" kind = "Src"><dispname>Src</dispname></role>
!          <role name = "Sub" metaref = "1040" kind = "Sub"><dispname>Sub</dispname></role>
!          <aspect name = "UML" metaref = "1041" >
!             <part metaref = "1042" role = "Association" primary = "yes" linked = "no"></part>
!             <part metaref = "1043" role = "AssociationClass" primary = "yes" linked = "no"></part>
!             <part metaref = "1044" role = "Connector" primary = "yes" linked = "no"></part>
!             <part metaref = "1045" role = "Dst" primary = "yes" linked = "no"></part>
!             <part metaref = "1046" role = "Src" primary = "yes" linked = "no"></part>
!             <part metaref = "1047" role = "Class" primary = "yes" linked = "no"></part>
!             <part metaref = "1048" role = "ClassCopy" primary = "yes" linked = "no"></part>
!             <part metaref = "1049" role = "Composition" primary = "yes" linked = "no"></part>
              <part metaref = "1052" role = "Base" primary = "yes" linked = "no"></part>
!             <part metaref = "1053" role = "Inheritance" primary = "yes" linked = "no"></part>
!             <part metaref = "1054" role = "Sub" primary = "yes" linked = "no"></part>
           </aspect>
!          <aspect name = "Constraints" metaref = "1055" >
!             <part metaref = "1056" role = "Class" primary = "no" linked = "no"></part>
!             <part metaref = "1057" role = "ClassCopy" primary = "no" linked = "no"></part>
!             <part metaref = "1058" role = "Base" primary = "no" linked = "no"></part>
!             <part metaref = "1059" role = "Inheritance" primary = "no" linked = "no"></part>
!             <part metaref = "1060" role = "Sub" primary = "no" linked = "no"></part>
!             <part metaref = "1061" role = "Constraint" primary = "yes" linked = "no"></part>
!             <part metaref = "1071" role = "ConstraintDefinition" primary = "yes" linked = "no"></part>
!             <part metaref = "1062" role = "HasConstraint" primary = "yes" linked = "no"></part>
!             <part metaref = "1072" role = "HasDefinition" primary = "yes" linked = "no"></part>
           </aspect>
        </model>
--- 543,611 ----
           </connjoint>
        </connection>
!       <reference name = "ClassCopy" metaref = "1032" attributes = "IsAbstract">
!          <dispname></dispname>
!             <regnode name = "namePosition" value ="8"></regnode>
!             <regnode name = "color" value ="0x000000"></regnode>
!          <constraint name="NoInheritanceRecursion" eventmask = "0xc00" depth = "0" priority = "1">
!             <![CDATA[let identity = self.identity() in
! not identity.isNull() implies identity.allAscendants( Set{ } ).excludes( identity )]]>
!             <dispname>Inheritance recursion is not allowed</dispname>
!          </constraint>
!          <constraint name="NotNull" eventmask = "0x0" depth = "0" priority = "2">
!             <![CDATA[not self.refersTo().isNull()]]>
!             <dispname>A ClassCopy cannot refer to null</dispname>
!          </constraint>
!          <constraint name="OnlyOneConnector" eventmask = "0x800" depth = "0" priority = "1">
!             <![CDATA[let assocCount = self.attachingConnections( AssociationClass ) -> size in
! assocCount <> 0 implies assocCount = 1]]>
!             <dispname>Class as AssociationClass can have at most one Connector </dispname>
!          </constraint>
!          <regnode name = "icon" value ="classref.bmp"></regnode>
!          <regnode name = "decorator" value ="Mga.UMLDecorator"></regnode>
!          <pointerspec name = "ref">
!             <pointeritem desc = "Class"></pointeritem>
!          </pointerspec>
!       </reference>
!       <model name = "ClassDiagram" metaref = "1033" >
!          <dispname></dispname>
!             <regnode name = "namePosition" value ="0"></regnode>
!          <role name = "Association" metaref = "1034" kind = "Association"><dispname>Association</dispname></role>
!          <role name = "AssociationClass" metaref = "1035" kind = "AssociationClass"><dispname>AssociationClass</dispname></role>
!          <role name = "Base" metaref = "1036" kind = "Base"><dispname>Base</dispname></role>
!          <role name = "Class" metaref = "1037" kind = "Class"><dispname>Class</dispname></role>
!          <role name = "ClassCopy" metaref = "1038" kind = "ClassCopy"><dispname>ClassCopy</dispname></role>
!          <role name = "Composition" metaref = "1039" kind = "Composition"><dispname>Composition</dispname></role>
!          <role name = "Connector" metaref = "1040" kind = "Connector"><dispname>Connector</dispname></role>
!          <role name = "Constraint" metaref = "1041" kind = "Constraint"><dispname>Constraint</dispname></role>
!          <role name = "ConstraintDefinition" metaref = "1042" kind = "ConstraintDefinition"><dispname>ConstraintDefinition</dispname></role>
!          <role name = "Dst" metaref = "1043" kind = "Dst"><dispname>Dst</dispname></role>
!          <role name = "HasConstraint" metaref = "1044" kind = "HasConstraint"><dispname>HasConstraint</dispname></role>
!          <role name = "HasDefinition" metaref = "1045" kind = "HasDefinition"><dispname>HasDefinition</dispname></role>
!          <role name = "Inheritance" metaref = "1046" kind = "Inheritance"><dispname>Inheritance</dispname></role>
!          <role name = "Src" metaref = "1047" kind = "Src"><dispname>Src</dispname></role>
!          <role name = "Sub" metaref = "1048" kind = "Sub"><dispname>Sub</dispname></role>
!          <aspect name = "UML" metaref = "1049" >
!             <part metaref = "1050" role = "Association" primary = "yes" linked = "no"></part>
!             <part metaref = "1051" role = "AssociationClass" primary = "yes" linked = "no"></part>
              <part metaref = "1052" role = "Base" primary = "yes" linked = "no"></part>
!             <part metaref = "1053" role = "Class" primary = "yes" linked = "no"></part>
!             <part metaref = "1054" role = "ClassCopy" primary = "yes" linked = "no"></part>
!             <part metaref = "1055" role = "Composition" primary = "yes" linked = "no"></part>
!             <part metaref = "1056" role = "Connector" primary = "yes" linked = "no"></part>
!             <part metaref = "1057" role = "Dst" primary = "yes" linked = "no"></part>
!             <part metaref = "1058" role = "Inheritance" primary = "yes" linked = "no"></part>
!             <part metaref = "1059" role = "Src" primary = "yes" linked = "no"></part>
!             <part metaref = "1060" role = "Sub" primary = "yes" linked = "no"></part>
           </aspect>
!          <aspect name = "Constraints" metaref = "1061" >
!             <part metaref = "1062" role = "Base" primary = "no" linked = "no"></part>
!             <part metaref = "1063" role = "Class" primary = "no" linked = "no"></part>
!             <part metaref = "1064" role = "ClassCopy" primary = "no" linked = "no"></part>
!             <part metaref = "1065" role = "Constraint" primary = "yes" linked = "no"></part>
!             <part metaref = "1066" role = "ConstraintDefinition" primary = "yes" linked = "no"></part>
!             <part metaref = "1067" role = "HasConstraint" primary = "yes" linked = "no"></part>
!             <part metaref = "1068" role = "HasDefinition" primary = "yes" linked = "no"></part>
!             <part metaref = "1069" role = "Inheritance" primary = "no" linked = "no"></part>
!             <part metaref = "1070" role = "Sub" primary = "no" linked = "no"></part>
           </aspect>
        </model>

Index: UMLMeta.xme
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/UML/UMLMeta.xme,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** UMLMeta.xme	2 Oct 2003 08:05:01 -0000	1.1
--- UMLMeta.xme	4 Mar 2004 23:01:39 -0000	1.2
***************
*** 2,6 ****
  <!DOCTYPE project SYSTEM "mga.dtd">
  
! <project guid="{00000000-0000-0000-0000-000000000000}" cdate="Thu Apr 10 13:38:39 2003" mdate="Thu Apr 10 13:46:23 2003" metaguid="{77EC2270-DEAD-BEEF-FEED-DAD000000001}" metaname="MetaGME">
  	<name>UML</name>
  	<comment>Descent into the maelstrom!</comment>
--- 2,6 ----
  <!DOCTYPE project SYSTEM "mga.dtd">
  
! <project guid="{00000000-0000-0000-0000-000000000000}" cdate="Thu Mar 04 16:30:07 2004" mdate="Thu Mar 04 16:30:50 2004" metaguid="{FB9D582C-DEAD-BEEF-FEED-DAD000000001}" metaname="MetaGME">
  	<name>UML</name>
[...13985 lines suppressed...]
! 				<connpoint role="dst" target="id-0066-0000005e"/>
! 			</connection>
! 			<connection id="id-0068-00000072" kind="HasConstraint" role="HasConstraint" relid="0x3d">
! 				<name>HasConstraint</name>
! 				<regnode name="autorouterPref" isopaque="yes">
! 					<value>Ns</value>
! 				</regnode>
! 				<connpoint role="src" target="id-0066-00000046"/>
! 				<connpoint role="dst" target="id-0066-00000047"/>
! 			</connection>
! 			<connection id="id-0068-00000073" kind="DerivedInheritance" role="DerivedInheritance" relid="0x2e">
! 				<name>DerivedInheritance</name>
! 				<regnode name="autorouterPref" isopaque="yes">
! 					<value>Sn</value>
! 				</regnode>
! 				<connpoint role="dst" target="id-0066-00000048"/>
! 				<connpoint role="src" target="id-0066-00000049"/>
! 			</connection>
  		</model>
  	</folder>



More information about the GME-commit mailing list