[Mobies-commit] [commit] r3960 - in UDM/trunk: etc include src/UdmBase src/Uml

endre at redhat1.isis.vanderbilt.edu endre at redhat1.isis.vanderbilt.edu
Mon Nov 21 04:08:09 CST 2011


Author: endre
Date: Mon Nov 21 04:08:09 2011
New Revision: 3960

Log:
Regenerate Uml and UdmProject.

Modified:
   UDM/trunk/etc/UdmProject.xsd
   UDM/trunk/etc/Uml.xsd
   UDM/trunk/include/UdmProject.h
   UDM/trunk/include/Uml.h
   UDM/trunk/src/UdmBase/UdmProject.cpp
   UDM/trunk/src/UdmBase/UdmProject_xsd.h
   UDM/trunk/src/Uml/Uml.cpp
   UDM/trunk/src/Uml/Uml.h
   UDM/trunk/src/Uml/Uml.xsd
   UDM/trunk/src/Uml/Uml_xsd.h

Modified: UDM/trunk/etc/UdmProject.xsd
==============================================================================
--- UDM/trunk/etc/UdmProject.xsd	Mon Nov 21 04:01:53 2011	(r3959)
+++ UDM/trunk/etc/UdmProject.xsd	Mon Nov 21 04:08:09 2011	(r3960)
@@ -3,7 +3,7 @@
 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified" 
 >
-<!-- generated on Mon May 02 10:02:17 2011 -->
+<!-- generated on Mon Nov 21 10:43:35 2011 -->
 
 
 	<xsd:complexType name="DatanetworkType">

Modified: UDM/trunk/etc/Uml.xsd
==============================================================================
--- UDM/trunk/etc/Uml.xsd	Mon Nov 21 04:01:53 2011	(r3959)
+++ UDM/trunk/etc/Uml.xsd	Mon Nov 21 04:08:09 2011	(r3960)
@@ -3,19 +3,15 @@
 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified" 
 >
-<!-- generated on Sat May 20 20:40:10 2006 -->
+<!-- generated on Mon Nov 21 10:42:57 2011 -->
 
 
-	<xsd:complexType name="AttributeType">
-		<xsd:attribute name="name" type="xsd:string" use="required"/>
-		<xsd:attribute name="type" type="xsd:string" use="required"/>
-		<xsd:attribute name="defvalue" type="xsd:string"/>
-		<xsd:attribute name="min" type="xsd:long" use="required"/>
+	<xsd:complexType name="CompositionChildRoleType">
 		<xsd:attribute name="max" type="xsd:long" use="required"/>
-		<xsd:attribute name="visibility" type="xsd:string" default="public"/>
-		<xsd:attribute name="ordered" type="xsd:boolean" default="false"/>
-		<xsd:attribute name="nonpersistent" type="xsd:boolean" default="false"/>
-		<xsd:attribute name="registry" type="xsd:boolean" default="false"/>
+		<xsd:attribute name="min" type="xsd:long" use="required"/>
+		<xsd:attribute name="isNavigable" type="xsd:boolean" default="true"/>
+		<xsd:attribute name="name" type="xsd:string"/>
+		<xsd:attribute name="target" type="xsd:IDREF" use="required"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
 		<xsd:attribute name="_derived" type="xsd:IDREFS"/>
@@ -25,12 +21,10 @@
 		<xsd:attribute name="_subtype" type="xsd:boolean"/>
 	</xsd:complexType>
 
-	<xsd:complexType name="ConstraintDefinitionType">
-		<xsd:attribute name="stereotype" type="xsd:string" default="method"/>
-		<xsd:attribute name="name" type="xsd:string" use="required"/>
-		<xsd:attribute name="parameterList" type="xsd:string"/>
-		<xsd:attribute name="expression" type="xsd:string" use="required"/>
-		<xsd:attribute name="returnType" type="xsd:string" use="required"/>
+	<xsd:complexType name="CompositionParentRoleType">
+		<xsd:attribute name="isNavigable" type="xsd:boolean" default="true"/>
+		<xsd:attribute name="name" type="xsd:string"/>
+		<xsd:attribute name="target" type="xsd:IDREF" use="required"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
 		<xsd:attribute name="_derived" type="xsd:IDREFS"/>
@@ -40,10 +34,15 @@
 		<xsd:attribute name="_subtype" type="xsd:boolean"/>
 	</xsd:complexType>
 
-	<xsd:complexType name="ConstraintType">
-		<xsd:attribute name="description" type="xsd:string"/>
-		<xsd:attribute name="name" type="xsd:string" use="required"/>
-		<xsd:attribute name="expression" type="xsd:string" use="required"/>
+	<xsd:complexType name="AssociationRoleType">
+		<xsd:attribute name="isNavigable" type="xsd:boolean" default="true"/>
+		<xsd:attribute name="name" type="xsd:string"/>
+		<xsd:attribute name="max" type="xsd:long" use="required"/>
+		<xsd:attribute name="min" type="xsd:long" use="required"/>
+		<xsd:attribute name="isPrimary" type="xsd:boolean" default="false"/>
+		<xsd:attribute name="rp_helper_user" type="xsd:IDREF"/>
+		<xsd:attribute name="rp_helper" type="xsd:IDREF"/>
+		<xsd:attribute name="target" type="xsd:IDREF" use="required"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
 		<xsd:attribute name="_derived" type="xsd:IDREFS"/>
@@ -64,12 +63,12 @@
 		<xsd:attribute name="stereotype" type="xsd:string"/>
 		<xsd:attribute name="name" type="xsd:string" use="required"/>
 		<xsd:attribute name="from" type="xsd:string"/>
-		<xsd:attribute name="baseTypes" type="xsd:IDREFS"/>
-		<xsd:attribute name="subTypes" type="xsd:IDREFS"/>
-		<xsd:attribute name="association" type="xsd:IDREF"/>
-		<xsd:attribute name="associationRoles" type="xsd:IDREFS"/>
-		<xsd:attribute name="parentRoles" type="xsd:IDREFS"/>
 		<xsd:attribute name="childRoles" type="xsd:IDREFS"/>
+		<xsd:attribute name="parentRoles" type="xsd:IDREFS"/>
+		<xsd:attribute name="associationRoles" type="xsd:IDREFS"/>
+		<xsd:attribute name="association" type="xsd:IDREF"/>
+		<xsd:attribute name="subTypes" type="xsd:IDREFS"/>
+		<xsd:attribute name="baseTypes" type="xsd:IDREFS"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
 		<xsd:attribute name="_derived" type="xsd:IDREFS"/>
@@ -79,13 +78,15 @@
 		<xsd:attribute name="_subtype" type="xsd:boolean"/>
 	</xsd:complexType>
 
-	<xsd:complexType name="NamespaceType">
+	<xsd:complexType name="DiagramType">
 		<xsd:sequence>
 			<xsd:element name="Association" type="AssociationType" minOccurs="0" maxOccurs="unbounded"/>
 			<xsd:element name="Class" type="ClassType" minOccurs="0" maxOccurs="unbounded"/>
 			<xsd:element name="Composition" type="CompositionType" minOccurs="0" maxOccurs="unbounded"/>
 			<xsd:element name="Namespace" type="NamespaceType" minOccurs="0" maxOccurs="unbounded"/>
+			<xsd:element name="Diagram" type="DiagramType" minOccurs="0" maxOccurs="unbounded"/>
 		</xsd:sequence>
+		<xsd:attribute name="version" type="xsd:string"/>
 		<xsd:attribute name="name" type="xsd:string" use="required"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
@@ -94,15 +95,17 @@
 		<xsd:attribute name="_desynched_atts" type="xsd:string"/>
 		<xsd:attribute name="_real_archetype" type="xsd:boolean"/>
 		<xsd:attribute name="_subtype" type="xsd:boolean"/>
+		<xsd:attribute name="_libname" type="xsd:string"/>
 	</xsd:complexType>
 
-	<xsd:complexType name="CompositionType">
+	<xsd:complexType name="AssociationType">
 		<xsd:sequence>
-			<xsd:element name="CompositionChildRole" type="CompositionChildRoleType"/>
-			<xsd:element name="CompositionParentRole" type="CompositionParentRoleType"/>
+			<xsd:element name="AssociationRole" type="AssociationRoleType" minOccurs="0" maxOccurs="unbounded"/>
+			<xsd:element name="TaggedValue" type="TaggedValueType" minOccurs="0" maxOccurs="unbounded"/>
 		</xsd:sequence>
 		<xsd:attribute name="nonpersistent" type="xsd:boolean" default="false"/>
 		<xsd:attribute name="name" type="xsd:string"/>
+		<xsd:attribute name="assocClass" type="xsd:IDREF"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
 		<xsd:attribute name="_derived" type="xsd:IDREFS"/>
@@ -112,9 +115,13 @@
 		<xsd:attribute name="_subtype" type="xsd:boolean"/>
 	</xsd:complexType>
 
-	<xsd:complexType name="TaggedValueType">
-		<xsd:attribute name="value" type="xsd:string"/>
-		<xsd:attribute name="name" type="xsd:string" use="required"/>
+	<xsd:complexType name="CompositionType">
+		<xsd:sequence>
+			<xsd:element name="CompositionChildRole" type="CompositionChildRoleType"/>
+			<xsd:element name="CompositionParentRole" type="CompositionParentRoleType"/>
+		</xsd:sequence>
+		<xsd:attribute name="nonpersistent" type="xsd:boolean" default="false"/>
+		<xsd:attribute name="name" type="xsd:string"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
 		<xsd:attribute name="_derived" type="xsd:IDREFS"/>
@@ -124,14 +131,14 @@
 		<xsd:attribute name="_subtype" type="xsd:boolean"/>
 	</xsd:complexType>
 
-	<xsd:complexType name="AssociationType">
+	<xsd:complexType name="NamespaceType">
 		<xsd:sequence>
-			<xsd:element name="AssociationRole" type="AssociationRoleType" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="TaggedValue" type="TaggedValueType" minOccurs="0" maxOccurs="unbounded"/>
+			<xsd:element name="Association" type="AssociationType" minOccurs="0" maxOccurs="unbounded"/>
+			<xsd:element name="Class" type="ClassType" minOccurs="0" maxOccurs="unbounded"/>
+			<xsd:element name="Composition" type="CompositionType" minOccurs="0" maxOccurs="unbounded"/>
+			<xsd:element name="Namespace" type="NamespaceType" minOccurs="0" maxOccurs="unbounded"/>
 		</xsd:sequence>
-		<xsd:attribute name="nonpersistent" type="xsd:boolean" default="false"/>
-		<xsd:attribute name="name" type="xsd:string"/>
-		<xsd:attribute name="assocClass" type="xsd:IDREF"/>
+		<xsd:attribute name="name" type="xsd:string" use="required"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
 		<xsd:attribute name="_derived" type="xsd:IDREFS"/>
@@ -141,13 +148,9 @@
 		<xsd:attribute name="_subtype" type="xsd:boolean"/>
 	</xsd:complexType>
 
-	<xsd:complexType name="AssociationRoleType">
-		<xsd:attribute name="isNavigable" type="xsd:boolean" default="true"/>
-		<xsd:attribute name="name" type="xsd:string"/>
-		<xsd:attribute name="max" type="xsd:long" use="required"/>
-		<xsd:attribute name="min" type="xsd:long" use="required"/>
-		<xsd:attribute name="isPrimary" type="xsd:boolean" default="false"/>
-		<xsd:attribute name="target" type="xsd:IDREF" use="required"/>
+	<xsd:complexType name="TaggedValueType">
+		<xsd:attribute name="value" type="xsd:string"/>
+		<xsd:attribute name="name" type="xsd:string" use="required"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
 		<xsd:attribute name="_derived" type="xsd:IDREFS"/>
@@ -157,10 +160,12 @@
 		<xsd:attribute name="_subtype" type="xsd:boolean"/>
 	</xsd:complexType>
 
-	<xsd:complexType name="CompositionParentRoleType">
-		<xsd:attribute name="isNavigable" type="xsd:boolean" default="true"/>
-		<xsd:attribute name="name" type="xsd:string"/>
-		<xsd:attribute name="target" type="xsd:IDREF" use="required"/>
+	<xsd:complexType name="ConstraintDefinitionType">
+		<xsd:attribute name="stereotype" type="xsd:string" default="method"/>
+		<xsd:attribute name="name" type="xsd:string" use="required"/>
+		<xsd:attribute name="parameterList" type="xsd:string"/>
+		<xsd:attribute name="expression" type="xsd:string" use="required"/>
+		<xsd:attribute name="returnType" type="xsd:string" use="required"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
 		<xsd:attribute name="_derived" type="xsd:IDREFS"/>
@@ -170,12 +175,16 @@
 		<xsd:attribute name="_subtype" type="xsd:boolean"/>
 	</xsd:complexType>
 
-	<xsd:complexType name="CompositionChildRoleType">
-		<xsd:attribute name="isNavigable" type="xsd:boolean" default="true"/>
-		<xsd:attribute name="name" type="xsd:string"/>
-		<xsd:attribute name="max" type="xsd:long" use="required"/>
+	<xsd:complexType name="AttributeType">
+		<xsd:attribute name="name" type="xsd:string" use="required"/>
+		<xsd:attribute name="type" type="xsd:string" use="required"/>
+		<xsd:attribute name="defvalue" type="xsd:string"/>
 		<xsd:attribute name="min" type="xsd:long" use="required"/>
-		<xsd:attribute name="target" type="xsd:IDREF" use="required"/>
+		<xsd:attribute name="max" type="xsd:long" use="required"/>
+		<xsd:attribute name="visibility" type="xsd:string" default="public"/>
+		<xsd:attribute name="ordered" type="xsd:boolean" default="false"/>
+		<xsd:attribute name="nonpersistent" type="xsd:boolean" default="false"/>
+		<xsd:attribute name="registry" type="xsd:boolean" default="false"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
 		<xsd:attribute name="_derived" type="xsd:IDREFS"/>
@@ -185,15 +194,10 @@
 		<xsd:attribute name="_subtype" type="xsd:boolean"/>
 	</xsd:complexType>
 
-	<xsd:complexType name="DiagramType">
-		<xsd:sequence>
-			<xsd:element name="Association" type="AssociationType" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="Class" type="ClassType" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="Composition" type="CompositionType" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="Namespace" type="NamespaceType" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-		<xsd:attribute name="version" type="xsd:string"/>
+	<xsd:complexType name="ConstraintType">
+		<xsd:attribute name="description" type="xsd:string"/>
 		<xsd:attribute name="name" type="xsd:string" use="required"/>
+		<xsd:attribute name="expression" type="xsd:string" use="required"/>
 		<xsd:attribute name="_id" type="xsd:ID"/>
 		<xsd:attribute name="_archetype" type="xsd:IDREF"/>
 		<xsd:attribute name="_derived" type="xsd:IDREFS"/>

Modified: UDM/trunk/include/UdmProject.h
==============================================================================
--- UDM/trunk/include/UdmProject.h	Mon Nov 21 04:01:53 2011	(r3959)
+++ UDM/trunk/include/UdmProject.h	Mon Nov 21 04:08:09 2011	(r3960)
@@ -2,16 +2,16 @@
 #define MOBIES_UDMPROJECT_H
 
 // header file UdmProject.h generated from diagram UdmProject
-// generated with Udm version 3.27 on Mon May 02 10:02:17 2011
+// generated with Udm version 3.29 on Mon Nov 21 10:43:35 2011
 
 #include <UdmBase.h>
 
 #if !defined(UDM_VERSION_MAJOR) || !defined(UDM_VERSION_MINOR)
 #    error "Udm headers too old, they do not define UDM_VERSION"
 #elif UDM_VERSION_MAJOR < 3
-#    error "Udm headers too old, minimum version required 3.27"
-#elif UDM_VERSION_MAJOR == 3 && UDM_VERSION_MINOR < 27
-#    error "Udm headers too old, minimum version required 3.27"
+#    error "Udm headers too old, minimum version required 3.29"
+#elif UDM_VERSION_MAJOR == 3 && UDM_VERSION_MINOR < 29
+#    error "Udm headers too old, minimum version required 3.29"
 #endif
 
 #include <Uml.h>
@@ -33,35 +33,37 @@
 
 	void Initialize();
 
-	extern Udm::UdmDiagram diagram;
+	extern  ::Udm::UdmDiagram diagram;
 
-	class Datanetwork : public Udm::Object {
+	class Datanetwork : public ::Udm::Object {
 	public:
-		Datanetwork() {}
-		Datanetwork(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Datanetwork(const Datanetwork &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Datanetwork(Datanetwork &&master) : UDM_OBJECT(master) {}
-
-		static Datanetwork Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Datanetwork& operator=(Datanetwork &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Datanetwork Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Datanetwork Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Datanetwork CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Datanetwork> Instances() { return Udm::InstantiatedAttr<Datanetwork>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Datanetwork, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Datanetwork, Pred>(impl); }
-		Datanetwork CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Datanetwork> Derived() { return Udm::DerivedAttr<Datanetwork>(impl); }
-		template <class Pred> Udm::DerivedAttr<Datanetwork, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Datanetwork, Pred>(impl); }
-		Udm::ArchetypeAttr<Datanetwork> Archetype() const { return Udm::ArchetypeAttr<Datanetwork>(impl); }
-		Udm::StringAttr metaDgr() const { return Udm::StringAttr(impl, meta_metaDgr); }
-		Udm::StringAttr systemname() const { return Udm::StringAttr(impl, meta_systemname); }
-		Udm::StringAttr metalocator() const { return Udm::StringAttr(impl, meta_metalocator); }
-		Udm::ParentAttr< ::UdmProject::Project> cross_associations_Project_parent() const { return Udm::ParentAttr< ::UdmProject::Project>(impl, meta_cross_associations_Project_parent); }
-		Udm::ParentAttr< ::UdmProject::Project> instances_Project_parent() const { return Udm::ParentAttr< ::UdmProject::Project>(impl, meta_instances_Project_parent); }
-		Udm::ParentAttr< ::UdmProject::Project> crosslinks_Project_parent() const { return Udm::ParentAttr< ::UdmProject::Project>(impl, meta_crosslinks_Project_parent); }
-		Udm::ParentAttr< ::UdmProject::Project> parent() const { return Udm::ParentAttr< ::UdmProject::Project>(impl, Udm::NULLPARENTROLE); }
+		Datanetwork();
+		Datanetwork(::Udm::ObjectImpl *impl);
+		Datanetwork(const Datanetwork &master);
+
+#ifdef UDM_RVALUE
+		Datanetwork(Datanetwork &&master);
+
+		static Datanetwork Cast(::Udm::Object &&a);
+		Datanetwork& operator=(Datanetwork &&a);
+
+#endif
+		static Datanetwork Cast(const ::Udm::Object &a);
+		static Datanetwork Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Datanetwork CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Datanetwork> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Datanetwork, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Datanetwork, Pred>(impl); };
+		Datanetwork CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Datanetwork> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Datanetwork, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Datanetwork, Pred>(impl); };
+		::Udm::ArchetypeAttr< Datanetwork> Archetype() const;
+		::Udm::StringAttr metaDgr() const;
+		::Udm::StringAttr systemname() const;
+		::Udm::StringAttr metalocator() const;
+		::Udm::ParentAttr< ::UdmProject::Project> cross_associations_Project_parent() const;
+		::Udm::ParentAttr< ::UdmProject::Project> instances_Project_parent() const;
+		::Udm::ParentAttr< ::UdmProject::Project> crosslinks_Project_parent() const;
+		::Udm::ParentAttr< ::UdmProject::Project> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_metaDgr;
@@ -73,34 +75,36 @@
 
 	};
 
-	class Project : public Udm::Object {
+	class Project : public ::Udm::Object {
 	public:
-		Project() {}
-		Project(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Project(const Project &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Project(Project &&master) : UDM_OBJECT(master) {}
-
-		static Project Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Project& operator=(Project &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Project Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Project Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Project CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Project> Instances() { return Udm::InstantiatedAttr<Project>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Project, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Project, Pred>(impl); }
-		Project CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Project> Derived() { return Udm::DerivedAttr<Project>(impl); }
-		template <class Pred> Udm::DerivedAttr<Project, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Project, Pred>(impl); }
-		Udm::ArchetypeAttr<Project> Archetype() const { return Udm::ArchetypeAttr<Project>(impl); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::ChildAttr< ::UdmProject::Datanetwork> cross_associations() const { return Udm::ChildAttr< ::UdmProject::Datanetwork>(impl, meta_cross_associations); }
-		Udm::ChildrenAttr< ::UdmProject::Datanetwork> instances() const { return Udm::ChildrenAttr< ::UdmProject::Datanetwork>(impl, meta_instances); }
-		template <class Pred> Udm::ChildrenAttr< ::UdmProject::Datanetwork, Pred> instances_sorted(const Pred &) const { return Udm::ChildrenAttr< ::UdmProject::Datanetwork, Pred>(impl, meta_instances); }
-		Udm::ChildAttr< ::UdmProject::Datanetwork> crosslinks() const { return Udm::ChildAttr< ::UdmProject::Datanetwork>(impl, meta_crosslinks); }
-		Udm::ChildrenAttr< ::UdmProject::Datanetwork> Datanetwork_kind_children() const { return Udm::ChildrenAttr< ::UdmProject::Datanetwork>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::UdmProject::Datanetwork, Pred> Datanetwork_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::UdmProject::Datanetwork, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ParentAttr<Udm::Object> parent() const { return Udm::ParentAttr<Udm::Object>(impl, Udm::NULLPARENTROLE); }
+		Project();
+		Project(::Udm::ObjectImpl *impl);
+		Project(const Project &master);
+
+#ifdef UDM_RVALUE
+		Project(Project &&master);
+
+		static Project Cast(::Udm::Object &&a);
+		Project& operator=(Project &&a);
+
+#endif
+		static Project Cast(const ::Udm::Object &a);
+		static Project Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Project CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Project> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Project, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Project, Pred>(impl); };
+		Project CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Project> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Project, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Project, Pred>(impl); };
+		::Udm::ArchetypeAttr< Project> Archetype() const;
+		::Udm::StringAttr name() const;
+		::Udm::ChildAttr< ::UdmProject::Datanetwork> cross_associations() const;
+		::Udm::ChildrenAttr< ::UdmProject::Datanetwork> instances() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::UdmProject::Datanetwork, Pred> instances_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::UdmProject::Datanetwork, Pred>(impl, meta_instances); };
+		::Udm::ChildAttr< ::UdmProject::Datanetwork> crosslinks() const;
+		::Udm::ChildrenAttr< ::UdmProject::Datanetwork> Datanetwork_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::UdmProject::Datanetwork, Pred> Datanetwork_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::UdmProject::Datanetwork, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ParentAttr< ::Udm::Object> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_name;

Modified: UDM/trunk/include/Uml.h
==============================================================================
--- UDM/trunk/include/Uml.h	Mon Nov 21 04:01:53 2011	(r3959)
+++ UDM/trunk/include/Uml.h	Mon Nov 21 04:08:09 2011	(r3960)
@@ -2,16 +2,16 @@
 #define MOBIES_UML_H
 
 // header file Uml.h generated from diagram Uml
-// generated with Udm version 3.27 on Mon May 02 10:03:39 2011
+// generated with Udm version 3.29 on Mon Nov 21 10:42:57 2011
 
 #include <UdmBase.h>
 
 #if !defined(UDM_VERSION_MAJOR) || !defined(UDM_VERSION_MINOR)
 #    error "Udm headers too old, they do not define UDM_VERSION"
 #elif UDM_VERSION_MAJOR < 3
-#    error "Udm headers too old, minimum version required 3.27"
-#elif UDM_VERSION_MAJOR == 3 && UDM_VERSION_MINOR < 27
-#    error "Udm headers too old, minimum version required 3.27"
+#    error "Udm headers too old, minimum version required 3.29"
+#elif UDM_VERSION_MAJOR == 3 && UDM_VERSION_MINOR < 29
+#    error "Udm headers too old, minimum version required 3.29"
 #endif
 
 #include <Uml.h>
@@ -46,31 +46,33 @@
 
 	UDM_DLL void Initialize();
 
-	extern UDM_DLL Udm::UdmDiagram diagram;
+	extern UDM_DLL  ::Udm::UdmDiagram diagram;
 
-	class UDM_DLL GenericRole : public Udm::Object {
+	class UDM_DLL GenericRole : public ::Udm::Object {
 	public:
-		GenericRole() {}
-		GenericRole(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		GenericRole(const GenericRole &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		GenericRole(GenericRole &&master) : UDM_OBJECT(master) {}
-
-		static GenericRole Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		GenericRole& operator=(GenericRole &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static GenericRole Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static GenericRole Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		GenericRole CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<GenericRole> Instances() { return Udm::InstantiatedAttr<GenericRole>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<GenericRole, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<GenericRole, Pred>(impl); }
-		GenericRole CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<GenericRole> Derived() { return Udm::DerivedAttr<GenericRole>(impl); }
-		template <class Pred> Udm::DerivedAttr<GenericRole, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<GenericRole, Pred>(impl); }
-		Udm::ArchetypeAttr<GenericRole> Archetype() const { return Udm::ArchetypeAttr<GenericRole>(impl); }
-		Udm::BooleanAttr isNavigable() const { return Udm::BooleanAttr(impl, meta_isNavigable); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::ParentAttr<Udm::Object> parent() const { return Udm::ParentAttr<Udm::Object>(impl, Udm::NULLPARENTROLE); }
+		GenericRole();
+		GenericRole(::Udm::ObjectImpl *impl);
+		GenericRole(const GenericRole &master);
+
+#ifdef UDM_RVALUE
+		GenericRole(GenericRole &&master);
+
+		static GenericRole Cast(::Udm::Object &&a);
+		GenericRole& operator=(GenericRole &&a);
+
+#endif
+		static GenericRole Cast(const ::Udm::Object &a);
+		static GenericRole Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		GenericRole CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< GenericRole> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< GenericRole, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< GenericRole, Pred>(impl); };
+		GenericRole CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< GenericRole> Derived();
+		template <class Pred> ::Udm::DerivedAttr< GenericRole, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< GenericRole, Pred>(impl); };
+		::Udm::ArchetypeAttr< GenericRole> Archetype() const;
+		::Udm::BooleanAttr isNavigable() const;
+		::Udm::StringAttr name() const;
+		::Udm::ParentAttr< ::Udm::Object> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_isNavigable;
@@ -80,28 +82,30 @@
 
 	class UDM_DLL CompositionChildRole :  public GenericRole {
 	public:
-		CompositionChildRole() {}
-		CompositionChildRole(Udm::ObjectImpl *impl) : GenericRole(impl) {}
-		CompositionChildRole(const CompositionChildRole &master) : GenericRole(master) {}
-		#ifdef UDM_RVALUE
-		CompositionChildRole(CompositionChildRole &&master) : GenericRole(master) {}
-
-		static CompositionChildRole Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		CompositionChildRole& operator=(CompositionChildRole &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static CompositionChildRole Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static CompositionChildRole Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		CompositionChildRole CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<CompositionChildRole> Instances() { return Udm::InstantiatedAttr<CompositionChildRole>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<CompositionChildRole, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<CompositionChildRole, Pred>(impl); }
-		CompositionChildRole CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<CompositionChildRole> Derived() { return Udm::DerivedAttr<CompositionChildRole>(impl); }
-		template <class Pred> Udm::DerivedAttr<CompositionChildRole, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<CompositionChildRole, Pred>(impl); }
-		Udm::ArchetypeAttr<CompositionChildRole> Archetype() const { return Udm::ArchetypeAttr<CompositionChildRole>(impl); }
-		Udm::IntegerAttr max() const { return Udm::IntegerAttr(impl, meta_max); }
-		Udm::IntegerAttr min() const { return Udm::IntegerAttr(impl, meta_min); }
-		Udm::PointerAttr< Class> target() const { return Udm::PointerAttr< Class>(impl, meta_target); }
-		Udm::ParentAttr< ::Uml::Composition> parent() const { return Udm::ParentAttr< ::Uml::Composition>(impl, meta_parent); }
+		CompositionChildRole();
+		CompositionChildRole(::Udm::ObjectImpl *impl);
+		CompositionChildRole(const CompositionChildRole &master);
+
+#ifdef UDM_RVALUE
+		CompositionChildRole(CompositionChildRole &&master);
+
+		static CompositionChildRole Cast(::Udm::Object &&a);
+		CompositionChildRole& operator=(CompositionChildRole &&a);
+
+#endif
+		static CompositionChildRole Cast(const ::Udm::Object &a);
+		static CompositionChildRole Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		CompositionChildRole CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< CompositionChildRole> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< CompositionChildRole, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< CompositionChildRole, Pred>(impl); };
+		CompositionChildRole CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< CompositionChildRole> Derived();
+		template <class Pred> ::Udm::DerivedAttr< CompositionChildRole, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< CompositionChildRole, Pred>(impl); };
+		::Udm::ArchetypeAttr< CompositionChildRole> Archetype() const;
+		::Udm::IntegerAttr max() const;
+		::Udm::IntegerAttr min() const;
+		::Udm::PointerAttr< Class> target() const;
+		::Udm::ParentAttr< ::Uml::Composition> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_max;
@@ -113,26 +117,28 @@
 
 	class UDM_DLL CompositionParentRole :  public GenericRole {
 	public:
-		CompositionParentRole() {}
-		CompositionParentRole(Udm::ObjectImpl *impl) : GenericRole(impl) {}
-		CompositionParentRole(const CompositionParentRole &master) : GenericRole(master) {}
-		#ifdef UDM_RVALUE
-		CompositionParentRole(CompositionParentRole &&master) : GenericRole(master) {}
-
-		static CompositionParentRole Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		CompositionParentRole& operator=(CompositionParentRole &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static CompositionParentRole Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static CompositionParentRole Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		CompositionParentRole CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<CompositionParentRole> Instances() { return Udm::InstantiatedAttr<CompositionParentRole>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<CompositionParentRole, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<CompositionParentRole, Pred>(impl); }
-		CompositionParentRole CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<CompositionParentRole> Derived() { return Udm::DerivedAttr<CompositionParentRole>(impl); }
-		template <class Pred> Udm::DerivedAttr<CompositionParentRole, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<CompositionParentRole, Pred>(impl); }
-		Udm::ArchetypeAttr<CompositionParentRole> Archetype() const { return Udm::ArchetypeAttr<CompositionParentRole>(impl); }
-		Udm::PointerAttr< Class> target() const { return Udm::PointerAttr< Class>(impl, meta_target); }
-		Udm::ParentAttr< ::Uml::Composition> parent() const { return Udm::ParentAttr< ::Uml::Composition>(impl, meta_parent); }
+		CompositionParentRole();
+		CompositionParentRole(::Udm::ObjectImpl *impl);
+		CompositionParentRole(const CompositionParentRole &master);
+
+#ifdef UDM_RVALUE
+		CompositionParentRole(CompositionParentRole &&master);
+
+		static CompositionParentRole Cast(::Udm::Object &&a);
+		CompositionParentRole& operator=(CompositionParentRole &&a);
+
+#endif
+		static CompositionParentRole Cast(const ::Udm::Object &a);
+		static CompositionParentRole Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		CompositionParentRole CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< CompositionParentRole> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< CompositionParentRole, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< CompositionParentRole, Pred>(impl); };
+		CompositionParentRole CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< CompositionParentRole> Derived();
+		template <class Pred> ::Udm::DerivedAttr< CompositionParentRole, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< CompositionParentRole, Pred>(impl); };
+		::Udm::ArchetypeAttr< CompositionParentRole> Archetype() const;
+		::Udm::PointerAttr< Class> target() const;
+		::Udm::ParentAttr< ::Uml::Composition> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::AssociationRole meta_target;
@@ -142,31 +148,33 @@
 
 	class UDM_DLL AssociationRole :  public GenericRole {
 	public:
-		AssociationRole() {}
-		AssociationRole(Udm::ObjectImpl *impl) : GenericRole(impl) {}
-		AssociationRole(const AssociationRole &master) : GenericRole(master) {}
-		#ifdef UDM_RVALUE
-		AssociationRole(AssociationRole &&master) : GenericRole(master) {}
-
-		static AssociationRole Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		AssociationRole& operator=(AssociationRole &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static AssociationRole Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static AssociationRole Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		AssociationRole CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<AssociationRole> Instances() { return Udm::InstantiatedAttr<AssociationRole>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<AssociationRole, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<AssociationRole, Pred>(impl); }
-		AssociationRole CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<AssociationRole> Derived() { return Udm::DerivedAttr<AssociationRole>(impl); }
-		template <class Pred> Udm::DerivedAttr<AssociationRole, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<AssociationRole, Pred>(impl); }
-		Udm::ArchetypeAttr<AssociationRole> Archetype() const { return Udm::ArchetypeAttr<AssociationRole>(impl); }
-		Udm::IntegerAttr max() const { return Udm::IntegerAttr(impl, meta_max); }
-		Udm::IntegerAttr min() const { return Udm::IntegerAttr(impl, meta_min); }
-		Udm::BooleanAttr isPrimary() const { return Udm::BooleanAttr(impl, meta_isPrimary); }
-		Udm::PointerAttr< AssociationRole> rp_helper() const { return Udm::PointerAttr< AssociationRole>(impl, meta_rp_helper); }
-		Udm::PointerAttr< AssociationRole> rp_helper_user() const { return Udm::PointerAttr< AssociationRole>(impl, meta_rp_helper_user); }
-		Udm::PointerAttr< Class> target() const { return Udm::PointerAttr< Class>(impl, meta_target); }
-		Udm::ParentAttr< ::Uml::Association> parent() const { return Udm::ParentAttr< ::Uml::Association>(impl, meta_parent); }
+		AssociationRole();
+		AssociationRole(::Udm::ObjectImpl *impl);
+		AssociationRole(const AssociationRole &master);
+
+#ifdef UDM_RVALUE
+		AssociationRole(AssociationRole &&master);
+
+		static AssociationRole Cast(::Udm::Object &&a);
+		AssociationRole& operator=(AssociationRole &&a);
+
+#endif
+		static AssociationRole Cast(const ::Udm::Object &a);
+		static AssociationRole Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		AssociationRole CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< AssociationRole> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< AssociationRole, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< AssociationRole, Pred>(impl); };
+		AssociationRole CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< AssociationRole> Derived();
+		template <class Pred> ::Udm::DerivedAttr< AssociationRole, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< AssociationRole, Pred>(impl); };
+		::Udm::ArchetypeAttr< AssociationRole> Archetype() const;
+		::Udm::IntegerAttr max() const;
+		::Udm::IntegerAttr min() const;
+		::Udm::BooleanAttr isPrimary() const;
+		::Udm::PointerAttr< AssociationRole> rp_helper() const;
+		::Udm::PointerAttr< AssociationRole> rp_helper_user() const;
+		::Udm::PointerAttr< Class> target() const;
+		::Udm::ParentAttr< ::Uml::Association> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_max;
@@ -179,59 +187,61 @@
 
 	};
 
-	class UDM_DLL Class : public Udm::Object {
+	class UDM_DLL Class : public ::Udm::Object {
 	public:
-		Class() {}
-		Class(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Class(const Class &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Class(Class &&master) : UDM_OBJECT(master) {}
-
-		static Class Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Class& operator=(Class &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Class Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Class Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Class CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Class> Instances() { return Udm::InstantiatedAttr<Class>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Class, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Class, Pred>(impl); }
-		Class CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Class> Derived() { return Udm::DerivedAttr<Class>(impl); }
-		template <class Pred> Udm::DerivedAttr<Class, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Class, Pred>(impl); }
-		Udm::ArchetypeAttr<Class> Archetype() const { return Udm::ArchetypeAttr<Class>(impl); }
-		Udm::BooleanAttr isAbstract() const { return Udm::BooleanAttr(impl, meta_isAbstract); }
-		Udm::StringAttr stereotype() const { return Udm::StringAttr(impl, meta_stereotype); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::StringAttr from() const { return Udm::StringAttr(impl, meta_from); }
-		Udm::AssocAttr< CompositionChildRole> childRoles() const { return Udm::AssocAttr< CompositionChildRole>(impl, meta_childRoles); }
-		template <class Pred> Udm::AssocAttr< CompositionChildRole, Pred> childRoles_sorted(const Pred &) const { return Udm::AssocAttr< CompositionChildRole, Pred>(impl, meta_childRoles); }
-		Udm::AssocAttr< CompositionParentRole> parentRoles() const { return Udm::AssocAttr< CompositionParentRole>(impl, meta_parentRoles); }
-		template <class Pred> Udm::AssocAttr< CompositionParentRole, Pred> parentRoles_sorted(const Pred &) const { return Udm::AssocAttr< CompositionParentRole, Pred>(impl, meta_parentRoles); }
-		Udm::AssocAttr< AssociationRole> associationRoles() const { return Udm::AssocAttr< AssociationRole>(impl, meta_associationRoles); }
-		template <class Pred> Udm::AssocAttr< AssociationRole, Pred> associationRoles_sorted(const Pred &) const { return Udm::AssocAttr< AssociationRole, Pred>(impl, meta_associationRoles); }
-		Udm::PointerAttr< Association> association() const { return Udm::PointerAttr< Association>(impl, meta_association); }
-		Udm::AssocAttr< Class> baseTypes() const { return Udm::AssocAttr< Class>(impl, meta_baseTypes); }
-		template <class Pred> Udm::AssocAttr< Class, Pred> baseTypes_sorted(const Pred &) const { return Udm::AssocAttr< Class, Pred>(impl, meta_baseTypes); }
-		Udm::AssocAttr< Class> subTypes() const { return Udm::AssocAttr< Class>(impl, meta_subTypes); }
-		template <class Pred> Udm::AssocAttr< Class, Pred> subTypes_sorted(const Pred &) const { return Udm::AssocAttr< Class, Pred>(impl, meta_subTypes); }
-		Udm::ChildrenAttr< ::Uml::ConstraintDefinition> definitions() const { return Udm::ChildrenAttr< ::Uml::ConstraintDefinition>(impl, meta_definitions); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred> definitions_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred>(impl, meta_definitions); }
-		Udm::ChildrenAttr< ::Uml::Attribute> attributes() const { return Udm::ChildrenAttr< ::Uml::Attribute>(impl, meta_attributes); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Attribute, Pred> attributes_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Attribute, Pred>(impl, meta_attributes); }
-		Udm::ChildrenAttr< ::Uml::Constraint> constraints() const { return Udm::ChildrenAttr< ::Uml::Constraint>(impl, meta_constraints); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Constraint, Pred> constraints_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Constraint, Pred>(impl, meta_constraints); }
-		Udm::ChildrenAttr< ::Uml::TaggedValue> tagValues() const { return Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, meta_tagValues); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> tagValues_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, meta_tagValues); }
-		Udm::ChildrenAttr< ::Uml::TaggedValue> TaggedValue_kind_children() const { return Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> TaggedValue_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::ConstraintDefinition> ConstraintDefinition_kind_children() const { return Udm::ChildrenAttr< ::Uml::ConstraintDefinition>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred> ConstraintDefinition_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Attribute> Attribute_kind_children() const { return Udm::ChildrenAttr< ::Uml::Attribute>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Attribute, Pred> Attribute_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Attribute, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Constraint> Constraint_kind_children() const { return Udm::ChildrenAttr< ::Uml::Constraint>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Constraint, Pred> Constraint_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Constraint, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ParentAttr< ::Uml::Diagram> parent() const { return Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
-		Udm::ParentAttr< ::Uml::Namespace> parent_ns() const { return Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+		Class();
+		Class(::Udm::ObjectImpl *impl);
+		Class(const Class &master);
+
+#ifdef UDM_RVALUE
+		Class(Class &&master);
+
+		static Class Cast(::Udm::Object &&a);
+		Class& operator=(Class &&a);
+
+#endif
+		static Class Cast(const ::Udm::Object &a);
+		static Class Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Class CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Class> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Class, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Class, Pred>(impl); };
+		Class CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Class> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Class, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Class, Pred>(impl); };
+		::Udm::ArchetypeAttr< Class> Archetype() const;
+		::Udm::BooleanAttr isAbstract() const;
+		::Udm::StringAttr stereotype() const;
+		::Udm::StringAttr name() const;
+		::Udm::StringAttr from() const;
+		::Udm::AssocAttr< CompositionChildRole> childRoles() const;
+		template <class Pred> ::Udm::AssocAttr< CompositionChildRole, Pred> childRoles_sorted(const Pred &) const { return ::Udm::AssocAttr< CompositionChildRole, Pred>(impl, meta_childRoles); };
+		::Udm::AssocAttr< CompositionParentRole> parentRoles() const;
+		template <class Pred> ::Udm::AssocAttr< CompositionParentRole, Pred> parentRoles_sorted(const Pred &) const { return ::Udm::AssocAttr< CompositionParentRole, Pred>(impl, meta_parentRoles); };
+		::Udm::AssocAttr< AssociationRole> associationRoles() const;
+		template <class Pred> ::Udm::AssocAttr< AssociationRole, Pred> associationRoles_sorted(const Pred &) const { return ::Udm::AssocAttr< AssociationRole, Pred>(impl, meta_associationRoles); };
+		::Udm::PointerAttr< Association> association() const;
+		::Udm::AssocAttr< Class> baseTypes() const;
+		template <class Pred> ::Udm::AssocAttr< Class, Pred> baseTypes_sorted(const Pred &) const { return ::Udm::AssocAttr< Class, Pred>(impl, meta_baseTypes); };
+		::Udm::AssocAttr< Class> subTypes() const;
+		template <class Pred> ::Udm::AssocAttr< Class, Pred> subTypes_sorted(const Pred &) const { return ::Udm::AssocAttr< Class, Pred>(impl, meta_subTypes); };
+		::Udm::ChildrenAttr< ::Uml::ConstraintDefinition> definitions() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred> definitions_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred>(impl, meta_definitions); };
+		::Udm::ChildrenAttr< ::Uml::Attribute> attributes() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Attribute, Pred> attributes_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Attribute, Pred>(impl, meta_attributes); };
+		::Udm::ChildrenAttr< ::Uml::Constraint> constraints() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Constraint, Pred> constraints_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Constraint, Pred>(impl, meta_constraints); };
+		::Udm::ChildrenAttr< ::Uml::TaggedValue> tagValues() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> tagValues_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, meta_tagValues); };
+		::Udm::ChildrenAttr< ::Uml::TaggedValue> TaggedValue_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> TaggedValue_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::ConstraintDefinition> ConstraintDefinition_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred> ConstraintDefinition_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Attribute> Attribute_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Attribute, Pred> Attribute_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Attribute, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Constraint> Constraint_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Constraint, Pred> Constraint_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Constraint, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ParentAttr< ::Uml::Diagram> parent() const;
+		::Udm::ParentAttr< ::Uml::Namespace> parent_ns() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_isAbstract;
@@ -253,45 +263,47 @@
 
 	};
 
-	class UDM_DLL Diagram : public Udm::Object {
+	class UDM_DLL Diagram : public ::Udm::Object {
 	public:
-		Diagram() {}
-		Diagram(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Diagram(const Diagram &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Diagram(Diagram &&master) : UDM_OBJECT(master) {}
-
-		static Diagram Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Diagram& operator=(Diagram &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Diagram Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Diagram Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Diagram CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Diagram> Instances() { return Udm::InstantiatedAttr<Diagram>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Diagram, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Diagram, Pred>(impl); }
-		Diagram CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Diagram> Derived() { return Udm::DerivedAttr<Diagram>(impl); }
-		template <class Pred> Udm::DerivedAttr<Diagram, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Diagram, Pred>(impl); }
-		Udm::ArchetypeAttr<Diagram> Archetype() const { return Udm::ArchetypeAttr<Diagram>(impl); }
-		Udm::StringAttr version() const { return Udm::StringAttr(impl, meta_version); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::ChildrenAttr< ::Uml::Class> classes() const { return Udm::ChildrenAttr< ::Uml::Class>(impl, meta_classes); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Class, Pred> classes_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, meta_classes); }
-		Udm::ChildrenAttr< ::Uml::Association> associations() const { return Udm::ChildrenAttr< ::Uml::Association>(impl, meta_associations); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Association, Pred> associations_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, meta_associations); }
-		Udm::ChildrenAttr< ::Uml::Composition> compositions() const { return Udm::ChildrenAttr< ::Uml::Composition>(impl, meta_compositions); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Composition, Pred> compositions_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, meta_compositions); }
-		Udm::ChildrenAttr< ::Uml::Namespace> namespaces() const { return Udm::ChildrenAttr< ::Uml::Namespace>(impl, meta_namespaces); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Namespace, Pred> namespaces_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, meta_namespaces); }
-		Udm::ChildrenAttr< ::Uml::Class> Class_kind_children() const { return Udm::ChildrenAttr< ::Uml::Class>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Class, Pred> Class_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Association> Association_kind_children() const { return Udm::ChildrenAttr< ::Uml::Association>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Association, Pred> Association_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Composition> Composition_kind_children() const { return Udm::ChildrenAttr< ::Uml::Composition>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Composition, Pred> Composition_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Namespace> Namespace_kind_children() const { return Udm::ChildrenAttr< ::Uml::Namespace>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Namespace, Pred> Namespace_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ParentAttr<Udm::Object> parent() const { return Udm::ParentAttr<Udm::Object>(impl, Udm::NULLPARENTROLE); }
+		Diagram();
+		Diagram(::Udm::ObjectImpl *impl);
+		Diagram(const Diagram &master);
+
+#ifdef UDM_RVALUE
+		Diagram(Diagram &&master);
+
+		static Diagram Cast(::Udm::Object &&a);
+		Diagram& operator=(Diagram &&a);
+
+#endif
+		static Diagram Cast(const ::Udm::Object &a);
+		static Diagram Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Diagram CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Diagram> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Diagram, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Diagram, Pred>(impl); };
+		Diagram CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Diagram> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Diagram, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Diagram, Pred>(impl); };
+		::Udm::ArchetypeAttr< Diagram> Archetype() const;
+		::Udm::StringAttr version() const;
+		::Udm::StringAttr name() const;
+		::Udm::ChildrenAttr< ::Uml::Class> classes() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Class, Pred> classes_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, meta_classes); };
+		::Udm::ChildrenAttr< ::Uml::Association> associations() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Association, Pred> associations_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, meta_associations); };
+		::Udm::ChildrenAttr< ::Uml::Composition> compositions() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Composition, Pred> compositions_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, meta_compositions); };
+		::Udm::ChildrenAttr< ::Uml::Namespace> namespaces() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Namespace, Pred> namespaces_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, meta_namespaces); };
+		::Udm::ChildrenAttr< ::Uml::Class> Class_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Class, Pred> Class_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Association> Association_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Association, Pred> Association_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Composition> Composition_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Composition, Pred> Composition_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Namespace> Namespace_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Namespace, Pred> Namespace_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ParentAttr< ::Udm::Object> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_version;
@@ -303,41 +315,43 @@
 
 	};
 
-	class UDM_DLL Association : public Udm::Object {
+	class UDM_DLL Association : public ::Udm::Object {
 	public:
-		Association() {}
-		Association(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Association(const Association &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Association(Association &&master) : UDM_OBJECT(master) {}
-
-		static Association Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Association& operator=(Association &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Association Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Association Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Association CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Association> Instances() { return Udm::InstantiatedAttr<Association>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Association, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Association, Pred>(impl); }
-		Association CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Association> Derived() { return Udm::DerivedAttr<Association>(impl); }
-		template <class Pred> Udm::DerivedAttr<Association, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Association, Pred>(impl); }
-		Udm::ArchetypeAttr<Association> Archetype() const { return Udm::ArchetypeAttr<Association>(impl); }
-		Udm::BooleanAttr nonpersistent() const { return Udm::BooleanAttr(impl, meta_nonpersistent); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::PointerAttr< Class> assocClass() const { return Udm::PointerAttr< Class>(impl, meta_assocClass); }
-		Udm::ChildrenAttr< ::Uml::AssociationRole> roles() const { return Udm::ChildrenAttr< ::Uml::AssociationRole>(impl, meta_roles); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::AssociationRole, Pred> roles_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::AssociationRole, Pred>(impl, meta_roles); }
-		Udm::ChildrenAttr< ::Uml::TaggedValue> tagValues() const { return Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, meta_tagValues); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> tagValues_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, meta_tagValues); }
-		Udm::ChildrenAttr< ::Uml::GenericRole> GenericRole_kind_children() const { return Udm::ChildrenAttr< ::Uml::GenericRole>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::GenericRole, Pred> GenericRole_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::GenericRole, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::AssociationRole> AssociationRole_kind_children() const { return Udm::ChildrenAttr< ::Uml::AssociationRole>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::AssociationRole, Pred> AssociationRole_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::AssociationRole, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::TaggedValue> TaggedValue_kind_children() const { return Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> TaggedValue_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ParentAttr< ::Uml::Diagram> parent() const { return Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
-		Udm::ParentAttr< ::Uml::Namespace> parent_ns() const { return Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+		Association();
+		Association(::Udm::ObjectImpl *impl);
+		Association(const Association &master);
+
+#ifdef UDM_RVALUE
+		Association(Association &&master);
+
+		static Association Cast(::Udm::Object &&a);
+		Association& operator=(Association &&a);
+
+#endif
+		static Association Cast(const ::Udm::Object &a);
+		static Association Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Association CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Association> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Association, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Association, Pred>(impl); };
+		Association CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Association> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Association, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Association, Pred>(impl); };
+		::Udm::ArchetypeAttr< Association> Archetype() const;
+		::Udm::BooleanAttr nonpersistent() const;
+		::Udm::StringAttr name() const;
+		::Udm::PointerAttr< Class> assocClass() const;
+		::Udm::ChildrenAttr< ::Uml::AssociationRole> roles() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::AssociationRole, Pred> roles_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::AssociationRole, Pred>(impl, meta_roles); };
+		::Udm::ChildrenAttr< ::Uml::TaggedValue> tagValues() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> tagValues_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, meta_tagValues); };
+		::Udm::ChildrenAttr< ::Uml::GenericRole> GenericRole_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::GenericRole, Pred> GenericRole_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::GenericRole, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::AssociationRole> AssociationRole_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::AssociationRole, Pred> AssociationRole_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::AssociationRole, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::TaggedValue> TaggedValue_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> TaggedValue_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ParentAttr< ::Uml::Diagram> parent() const;
+		::Udm::ParentAttr< ::Uml::Namespace> parent_ns() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_nonpersistent;
@@ -350,38 +364,40 @@
 
 	};
 
-	class UDM_DLL Composition : public Udm::Object {
+	class UDM_DLL Composition : public ::Udm::Object {
 	public:
-		Composition() {}
-		Composition(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Composition(const Composition &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Composition(Composition &&master) : UDM_OBJECT(master) {}
-
-		static Composition Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Composition& operator=(Composition &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Composition Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Composition Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Composition CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Composition> Instances() { return Udm::InstantiatedAttr<Composition>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Composition, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Composition, Pred>(impl); }
-		Composition CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Composition> Derived() { return Udm::DerivedAttr<Composition>(impl); }
-		template <class Pred> Udm::DerivedAttr<Composition, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Composition, Pred>(impl); }
-		Udm::ArchetypeAttr<Composition> Archetype() const { return Udm::ArchetypeAttr<Composition>(impl); }
-		Udm::BooleanAttr nonpersistent() const { return Udm::BooleanAttr(impl, meta_nonpersistent); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::ChildAttr< ::Uml::CompositionParentRole> parentRole() const { return Udm::ChildAttr< ::Uml::CompositionParentRole>(impl, meta_parentRole); }
-		Udm::ChildAttr< ::Uml::CompositionChildRole> childRole() const { return Udm::ChildAttr< ::Uml::CompositionChildRole>(impl, meta_childRole); }
-		Udm::ChildrenAttr< ::Uml::CompositionChildRole> CompositionChildRole_kind_children() const { return Udm::ChildrenAttr< ::Uml::CompositionChildRole>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::CompositionChildRole, Pred> CompositionChildRole_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::CompositionChildRole, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::GenericRole> GenericRole_kind_children() const { return Udm::ChildrenAttr< ::Uml::GenericRole>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::GenericRole, Pred> GenericRole_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::GenericRole, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::CompositionParentRole> CompositionParentRole_kind_children() const { return Udm::ChildrenAttr< ::Uml::CompositionParentRole>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::CompositionParentRole, Pred> CompositionParentRole_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::CompositionParentRole, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ParentAttr< ::Uml::Diagram> parent() const { return Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
-		Udm::ParentAttr< ::Uml::Namespace> parent_ns() const { return Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+		Composition();
+		Composition(::Udm::ObjectImpl *impl);
+		Composition(const Composition &master);
+
+#ifdef UDM_RVALUE
+		Composition(Composition &&master);
+
+		static Composition Cast(::Udm::Object &&a);
+		Composition& operator=(Composition &&a);
+
+#endif
+		static Composition Cast(const ::Udm::Object &a);
+		static Composition Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Composition CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Composition> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Composition, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Composition, Pred>(impl); };
+		Composition CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Composition> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Composition, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Composition, Pred>(impl); };
+		::Udm::ArchetypeAttr< Composition> Archetype() const;
+		::Udm::BooleanAttr nonpersistent() const;
+		::Udm::StringAttr name() const;
+		::Udm::ChildAttr< ::Uml::CompositionParentRole> parentRole() const;
+		::Udm::ChildAttr< ::Uml::CompositionChildRole> childRole() const;
+		::Udm::ChildrenAttr< ::Uml::CompositionChildRole> CompositionChildRole_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::CompositionChildRole, Pred> CompositionChildRole_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::CompositionChildRole, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::GenericRole> GenericRole_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::GenericRole, Pred> GenericRole_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::GenericRole, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::CompositionParentRole> CompositionParentRole_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::CompositionParentRole, Pred> CompositionParentRole_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::CompositionParentRole, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ParentAttr< ::Uml::Diagram> parent() const;
+		::Udm::ParentAttr< ::Uml::Namespace> parent_ns() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_nonpersistent;
@@ -393,45 +409,47 @@
 
 	};
 
-	class UDM_DLL Namespace : public Udm::Object {
+	class UDM_DLL Namespace : public ::Udm::Object {
 	public:
-		Namespace() {}
-		Namespace(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Namespace(const Namespace &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Namespace(Namespace &&master) : UDM_OBJECT(master) {}
-
-		static Namespace Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Namespace& operator=(Namespace &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Namespace Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Namespace Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Namespace CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Namespace> Instances() { return Udm::InstantiatedAttr<Namespace>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Namespace, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Namespace, Pred>(impl); }
-		Namespace CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Namespace> Derived() { return Udm::DerivedAttr<Namespace>(impl); }
-		template <class Pred> Udm::DerivedAttr<Namespace, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Namespace, Pred>(impl); }
-		Udm::ArchetypeAttr<Namespace> Archetype() const { return Udm::ArchetypeAttr<Namespace>(impl); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::ChildrenAttr< ::Uml::Namespace> namespaces() const { return Udm::ChildrenAttr< ::Uml::Namespace>(impl, meta_namespaces); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Namespace, Pred> namespaces_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, meta_namespaces); }
-		Udm::ChildrenAttr< ::Uml::Class> classes() const { return Udm::ChildrenAttr< ::Uml::Class>(impl, meta_classes); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Class, Pred> classes_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, meta_classes); }
-		Udm::ChildrenAttr< ::Uml::Composition> compositions() const { return Udm::ChildrenAttr< ::Uml::Composition>(impl, meta_compositions); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Composition, Pred> compositions_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, meta_compositions); }
-		Udm::ChildrenAttr< ::Uml::Association> associations() const { return Udm::ChildrenAttr< ::Uml::Association>(impl, meta_associations); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Association, Pred> associations_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, meta_associations); }
-		Udm::ChildrenAttr< ::Uml::Class> Class_kind_children() const { return Udm::ChildrenAttr< ::Uml::Class>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Class, Pred> Class_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Association> Association_kind_children() const { return Udm::ChildrenAttr< ::Uml::Association>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Association, Pred> Association_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Composition> Composition_kind_children() const { return Udm::ChildrenAttr< ::Uml::Composition>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Composition, Pred> Composition_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Namespace> Namespace_kind_children() const { return Udm::ChildrenAttr< ::Uml::Namespace>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Namespace, Pred> Namespace_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ParentAttr< ::Uml::Diagram> parent() const { return Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
-		Udm::ParentAttr< ::Uml::Namespace> parent_ns() const { return Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+		Namespace();
+		Namespace(::Udm::ObjectImpl *impl);
+		Namespace(const Namespace &master);
+
+#ifdef UDM_RVALUE
+		Namespace(Namespace &&master);
+
+		static Namespace Cast(::Udm::Object &&a);
+		Namespace& operator=(Namespace &&a);
+
+#endif
+		static Namespace Cast(const ::Udm::Object &a);
+		static Namespace Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Namespace CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Namespace> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Namespace, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Namespace, Pred>(impl); };
+		Namespace CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Namespace> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Namespace, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Namespace, Pred>(impl); };
+		::Udm::ArchetypeAttr< Namespace> Archetype() const;
+		::Udm::StringAttr name() const;
+		::Udm::ChildrenAttr< ::Uml::Namespace> namespaces() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Namespace, Pred> namespaces_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, meta_namespaces); };
+		::Udm::ChildrenAttr< ::Uml::Class> classes() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Class, Pred> classes_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, meta_classes); };
+		::Udm::ChildrenAttr< ::Uml::Composition> compositions() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Composition, Pred> compositions_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, meta_compositions); };
+		::Udm::ChildrenAttr< ::Uml::Association> associations() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Association, Pred> associations_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, meta_associations); };
+		::Udm::ChildrenAttr< ::Uml::Class> Class_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Class, Pred> Class_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Association> Association_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Association, Pred> Association_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Composition> Composition_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Composition, Pred> Composition_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Namespace> Namespace_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Namespace, Pred> Namespace_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ParentAttr< ::Uml::Diagram> parent() const;
+		::Udm::ParentAttr< ::Uml::Namespace> parent_ns() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_name;
@@ -444,31 +462,33 @@
 
 	};
 
-	class UDM_DLL TaggedValue : public Udm::Object {
+	class UDM_DLL TaggedValue : public ::Udm::Object {
 	public:
-		TaggedValue() {}
-		TaggedValue(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		TaggedValue(const TaggedValue &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		TaggedValue(TaggedValue &&master) : UDM_OBJECT(master) {}
-
-		static TaggedValue Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		TaggedValue& operator=(TaggedValue &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static TaggedValue Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static TaggedValue Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		TaggedValue CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<TaggedValue> Instances() { return Udm::InstantiatedAttr<TaggedValue>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<TaggedValue, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<TaggedValue, Pred>(impl); }
-		TaggedValue CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<TaggedValue> Derived() { return Udm::DerivedAttr<TaggedValue>(impl); }
-		template <class Pred> Udm::DerivedAttr<TaggedValue, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<TaggedValue, Pred>(impl); }
-		Udm::ArchetypeAttr<TaggedValue> Archetype() const { return Udm::ArchetypeAttr<TaggedValue>(impl); }
-		Udm::StringAttr value() const { return Udm::StringAttr(impl, meta_value); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::ParentAttr< ::Uml::Association> assocParent() const { return Udm::ParentAttr< ::Uml::Association>(impl, meta_assocParent); }
-		Udm::ParentAttr< ::Uml::Class> classParent() const { return Udm::ParentAttr< ::Uml::Class>(impl, meta_classParent); }
-		Udm::ParentAttr<Udm::Object> parent() const { return Udm::ParentAttr<Udm::Object>(impl, Udm::NULLPARENTROLE); }
+		TaggedValue();
+		TaggedValue(::Udm::ObjectImpl *impl);
+		TaggedValue(const TaggedValue &master);
+
+#ifdef UDM_RVALUE
+		TaggedValue(TaggedValue &&master);
+
+		static TaggedValue Cast(::Udm::Object &&a);
+		TaggedValue& operator=(TaggedValue &&a);
+
+#endif
+		static TaggedValue Cast(const ::Udm::Object &a);
+		static TaggedValue Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		TaggedValue CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< TaggedValue> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< TaggedValue, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< TaggedValue, Pred>(impl); };
+		TaggedValue CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< TaggedValue> Derived();
+		template <class Pred> ::Udm::DerivedAttr< TaggedValue, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< TaggedValue, Pred>(impl); };
+		::Udm::ArchetypeAttr< TaggedValue> Archetype() const;
+		::Udm::StringAttr value() const;
+		::Udm::StringAttr name() const;
+		::Udm::ParentAttr< ::Uml::Association> assocParent() const;
+		::Udm::ParentAttr< ::Uml::Class> classParent() const;
+		::Udm::ParentAttr< ::Udm::Object> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_value;
@@ -478,32 +498,34 @@
 
 	};
 
-	class UDM_DLL ConstraintDefinition : public Udm::Object {
+	class UDM_DLL ConstraintDefinition : public ::Udm::Object {
 	public:
-		ConstraintDefinition() {}
-		ConstraintDefinition(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		ConstraintDefinition(const ConstraintDefinition &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		ConstraintDefinition(ConstraintDefinition &&master) : UDM_OBJECT(master) {}
-
-		static ConstraintDefinition Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		ConstraintDefinition& operator=(ConstraintDefinition &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static ConstraintDefinition Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static ConstraintDefinition Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		ConstraintDefinition CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<ConstraintDefinition> Instances() { return Udm::InstantiatedAttr<ConstraintDefinition>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<ConstraintDefinition, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<ConstraintDefinition, Pred>(impl); }
-		ConstraintDefinition CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<ConstraintDefinition> Derived() { return Udm::DerivedAttr<ConstraintDefinition>(impl); }
-		template <class Pred> Udm::DerivedAttr<ConstraintDefinition, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<ConstraintDefinition, Pred>(impl); }
-		Udm::ArchetypeAttr<ConstraintDefinition> Archetype() const { return Udm::ArchetypeAttr<ConstraintDefinition>(impl); }
-		Udm::StringAttr stereotype() const { return Udm::StringAttr(impl, meta_stereotype); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::StringAttr parameterList() const { return Udm::StringAttr(impl, meta_parameterList); }
-		Udm::StringAttr expression() const { return Udm::StringAttr(impl, meta_expression); }
-		Udm::StringAttr returnType() const { return Udm::StringAttr(impl, meta_returnType); }
-		Udm::ParentAttr< ::Uml::Class> parent() const { return Udm::ParentAttr< ::Uml::Class>(impl, meta_parent); }
+		ConstraintDefinition();
+		ConstraintDefinition(::Udm::ObjectImpl *impl);
+		ConstraintDefinition(const ConstraintDefinition &master);
+
+#ifdef UDM_RVALUE
+		ConstraintDefinition(ConstraintDefinition &&master);
+
+		static ConstraintDefinition Cast(::Udm::Object &&a);
+		ConstraintDefinition& operator=(ConstraintDefinition &&a);
+
+#endif
+		static ConstraintDefinition Cast(const ::Udm::Object &a);
+		static ConstraintDefinition Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		ConstraintDefinition CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< ConstraintDefinition> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< ConstraintDefinition, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< ConstraintDefinition, Pred>(impl); };
+		ConstraintDefinition CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< ConstraintDefinition> Derived();
+		template <class Pred> ::Udm::DerivedAttr< ConstraintDefinition, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< ConstraintDefinition, Pred>(impl); };
+		::Udm::ArchetypeAttr< ConstraintDefinition> Archetype() const;
+		::Udm::StringAttr stereotype() const;
+		::Udm::StringAttr name() const;
+		::Udm::StringAttr parameterList() const;
+		::Udm::StringAttr expression() const;
+		::Udm::StringAttr returnType() const;
+		::Udm::ParentAttr< ::Uml::Class> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_stereotype;
@@ -515,36 +537,38 @@
 
 	};
 
-	class UDM_DLL Attribute : public Udm::Object {
+	class UDM_DLL Attribute : public ::Udm::Object {
 	public:
-		Attribute() {}
-		Attribute(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Attribute(const Attribute &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Attribute(Attribute &&master) : UDM_OBJECT(master) {}
-
-		static Attribute Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Attribute& operator=(Attribute &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Attribute Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Attribute Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Attribute CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Attribute> Instances() { return Udm::InstantiatedAttr<Attribute>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Attribute, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Attribute, Pred>(impl); }
-		Attribute CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Attribute> Derived() { return Udm::DerivedAttr<Attribute>(impl); }
-		template <class Pred> Udm::DerivedAttr<Attribute, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Attribute, Pred>(impl); }
-		Udm::ArchetypeAttr<Attribute> Archetype() const { return Udm::ArchetypeAttr<Attribute>(impl); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::StringAttr type() const { return Udm::StringAttr(impl, meta_type); }
-		Udm::StringAttrArr defvalue() const { return Udm::StringAttrArr(impl, meta_defvalue); }
-		Udm::IntegerAttr min() const { return Udm::IntegerAttr(impl, meta_min); }
-		Udm::IntegerAttr max() const { return Udm::IntegerAttr(impl, meta_max); }
-		Udm::StringAttr visibility() const { return Udm::StringAttr(impl, meta_visibility); }
-		Udm::BooleanAttr ordered() const { return Udm::BooleanAttr(impl, meta_ordered); }
-		Udm::BooleanAttr nonpersistent() const { return Udm::BooleanAttr(impl, meta_nonpersistent); }
-		Udm::BooleanAttr registry() const { return Udm::BooleanAttr(impl, meta_registry); }
-		Udm::ParentAttr< ::Uml::Class> parent() const { return Udm::ParentAttr< ::Uml::Class>(impl, meta_parent); }
+		Attribute();
+		Attribute(::Udm::ObjectImpl *impl);
+		Attribute(const Attribute &master);
+
+#ifdef UDM_RVALUE
+		Attribute(Attribute &&master);
+
+		static Attribute Cast(::Udm::Object &&a);
+		Attribute& operator=(Attribute &&a);
+
+#endif
+		static Attribute Cast(const ::Udm::Object &a);
+		static Attribute Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Attribute CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Attribute> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Attribute, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Attribute, Pred>(impl); };
+		Attribute CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Attribute> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Attribute, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Attribute, Pred>(impl); };
+		::Udm::ArchetypeAttr< Attribute> Archetype() const;
+		::Udm::StringAttr name() const;
+		::Udm::StringAttr type() const;
+		::Udm::StringAttrArr defvalue() const;
+		::Udm::IntegerAttr min() const;
+		::Udm::IntegerAttr max() const;
+		::Udm::StringAttr visibility() const;
+		::Udm::BooleanAttr ordered() const;
+		::Udm::BooleanAttr nonpersistent() const;
+		::Udm::BooleanAttr registry() const;
+		::Udm::ParentAttr< ::Uml::Class> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_name;
@@ -560,30 +584,32 @@
 
 	};
 
-	class UDM_DLL Constraint : public Udm::Object {
+	class UDM_DLL Constraint : public ::Udm::Object {
 	public:
-		Constraint() {}
-		Constraint(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Constraint(const Constraint &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Constraint(Constraint &&master) : UDM_OBJECT(master) {}
-
-		static Constraint Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Constraint& operator=(Constraint &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Constraint Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Constraint Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Constraint CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Constraint> Instances() { return Udm::InstantiatedAttr<Constraint>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Constraint, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Constraint, Pred>(impl); }
-		Constraint CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Constraint> Derived() { return Udm::DerivedAttr<Constraint>(impl); }
-		template <class Pred> Udm::DerivedAttr<Constraint, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Constraint, Pred>(impl); }
-		Udm::ArchetypeAttr<Constraint> Archetype() const { return Udm::ArchetypeAttr<Constraint>(impl); }
-		Udm::StringAttr description() const { return Udm::StringAttr(impl, meta_description); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::StringAttr expression() const { return Udm::StringAttr(impl, meta_expression); }
-		Udm::ParentAttr< ::Uml::Class> parent() const { return Udm::ParentAttr< ::Uml::Class>(impl, meta_parent); }
+		Constraint();
+		Constraint(::Udm::ObjectImpl *impl);
+		Constraint(const Constraint &master);
+
+#ifdef UDM_RVALUE
+		Constraint(Constraint &&master);
+
+		static Constraint Cast(::Udm::Object &&a);
+		Constraint& operator=(Constraint &&a);
+
+#endif
+		static Constraint Cast(const ::Udm::Object &a);
+		static Constraint Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Constraint CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Constraint> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Constraint, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Constraint, Pred>(impl); };
+		Constraint CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Constraint> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Constraint, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Constraint, Pred>(impl); };
+		::Udm::ArchetypeAttr< Constraint> Archetype() const;
+		::Udm::StringAttr description() const;
+		::Udm::StringAttr name() const;
+		::Udm::StringAttr expression() const;
+		::Udm::ParentAttr< ::Uml::Class> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_description;

Modified: UDM/trunk/src/UdmBase/UdmProject.cpp
==============================================================================
--- UDM/trunk/src/UdmBase/UdmProject.cpp	Mon Nov 21 04:01:53 2011	(r3959)
+++ UDM/trunk/src/UdmBase/UdmProject.cpp	Mon Nov 21 04:08:09 2011	(r3960)
@@ -1,6 +1,6 @@
 // cpp (meta datanetwork format) source file UdmProject.cpp
 // generated from diagram UdmProject
-// generated on Mon May 02 10:02:17 2011
+// generated on Mon Nov 21 10:43:35 2011
 
 #include "UdmProject.h"
 #include <UmlExt.h>
@@ -12,6 +12,32 @@
 
 namespace UdmProject {
 
+	Datanetwork::Datanetwork() {}
+	Datanetwork::Datanetwork(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	Datanetwork::Datanetwork(const Datanetwork &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	Datanetwork::Datanetwork(Datanetwork &&master) : UDM_OBJECT(master) {};
+
+	Datanetwork Datanetwork::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	Datanetwork& Datanetwork::operator=(Datanetwork &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	Datanetwork Datanetwork::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	Datanetwork Datanetwork::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	Datanetwork Datanetwork::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< Datanetwork> Datanetwork::Instances() { return ::Udm::InstantiatedAttr< Datanetwork>(impl); }
+	Datanetwork Datanetwork::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< Datanetwork> Datanetwork::Derived() { return ::Udm::DerivedAttr< Datanetwork>(impl); }
+	::Udm::ArchetypeAttr< Datanetwork> Datanetwork::Archetype() const { return ::Udm::ArchetypeAttr< Datanetwork>(impl); }
+	::Udm::StringAttr Datanetwork::metaDgr() const { return ::Udm::StringAttr(impl, meta_metaDgr); }
+	::Udm::StringAttr Datanetwork::systemname() const { return ::Udm::StringAttr(impl, meta_systemname); }
+	::Udm::StringAttr Datanetwork::metalocator() const { return ::Udm::StringAttr(impl, meta_metalocator); }
+	::Udm::ParentAttr< ::UdmProject::Project> Datanetwork::cross_associations_Project_parent() const { return ::Udm::ParentAttr< ::UdmProject::Project>(impl, meta_cross_associations_Project_parent); }
+	::Udm::ParentAttr< ::UdmProject::Project> Datanetwork::instances_Project_parent() const { return ::Udm::ParentAttr< ::UdmProject::Project>(impl, meta_instances_Project_parent); }
+	::Udm::ParentAttr< ::UdmProject::Project> Datanetwork::crosslinks_Project_parent() const { return ::Udm::ParentAttr< ::UdmProject::Project>(impl, meta_crosslinks_Project_parent); }
+	::Udm::ParentAttr< ::UdmProject::Project> Datanetwork::parent() const { return ::Udm::ParentAttr< ::UdmProject::Project>(impl, ::Udm::NULLPARENTROLE); }
+
 	::Uml::Class Datanetwork::meta;
 	::Uml::Attribute Datanetwork::meta_metaDgr;
 	::Uml::Attribute Datanetwork::meta_systemname;
@@ -20,6 +46,31 @@
 	::Uml::CompositionParentRole Datanetwork::meta_instances_Project_parent;
 	::Uml::CompositionParentRole Datanetwork::meta_crosslinks_Project_parent;
 
+	Project::Project() {}
+	Project::Project(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	Project::Project(const Project &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	Project::Project(Project &&master) : UDM_OBJECT(master) {};
+
+	Project Project::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	Project& Project::operator=(Project &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	Project Project::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	Project Project::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	Project Project::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< Project> Project::Instances() { return ::Udm::InstantiatedAttr< Project>(impl); }
+	Project Project::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< Project> Project::Derived() { return ::Udm::DerivedAttr< Project>(impl); }
+	::Udm::ArchetypeAttr< Project> Project::Archetype() const { return ::Udm::ArchetypeAttr< Project>(impl); }
+	::Udm::StringAttr Project::name() const { return ::Udm::StringAttr(impl, meta_name); }
+	::Udm::ChildAttr< ::UdmProject::Datanetwork> Project::cross_associations() const { return ::Udm::ChildAttr< ::UdmProject::Datanetwork>(impl, meta_cross_associations); }
+	::Udm::ChildrenAttr< ::UdmProject::Datanetwork> Project::instances() const { return ::Udm::ChildrenAttr< ::UdmProject::Datanetwork>(impl, meta_instances); }
+	::Udm::ChildAttr< ::UdmProject::Datanetwork> Project::crosslinks() const { return ::Udm::ChildAttr< ::UdmProject::Datanetwork>(impl, meta_crosslinks); }
+	::Udm::ChildrenAttr< ::UdmProject::Datanetwork> Project::Datanetwork_kind_children() const { return ::Udm::ChildrenAttr< ::UdmProject::Datanetwork>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ParentAttr< ::Udm::Object> Project::parent() const { return ::Udm::ParentAttr< ::Udm::Object>(impl, ::Udm::NULLPARENTROLE); }
+
 	::Uml::Class Project::meta;
 	::Uml::Attribute Project::meta_name;
 	::Uml::CompositionChildRole Project::meta_cross_associations;
@@ -98,7 +149,7 @@
 		::Uml::Initialize();
 
 	
-		UDM_ASSERT( meta == Udm::null );
+		UDM_ASSERT( meta == ::Udm::null );
 
 		meta = ::Uml::CreateDiagram();
 
@@ -115,16 +166,16 @@
 	}
 
 
-	Udm::UdmDiagram diagram = { &meta, Initialize };
+	 ::Udm::UdmDiagram diagram = { &meta, Initialize };
 	static struct _regClass
 	{
 		_regClass()
 		{
-			Udm::MetaDepository::StoreDiagram("UdmProject", diagram);
+			::Udm::MetaDepository::StoreDiagram("UdmProject", diagram);
 		}
 		~_regClass()
 		{
-			Udm::MetaDepository::RemoveDiagram("UdmProject");
+			::Udm::MetaDepository::RemoveDiagram("UdmProject");
 		}
 	} __regUnUsed;
 

Modified: UDM/trunk/src/UdmBase/UdmProject_xsd.h
==============================================================================
--- UDM/trunk/src/UdmBase/UdmProject_xsd.h	Mon Nov 21 04:01:53 2011	(r3959)
+++ UDM/trunk/src/UdmBase/UdmProject_xsd.h	Mon Nov 21 04:08:09 2011	(r3960)
@@ -15,7 +15,7 @@
 			str +="<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\n";
 			str +=" elementFormDefault=\"qualified\" \n";
 			str +=">\n";
-//			str +="<!-- generated on Mon May 02 10:02:17 2011 -->\n";
+//			str +="<!-- generated on Mon Nov 21 10:43:35 2011 -->\n";
 			str +="\n";
 			str +="\n";
 			str +="	<xsd:complexType name=\"DatanetworkType\">\n";

Modified: UDM/trunk/src/Uml/Uml.cpp
==============================================================================
--- UDM/trunk/src/Uml/Uml.cpp	Mon Nov 21 04:01:53 2011	(r3959)
+++ UDM/trunk/src/Uml/Uml.cpp	Mon Nov 21 04:08:09 2011	(r3960)
@@ -1,6 +1,6 @@
 // cpp (meta datanetwork format) source file Uml.cpp
 // generated from diagram Uml
-// generated on Mon May 02 10:02:54 2011
+// generated on Mon Nov 21 10:42:57 2011
 
 #include "Uml.h"
 #include <UmlExt.h>
@@ -12,20 +12,112 @@
 
 namespace Uml {
 
+	CompositionChildRole::CompositionChildRole() {}
+	CompositionChildRole::CompositionChildRole(::Udm::ObjectImpl *impl) : GenericRole(impl) {}
+	CompositionChildRole::CompositionChildRole(const CompositionChildRole &master) : GenericRole(master) {}
+
+#ifdef UDM_RVALUE
+	CompositionChildRole::CompositionChildRole(CompositionChildRole &&master) : GenericRole(master) {};
+
+	CompositionChildRole CompositionChildRole::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	CompositionChildRole& CompositionChildRole::operator=(CompositionChildRole &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	CompositionChildRole CompositionChildRole::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	CompositionChildRole CompositionChildRole::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	CompositionChildRole CompositionChildRole::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< CompositionChildRole> CompositionChildRole::Instances() { return ::Udm::InstantiatedAttr< CompositionChildRole>(impl); }
+	CompositionChildRole CompositionChildRole::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< CompositionChildRole> CompositionChildRole::Derived() { return ::Udm::DerivedAttr< CompositionChildRole>(impl); }
+	::Udm::ArchetypeAttr< CompositionChildRole> CompositionChildRole::Archetype() const { return ::Udm::ArchetypeAttr< CompositionChildRole>(impl); }
+	::Udm::IntegerAttr CompositionChildRole::max() const { return ::Udm::IntegerAttr(impl, meta_max); }
+	::Udm::IntegerAttr CompositionChildRole::min() const { return ::Udm::IntegerAttr(impl, meta_min); }
+	::Udm::PointerAttr< Class> CompositionChildRole::target() const { return ::Udm::PointerAttr< Class>(impl, meta_target); }
+	::Udm::ParentAttr< ::Uml::Composition> CompositionChildRole::parent() const { return ::Udm::ParentAttr< ::Uml::Composition>(impl, meta_parent); }
+
 	::Uml::Class CompositionChildRole::meta;
 	::Uml::Attribute CompositionChildRole::meta_max;
 	::Uml::Attribute CompositionChildRole::meta_min;
 	::Uml::AssociationRole CompositionChildRole::meta_target;
 	::Uml::CompositionParentRole CompositionChildRole::meta_parent;
 
+	GenericRole::GenericRole() {}
+	GenericRole::GenericRole(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	GenericRole::GenericRole(const GenericRole &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	GenericRole::GenericRole(GenericRole &&master) : UDM_OBJECT(master) {};
+
+	GenericRole GenericRole::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	GenericRole& GenericRole::operator=(GenericRole &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	GenericRole GenericRole::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	GenericRole GenericRole::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	GenericRole GenericRole::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< GenericRole> GenericRole::Instances() { return ::Udm::InstantiatedAttr< GenericRole>(impl); }
+	GenericRole GenericRole::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< GenericRole> GenericRole::Derived() { return ::Udm::DerivedAttr< GenericRole>(impl); }
+	::Udm::ArchetypeAttr< GenericRole> GenericRole::Archetype() const { return ::Udm::ArchetypeAttr< GenericRole>(impl); }
+	::Udm::BooleanAttr GenericRole::isNavigable() const { return ::Udm::BooleanAttr(impl, meta_isNavigable); }
+	::Udm::StringAttr GenericRole::name() const { return ::Udm::StringAttr(impl, meta_name); }
+	::Udm::ParentAttr< ::Udm::Object> GenericRole::parent() const { return ::Udm::ParentAttr< ::Udm::Object>(impl, ::Udm::NULLPARENTROLE); }
+
 	::Uml::Class GenericRole::meta;
 	::Uml::Attribute GenericRole::meta_isNavigable;
 	::Uml::Attribute GenericRole::meta_name;
 
+	CompositionParentRole::CompositionParentRole() {}
+	CompositionParentRole::CompositionParentRole(::Udm::ObjectImpl *impl) : GenericRole(impl) {}
+	CompositionParentRole::CompositionParentRole(const CompositionParentRole &master) : GenericRole(master) {}
+
+#ifdef UDM_RVALUE
+	CompositionParentRole::CompositionParentRole(CompositionParentRole &&master) : GenericRole(master) {};
+
+	CompositionParentRole CompositionParentRole::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	CompositionParentRole& CompositionParentRole::operator=(CompositionParentRole &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	CompositionParentRole CompositionParentRole::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	CompositionParentRole CompositionParentRole::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	CompositionParentRole CompositionParentRole::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< CompositionParentRole> CompositionParentRole::Instances() { return ::Udm::InstantiatedAttr< CompositionParentRole>(impl); }
+	CompositionParentRole CompositionParentRole::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< CompositionParentRole> CompositionParentRole::Derived() { return ::Udm::DerivedAttr< CompositionParentRole>(impl); }
+	::Udm::ArchetypeAttr< CompositionParentRole> CompositionParentRole::Archetype() const { return ::Udm::ArchetypeAttr< CompositionParentRole>(impl); }
+	::Udm::PointerAttr< Class> CompositionParentRole::target() const { return ::Udm::PointerAttr< Class>(impl, meta_target); }
+	::Udm::ParentAttr< ::Uml::Composition> CompositionParentRole::parent() const { return ::Udm::ParentAttr< ::Uml::Composition>(impl, meta_parent); }
+
 	::Uml::Class CompositionParentRole::meta;
 	::Uml::AssociationRole CompositionParentRole::meta_target;
 	::Uml::CompositionParentRole CompositionParentRole::meta_parent;
 
+	AssociationRole::AssociationRole() {}
+	AssociationRole::AssociationRole(::Udm::ObjectImpl *impl) : GenericRole(impl) {}
+	AssociationRole::AssociationRole(const AssociationRole &master) : GenericRole(master) {}
+
+#ifdef UDM_RVALUE
+	AssociationRole::AssociationRole(AssociationRole &&master) : GenericRole(master) {};
+
+	AssociationRole AssociationRole::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	AssociationRole& AssociationRole::operator=(AssociationRole &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	AssociationRole AssociationRole::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	AssociationRole AssociationRole::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	AssociationRole AssociationRole::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< AssociationRole> AssociationRole::Instances() { return ::Udm::InstantiatedAttr< AssociationRole>(impl); }
+	AssociationRole AssociationRole::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< AssociationRole> AssociationRole::Derived() { return ::Udm::DerivedAttr< AssociationRole>(impl); }
+	::Udm::ArchetypeAttr< AssociationRole> AssociationRole::Archetype() const { return ::Udm::ArchetypeAttr< AssociationRole>(impl); }
+	::Udm::IntegerAttr AssociationRole::max() const { return ::Udm::IntegerAttr(impl, meta_max); }
+	::Udm::IntegerAttr AssociationRole::min() const { return ::Udm::IntegerAttr(impl, meta_min); }
+	::Udm::BooleanAttr AssociationRole::isPrimary() const { return ::Udm::BooleanAttr(impl, meta_isPrimary); }
+	::Udm::PointerAttr< AssociationRole> AssociationRole::rp_helper() const { return ::Udm::PointerAttr< AssociationRole>(impl, meta_rp_helper); }
+	::Udm::PointerAttr< AssociationRole> AssociationRole::rp_helper_user() const { return ::Udm::PointerAttr< AssociationRole>(impl, meta_rp_helper_user); }
+	::Udm::PointerAttr< Class> AssociationRole::target() const { return ::Udm::PointerAttr< Class>(impl, meta_target); }
+	::Udm::ParentAttr< ::Uml::Association> AssociationRole::parent() const { return ::Udm::ParentAttr< ::Uml::Association>(impl, meta_parent); }
+
 	::Uml::Class AssociationRole::meta;
 	::Uml::Attribute AssociationRole::meta_max;
 	::Uml::Attribute AssociationRole::meta_min;
@@ -35,6 +127,45 @@
 	::Uml::AssociationRole AssociationRole::meta_target;
 	::Uml::CompositionParentRole AssociationRole::meta_parent;
 
+	Class::Class() {}
+	Class::Class(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	Class::Class(const Class &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	Class::Class(Class &&master) : UDM_OBJECT(master) {};
+
+	Class Class::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	Class& Class::operator=(Class &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	Class Class::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	Class Class::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	Class Class::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< Class> Class::Instances() { return ::Udm::InstantiatedAttr< Class>(impl); }
+	Class Class::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< Class> Class::Derived() { return ::Udm::DerivedAttr< Class>(impl); }
+	::Udm::ArchetypeAttr< Class> Class::Archetype() const { return ::Udm::ArchetypeAttr< Class>(impl); }
+	::Udm::BooleanAttr Class::isAbstract() const { return ::Udm::BooleanAttr(impl, meta_isAbstract); }
+	::Udm::StringAttr Class::stereotype() const { return ::Udm::StringAttr(impl, meta_stereotype); }
+	::Udm::StringAttr Class::name() const { return ::Udm::StringAttr(impl, meta_name); }
+	::Udm::StringAttr Class::from() const { return ::Udm::StringAttr(impl, meta_from); }
+	::Udm::AssocAttr< CompositionChildRole> Class::childRoles() const { return ::Udm::AssocAttr< CompositionChildRole>(impl, meta_childRoles); }
+	::Udm::AssocAttr< CompositionParentRole> Class::parentRoles() const { return ::Udm::AssocAttr< CompositionParentRole>(impl, meta_parentRoles); }
+	::Udm::AssocAttr< AssociationRole> Class::associationRoles() const { return ::Udm::AssocAttr< AssociationRole>(impl, meta_associationRoles); }
+	::Udm::PointerAttr< Association> Class::association() const { return ::Udm::PointerAttr< Association>(impl, meta_association); }
+	::Udm::AssocAttr< Class> Class::baseTypes() const { return ::Udm::AssocAttr< Class>(impl, meta_baseTypes); }
+	::Udm::AssocAttr< Class> Class::subTypes() const { return ::Udm::AssocAttr< Class>(impl, meta_subTypes); }
+	::Udm::ChildrenAttr< ::Uml::ConstraintDefinition> Class::definitions() const { return ::Udm::ChildrenAttr< ::Uml::ConstraintDefinition>(impl, meta_definitions); }
+	::Udm::ChildrenAttr< ::Uml::Attribute> Class::attributes() const { return ::Udm::ChildrenAttr< ::Uml::Attribute>(impl, meta_attributes); }
+	::Udm::ChildrenAttr< ::Uml::Constraint> Class::constraints() const { return ::Udm::ChildrenAttr< ::Uml::Constraint>(impl, meta_constraints); }
+	::Udm::ChildrenAttr< ::Uml::TaggedValue> Class::tagValues() const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, meta_tagValues); }
+	::Udm::ChildrenAttr< ::Uml::TaggedValue> Class::TaggedValue_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::ConstraintDefinition> Class::ConstraintDefinition_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::ConstraintDefinition>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::Attribute> Class::Attribute_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::Attribute>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::Constraint> Class::Constraint_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::Constraint>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ParentAttr< ::Uml::Diagram> Class::parent() const { return ::Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
+	::Udm::ParentAttr< ::Uml::Namespace> Class::parent_ns() const { return ::Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+
 	::Uml::Class Class::meta;
 	::Uml::Attribute Class::meta_isAbstract;
 	::Uml::Attribute Class::meta_stereotype;
@@ -53,6 +184,36 @@
 	::Uml::CompositionParentRole Class::meta_parent;
 	::Uml::CompositionParentRole Class::meta_parent_ns;
 
+	Diagram::Diagram() {}
+	Diagram::Diagram(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	Diagram::Diagram(const Diagram &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	Diagram::Diagram(Diagram &&master) : UDM_OBJECT(master) {};
+
+	Diagram Diagram::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	Diagram& Diagram::operator=(Diagram &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	Diagram Diagram::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	Diagram Diagram::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	Diagram Diagram::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< Diagram> Diagram::Instances() { return ::Udm::InstantiatedAttr< Diagram>(impl); }
+	Diagram Diagram::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< Diagram> Diagram::Derived() { return ::Udm::DerivedAttr< Diagram>(impl); }
+	::Udm::ArchetypeAttr< Diagram> Diagram::Archetype() const { return ::Udm::ArchetypeAttr< Diagram>(impl); }
+	::Udm::StringAttr Diagram::version() const { return ::Udm::StringAttr(impl, meta_version); }
+	::Udm::StringAttr Diagram::name() const { return ::Udm::StringAttr(impl, meta_name); }
+	::Udm::ChildrenAttr< ::Uml::Class> Diagram::classes() const { return ::Udm::ChildrenAttr< ::Uml::Class>(impl, meta_classes); }
+	::Udm::ChildrenAttr< ::Uml::Association> Diagram::associations() const { return ::Udm::ChildrenAttr< ::Uml::Association>(impl, meta_associations); }
+	::Udm::ChildrenAttr< ::Uml::Composition> Diagram::compositions() const { return ::Udm::ChildrenAttr< ::Uml::Composition>(impl, meta_compositions); }
+	::Udm::ChildrenAttr< ::Uml::Namespace> Diagram::namespaces() const { return ::Udm::ChildrenAttr< ::Uml::Namespace>(impl, meta_namespaces); }
+	::Udm::ChildrenAttr< ::Uml::Class> Diagram::Class_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::Class>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::Association> Diagram::Association_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::Association>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::Composition> Diagram::Composition_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::Composition>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::Namespace> Diagram::Namespace_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::Namespace>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ParentAttr< ::Udm::Object> Diagram::parent() const { return ::Udm::ParentAttr< ::Udm::Object>(impl, ::Udm::NULLPARENTROLE); }
+
 	::Uml::Class Diagram::meta;
 	::Uml::Attribute Diagram::meta_version;
 	::Uml::Attribute Diagram::meta_name;
@@ -61,6 +222,35 @@
 	::Uml::CompositionChildRole Diagram::meta_compositions;
 	::Uml::CompositionChildRole Diagram::meta_namespaces;
 
+	Association::Association() {}
+	Association::Association(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	Association::Association(const Association &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	Association::Association(Association &&master) : UDM_OBJECT(master) {};
+
+	Association Association::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	Association& Association::operator=(Association &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	Association Association::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	Association Association::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	Association Association::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< Association> Association::Instances() { return ::Udm::InstantiatedAttr< Association>(impl); }
+	Association Association::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< Association> Association::Derived() { return ::Udm::DerivedAttr< Association>(impl); }
+	::Udm::ArchetypeAttr< Association> Association::Archetype() const { return ::Udm::ArchetypeAttr< Association>(impl); }
+	::Udm::BooleanAttr Association::nonpersistent() const { return ::Udm::BooleanAttr(impl, meta_nonpersistent); }
+	::Udm::StringAttr Association::name() const { return ::Udm::StringAttr(impl, meta_name); }
+	::Udm::PointerAttr< Class> Association::assocClass() const { return ::Udm::PointerAttr< Class>(impl, meta_assocClass); }
+	::Udm::ChildrenAttr< ::Uml::AssociationRole> Association::roles() const { return ::Udm::ChildrenAttr< ::Uml::AssociationRole>(impl, meta_roles); }
+	::Udm::ChildrenAttr< ::Uml::TaggedValue> Association::tagValues() const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, meta_tagValues); }
+	::Udm::ChildrenAttr< ::Uml::GenericRole> Association::GenericRole_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::GenericRole>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::AssociationRole> Association::AssociationRole_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::AssociationRole>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::TaggedValue> Association::TaggedValue_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ParentAttr< ::Uml::Diagram> Association::parent() const { return ::Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
+	::Udm::ParentAttr< ::Uml::Namespace> Association::parent_ns() const { return ::Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+
 	::Uml::Class Association::meta;
 	::Uml::Attribute Association::meta_nonpersistent;
 	::Uml::Attribute Association::meta_name;
@@ -70,6 +260,34 @@
 	::Uml::CompositionParentRole Association::meta_parent;
 	::Uml::CompositionParentRole Association::meta_parent_ns;
 
+	Composition::Composition() {}
+	Composition::Composition(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	Composition::Composition(const Composition &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	Composition::Composition(Composition &&master) : UDM_OBJECT(master) {};
+
+	Composition Composition::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	Composition& Composition::operator=(Composition &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	Composition Composition::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	Composition Composition::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	Composition Composition::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< Composition> Composition::Instances() { return ::Udm::InstantiatedAttr< Composition>(impl); }
+	Composition Composition::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< Composition> Composition::Derived() { return ::Udm::DerivedAttr< Composition>(impl); }
+	::Udm::ArchetypeAttr< Composition> Composition::Archetype() const { return ::Udm::ArchetypeAttr< Composition>(impl); }
+	::Udm::BooleanAttr Composition::nonpersistent() const { return ::Udm::BooleanAttr(impl, meta_nonpersistent); }
+	::Udm::StringAttr Composition::name() const { return ::Udm::StringAttr(impl, meta_name); }
+	::Udm::ChildAttr< ::Uml::CompositionParentRole> Composition::parentRole() const { return ::Udm::ChildAttr< ::Uml::CompositionParentRole>(impl, meta_parentRole); }
+	::Udm::ChildAttr< ::Uml::CompositionChildRole> Composition::childRole() const { return ::Udm::ChildAttr< ::Uml::CompositionChildRole>(impl, meta_childRole); }
+	::Udm::ChildrenAttr< ::Uml::CompositionChildRole> Composition::CompositionChildRole_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::CompositionChildRole>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::GenericRole> Composition::GenericRole_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::GenericRole>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::CompositionParentRole> Composition::CompositionParentRole_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::CompositionParentRole>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ParentAttr< ::Uml::Diagram> Composition::parent() const { return ::Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
+	::Udm::ParentAttr< ::Uml::Namespace> Composition::parent_ns() const { return ::Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+
 	::Uml::Class Composition::meta;
 	::Uml::Attribute Composition::meta_nonpersistent;
 	::Uml::Attribute Composition::meta_name;
@@ -78,6 +296,36 @@
 	::Uml::CompositionParentRole Composition::meta_parent;
 	::Uml::CompositionParentRole Composition::meta_parent_ns;
 
+	Namespace::Namespace() {}
+	Namespace::Namespace(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	Namespace::Namespace(const Namespace &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	Namespace::Namespace(Namespace &&master) : UDM_OBJECT(master) {};
+
+	Namespace Namespace::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	Namespace& Namespace::operator=(Namespace &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	Namespace Namespace::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	Namespace Namespace::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	Namespace Namespace::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< Namespace> Namespace::Instances() { return ::Udm::InstantiatedAttr< Namespace>(impl); }
+	Namespace Namespace::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< Namespace> Namespace::Derived() { return ::Udm::DerivedAttr< Namespace>(impl); }
+	::Udm::ArchetypeAttr< Namespace> Namespace::Archetype() const { return ::Udm::ArchetypeAttr< Namespace>(impl); }
+	::Udm::StringAttr Namespace::name() const { return ::Udm::StringAttr(impl, meta_name); }
+	::Udm::ChildrenAttr< ::Uml::Namespace> Namespace::namespaces() const { return ::Udm::ChildrenAttr< ::Uml::Namespace>(impl, meta_namespaces); }
+	::Udm::ChildrenAttr< ::Uml::Class> Namespace::classes() const { return ::Udm::ChildrenAttr< ::Uml::Class>(impl, meta_classes); }
+	::Udm::ChildrenAttr< ::Uml::Composition> Namespace::compositions() const { return ::Udm::ChildrenAttr< ::Uml::Composition>(impl, meta_compositions); }
+	::Udm::ChildrenAttr< ::Uml::Association> Namespace::associations() const { return ::Udm::ChildrenAttr< ::Uml::Association>(impl, meta_associations); }
+	::Udm::ChildrenAttr< ::Uml::Class> Namespace::Class_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::Class>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::Association> Namespace::Association_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::Association>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::Composition> Namespace::Composition_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::Composition>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ChildrenAttr< ::Uml::Namespace> Namespace::Namespace_kind_children() const { return ::Udm::ChildrenAttr< ::Uml::Namespace>(impl, ::Udm::NULLCHILDROLE); }
+	::Udm::ParentAttr< ::Uml::Diagram> Namespace::parent() const { return ::Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
+	::Udm::ParentAttr< ::Uml::Namespace> Namespace::parent_ns() const { return ::Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+
 	::Uml::Class Namespace::meta;
 	::Uml::Attribute Namespace::meta_name;
 	::Uml::CompositionChildRole Namespace::meta_namespaces;
@@ -87,12 +335,61 @@
 	::Uml::CompositionParentRole Namespace::meta_parent;
 	::Uml::CompositionParentRole Namespace::meta_parent_ns;
 
+	TaggedValue::TaggedValue() {}
+	TaggedValue::TaggedValue(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	TaggedValue::TaggedValue(const TaggedValue &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	TaggedValue::TaggedValue(TaggedValue &&master) : UDM_OBJECT(master) {};
+
+	TaggedValue TaggedValue::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	TaggedValue& TaggedValue::operator=(TaggedValue &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	TaggedValue TaggedValue::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	TaggedValue TaggedValue::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	TaggedValue TaggedValue::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< TaggedValue> TaggedValue::Instances() { return ::Udm::InstantiatedAttr< TaggedValue>(impl); }
+	TaggedValue TaggedValue::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< TaggedValue> TaggedValue::Derived() { return ::Udm::DerivedAttr< TaggedValue>(impl); }
+	::Udm::ArchetypeAttr< TaggedValue> TaggedValue::Archetype() const { return ::Udm::ArchetypeAttr< TaggedValue>(impl); }
+	::Udm::StringAttr TaggedValue::value() const { return ::Udm::StringAttr(impl, meta_value); }
+	::Udm::StringAttr TaggedValue::name() const { return ::Udm::StringAttr(impl, meta_name); }
+	::Udm::ParentAttr< ::Uml::Association> TaggedValue::assocParent() const { return ::Udm::ParentAttr< ::Uml::Association>(impl, meta_assocParent); }
+	::Udm::ParentAttr< ::Uml::Class> TaggedValue::classParent() const { return ::Udm::ParentAttr< ::Uml::Class>(impl, meta_classParent); }
+	::Udm::ParentAttr< ::Udm::Object> TaggedValue::parent() const { return ::Udm::ParentAttr< ::Udm::Object>(impl, ::Udm::NULLPARENTROLE); }
+
 	::Uml::Class TaggedValue::meta;
 	::Uml::Attribute TaggedValue::meta_value;
 	::Uml::Attribute TaggedValue::meta_name;
 	::Uml::CompositionParentRole TaggedValue::meta_assocParent;
 	::Uml::CompositionParentRole TaggedValue::meta_classParent;
 
+	ConstraintDefinition::ConstraintDefinition() {}
+	ConstraintDefinition::ConstraintDefinition(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	ConstraintDefinition::ConstraintDefinition(const ConstraintDefinition &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	ConstraintDefinition::ConstraintDefinition(ConstraintDefinition &&master) : UDM_OBJECT(master) {};
+
+	ConstraintDefinition ConstraintDefinition::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	ConstraintDefinition& ConstraintDefinition::operator=(ConstraintDefinition &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	ConstraintDefinition ConstraintDefinition::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	ConstraintDefinition ConstraintDefinition::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	ConstraintDefinition ConstraintDefinition::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< ConstraintDefinition> ConstraintDefinition::Instances() { return ::Udm::InstantiatedAttr< ConstraintDefinition>(impl); }
+	ConstraintDefinition ConstraintDefinition::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< ConstraintDefinition> ConstraintDefinition::Derived() { return ::Udm::DerivedAttr< ConstraintDefinition>(impl); }
+	::Udm::ArchetypeAttr< ConstraintDefinition> ConstraintDefinition::Archetype() const { return ::Udm::ArchetypeAttr< ConstraintDefinition>(impl); }
+	::Udm::StringAttr ConstraintDefinition::stereotype() const { return ::Udm::StringAttr(impl, meta_stereotype); }
+	::Udm::StringAttr ConstraintDefinition::name() const { return ::Udm::StringAttr(impl, meta_name); }
+	::Udm::StringAttr ConstraintDefinition::parameterList() const { return ::Udm::StringAttr(impl, meta_parameterList); }
+	::Udm::StringAttr ConstraintDefinition::expression() const { return ::Udm::StringAttr(impl, meta_expression); }
+	::Udm::StringAttr ConstraintDefinition::returnType() const { return ::Udm::StringAttr(impl, meta_returnType); }
+	::Udm::ParentAttr< ::Uml::Class> ConstraintDefinition::parent() const { return ::Udm::ParentAttr< ::Uml::Class>(impl, meta_parent); }
+
 	::Uml::Class ConstraintDefinition::meta;
 	::Uml::Attribute ConstraintDefinition::meta_stereotype;
 	::Uml::Attribute ConstraintDefinition::meta_name;
@@ -101,6 +398,35 @@
 	::Uml::Attribute ConstraintDefinition::meta_returnType;
 	::Uml::CompositionParentRole ConstraintDefinition::meta_parent;
 
+	Attribute::Attribute() {}
+	Attribute::Attribute(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	Attribute::Attribute(const Attribute &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	Attribute::Attribute(Attribute &&master) : UDM_OBJECT(master) {};
+
+	Attribute Attribute::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	Attribute& Attribute::operator=(Attribute &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	Attribute Attribute::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	Attribute Attribute::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	Attribute Attribute::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< Attribute> Attribute::Instances() { return ::Udm::InstantiatedAttr< Attribute>(impl); }
+	Attribute Attribute::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< Attribute> Attribute::Derived() { return ::Udm::DerivedAttr< Attribute>(impl); }
+	::Udm::ArchetypeAttr< Attribute> Attribute::Archetype() const { return ::Udm::ArchetypeAttr< Attribute>(impl); }
+	::Udm::StringAttr Attribute::name() const { return ::Udm::StringAttr(impl, meta_name); }
+	::Udm::StringAttr Attribute::type() const { return ::Udm::StringAttr(impl, meta_type); }
+	::Udm::StringAttrArr Attribute::defvalue() const { return ::Udm::StringAttrArr(impl, meta_defvalue); }
+	::Udm::IntegerAttr Attribute::min() const { return ::Udm::IntegerAttr(impl, meta_min); }
+	::Udm::IntegerAttr Attribute::max() const { return ::Udm::IntegerAttr(impl, meta_max); }
+	::Udm::StringAttr Attribute::visibility() const { return ::Udm::StringAttr(impl, meta_visibility); }
+	::Udm::BooleanAttr Attribute::ordered() const { return ::Udm::BooleanAttr(impl, meta_ordered); }
+	::Udm::BooleanAttr Attribute::nonpersistent() const { return ::Udm::BooleanAttr(impl, meta_nonpersistent); }
+	::Udm::BooleanAttr Attribute::registry() const { return ::Udm::BooleanAttr(impl, meta_registry); }
+	::Udm::ParentAttr< ::Uml::Class> Attribute::parent() const { return ::Udm::ParentAttr< ::Uml::Class>(impl, meta_parent); }
+
 	::Uml::Class Attribute::meta;
 	::Uml::Attribute Attribute::meta_name;
 	::Uml::Attribute Attribute::meta_type;
@@ -113,6 +439,29 @@
 	::Uml::Attribute Attribute::meta_registry;
 	::Uml::CompositionParentRole Attribute::meta_parent;
 
+	Constraint::Constraint() {}
+	Constraint::Constraint(::Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
+	Constraint::Constraint(const Constraint &master) : UDM_OBJECT(master) {}
+
+#ifdef UDM_RVALUE
+	Constraint::Constraint(Constraint &&master) : UDM_OBJECT(master) {};
+
+	Constraint Constraint::Cast(::Udm::Object &&a) { return __Cast(std::move(a), meta); };
+	Constraint& Constraint::operator=(Constraint &&a) { ::Udm::Object::operator =(std::move(a)); return *this; };
+
+#endif
+	Constraint Constraint::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }
+	Constraint Constraint::Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role); }
+	Constraint Constraint::CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl); }
+	::Udm::InstantiatedAttr< Constraint> Constraint::Instances() { return ::Udm::InstantiatedAttr< Constraint>(impl); }
+	Constraint Constraint::CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role) { return __Create(meta, parent, role, impl, true); }
+	::Udm::DerivedAttr< Constraint> Constraint::Derived() { return ::Udm::DerivedAttr< Constraint>(impl); }
+	::Udm::ArchetypeAttr< Constraint> Constraint::Archetype() const { return ::Udm::ArchetypeAttr< Constraint>(impl); }
+	::Udm::StringAttr Constraint::description() const { return ::Udm::StringAttr(impl, meta_description); }
+	::Udm::StringAttr Constraint::name() const { return ::Udm::StringAttr(impl, meta_name); }
+	::Udm::StringAttr Constraint::expression() const { return ::Udm::StringAttr(impl, meta_expression); }
+	::Udm::ParentAttr< ::Uml::Class> Constraint::parent() const { return ::Udm::ParentAttr< ::Uml::Class>(impl, meta_parent); }
+
 	::Uml::Class Constraint::meta;
 	::Uml::Attribute Constraint::meta_description;
 	::Uml::Attribute Constraint::meta_name;
@@ -497,15 +846,17 @@
 		::Uml::Initialize();
 
 	
-		UDM_ASSERT( meta == Udm::null );
+		UDM_ASSERT( meta == ::Udm::null );
 
 		meta = ::Uml::CreateDiagram();
 
-		UdmStatic::StaticDataNetwork* dn = new UdmStatic::StaticDataNetwork(diagram);
+
+		::UdmStatic::StaticDataNetwork* dn = new ::UdmStatic::StaticDataNetwork(diagram);
 		dn->rootobject = meta;
-		static_cast<UdmStatic::StaticObject*>(dn->rootobject.__impl())->mydn = dn;
+		static_cast< ::UdmStatic::StaticObject*>(dn->rootobject.__impl())->mydn = dn;
 		dn->systemname = "Uml";
-		dn->sem = Udm::CHANGES_LOST_DEFAULT;
+		dn->sem = ::Udm::CHANGES_LOST_DEFAULT;
+
 
 		CreateMeta();
 		InitMeta();
@@ -519,16 +870,16 @@
 	}
 
 
-	UDM_DLL Udm::UdmDiagram diagram = { &meta, Initialize };
+	UDM_DLL  ::Udm::UdmDiagram diagram = { &meta, Initialize };
 	static struct _regClass
 	{
 		_regClass()
 		{
-			Udm::MetaDepository::StoreDiagram("Uml", diagram);
+			::Udm::MetaDepository::StoreDiagram("Uml", diagram);
 		}
 		~_regClass()
 		{
-			Udm::MetaDepository::RemoveDiagram("Uml");
+			::Udm::MetaDepository::RemoveDiagram("Uml");
 		}
 	} __regUnUsed;
 

Modified: UDM/trunk/src/Uml/Uml.h
==============================================================================
--- UDM/trunk/src/Uml/Uml.h	Mon Nov 21 04:01:53 2011	(r3959)
+++ UDM/trunk/src/Uml/Uml.h	Mon Nov 21 04:08:09 2011	(r3960)
@@ -2,16 +2,16 @@
 #define MOBIES_UML_H
 
 // header file Uml.h generated from diagram Uml
-// generated with Udm version 3.27 on Mon May 02 10:03:39 2011
+// generated with Udm version 3.29 on Mon Nov 21 10:42:57 2011
 
 #include <UdmBase.h>
 
 #if !defined(UDM_VERSION_MAJOR) || !defined(UDM_VERSION_MINOR)
 #    error "Udm headers too old, they do not define UDM_VERSION"
 #elif UDM_VERSION_MAJOR < 3
-#    error "Udm headers too old, minimum version required 3.27"
-#elif UDM_VERSION_MAJOR == 3 && UDM_VERSION_MINOR < 27
-#    error "Udm headers too old, minimum version required 3.27"
+#    error "Udm headers too old, minimum version required 3.29"
+#elif UDM_VERSION_MAJOR == 3 && UDM_VERSION_MINOR < 29
+#    error "Udm headers too old, minimum version required 3.29"
 #endif
 
 #include <Uml.h>
@@ -46,31 +46,33 @@
 
 	UDM_DLL void Initialize();
 
-	extern UDM_DLL Udm::UdmDiagram diagram;
+	extern UDM_DLL  ::Udm::UdmDiagram diagram;
 
-	class UDM_DLL GenericRole : public Udm::Object {
+	class UDM_DLL GenericRole : public ::Udm::Object {
 	public:
-		GenericRole() {}
-		GenericRole(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		GenericRole(const GenericRole &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		GenericRole(GenericRole &&master) : UDM_OBJECT(master) {}
-
-		static GenericRole Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		GenericRole& operator=(GenericRole &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static GenericRole Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static GenericRole Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		GenericRole CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<GenericRole> Instances() { return Udm::InstantiatedAttr<GenericRole>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<GenericRole, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<GenericRole, Pred>(impl); }
-		GenericRole CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<GenericRole> Derived() { return Udm::DerivedAttr<GenericRole>(impl); }
-		template <class Pred> Udm::DerivedAttr<GenericRole, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<GenericRole, Pred>(impl); }
-		Udm::ArchetypeAttr<GenericRole> Archetype() const { return Udm::ArchetypeAttr<GenericRole>(impl); }
-		Udm::BooleanAttr isNavigable() const { return Udm::BooleanAttr(impl, meta_isNavigable); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::ParentAttr<Udm::Object> parent() const { return Udm::ParentAttr<Udm::Object>(impl, Udm::NULLPARENTROLE); }
+		GenericRole();
+		GenericRole(::Udm::ObjectImpl *impl);
+		GenericRole(const GenericRole &master);
+
+#ifdef UDM_RVALUE
+		GenericRole(GenericRole &&master);
+
+		static GenericRole Cast(::Udm::Object &&a);
+		GenericRole& operator=(GenericRole &&a);
+
+#endif
+		static GenericRole Cast(const ::Udm::Object &a);
+		static GenericRole Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		GenericRole CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< GenericRole> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< GenericRole, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< GenericRole, Pred>(impl); };
+		GenericRole CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< GenericRole> Derived();
+		template <class Pred> ::Udm::DerivedAttr< GenericRole, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< GenericRole, Pred>(impl); };
+		::Udm::ArchetypeAttr< GenericRole> Archetype() const;
+		::Udm::BooleanAttr isNavigable() const;
+		::Udm::StringAttr name() const;
+		::Udm::ParentAttr< ::Udm::Object> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_isNavigable;
@@ -80,28 +82,30 @@
 
 	class UDM_DLL CompositionChildRole :  public GenericRole {
 	public:
-		CompositionChildRole() {}
-		CompositionChildRole(Udm::ObjectImpl *impl) : GenericRole(impl) {}
-		CompositionChildRole(const CompositionChildRole &master) : GenericRole(master) {}
-		#ifdef UDM_RVALUE
-		CompositionChildRole(CompositionChildRole &&master) : GenericRole(master) {}
-
-		static CompositionChildRole Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		CompositionChildRole& operator=(CompositionChildRole &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static CompositionChildRole Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static CompositionChildRole Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		CompositionChildRole CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<CompositionChildRole> Instances() { return Udm::InstantiatedAttr<CompositionChildRole>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<CompositionChildRole, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<CompositionChildRole, Pred>(impl); }
-		CompositionChildRole CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<CompositionChildRole> Derived() { return Udm::DerivedAttr<CompositionChildRole>(impl); }
-		template <class Pred> Udm::DerivedAttr<CompositionChildRole, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<CompositionChildRole, Pred>(impl); }
-		Udm::ArchetypeAttr<CompositionChildRole> Archetype() const { return Udm::ArchetypeAttr<CompositionChildRole>(impl); }
-		Udm::IntegerAttr max() const { return Udm::IntegerAttr(impl, meta_max); }
-		Udm::IntegerAttr min() const { return Udm::IntegerAttr(impl, meta_min); }
-		Udm::PointerAttr< Class> target() const { return Udm::PointerAttr< Class>(impl, meta_target); }
-		Udm::ParentAttr< ::Uml::Composition> parent() const { return Udm::ParentAttr< ::Uml::Composition>(impl, meta_parent); }
+		CompositionChildRole();
+		CompositionChildRole(::Udm::ObjectImpl *impl);
+		CompositionChildRole(const CompositionChildRole &master);
+
+#ifdef UDM_RVALUE
+		CompositionChildRole(CompositionChildRole &&master);
+
+		static CompositionChildRole Cast(::Udm::Object &&a);
+		CompositionChildRole& operator=(CompositionChildRole &&a);
+
+#endif
+		static CompositionChildRole Cast(const ::Udm::Object &a);
+		static CompositionChildRole Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		CompositionChildRole CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< CompositionChildRole> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< CompositionChildRole, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< CompositionChildRole, Pred>(impl); };
+		CompositionChildRole CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< CompositionChildRole> Derived();
+		template <class Pred> ::Udm::DerivedAttr< CompositionChildRole, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< CompositionChildRole, Pred>(impl); };
+		::Udm::ArchetypeAttr< CompositionChildRole> Archetype() const;
+		::Udm::IntegerAttr max() const;
+		::Udm::IntegerAttr min() const;
+		::Udm::PointerAttr< Class> target() const;
+		::Udm::ParentAttr< ::Uml::Composition> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_max;
@@ -113,26 +117,28 @@
 
 	class UDM_DLL CompositionParentRole :  public GenericRole {
 	public:
-		CompositionParentRole() {}
-		CompositionParentRole(Udm::ObjectImpl *impl) : GenericRole(impl) {}
-		CompositionParentRole(const CompositionParentRole &master) : GenericRole(master) {}
-		#ifdef UDM_RVALUE
-		CompositionParentRole(CompositionParentRole &&master) : GenericRole(master) {}
-
-		static CompositionParentRole Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		CompositionParentRole& operator=(CompositionParentRole &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static CompositionParentRole Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static CompositionParentRole Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		CompositionParentRole CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<CompositionParentRole> Instances() { return Udm::InstantiatedAttr<CompositionParentRole>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<CompositionParentRole, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<CompositionParentRole, Pred>(impl); }
-		CompositionParentRole CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<CompositionParentRole> Derived() { return Udm::DerivedAttr<CompositionParentRole>(impl); }
-		template <class Pred> Udm::DerivedAttr<CompositionParentRole, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<CompositionParentRole, Pred>(impl); }
-		Udm::ArchetypeAttr<CompositionParentRole> Archetype() const { return Udm::ArchetypeAttr<CompositionParentRole>(impl); }
-		Udm::PointerAttr< Class> target() const { return Udm::PointerAttr< Class>(impl, meta_target); }
-		Udm::ParentAttr< ::Uml::Composition> parent() const { return Udm::ParentAttr< ::Uml::Composition>(impl, meta_parent); }
+		CompositionParentRole();
+		CompositionParentRole(::Udm::ObjectImpl *impl);
+		CompositionParentRole(const CompositionParentRole &master);
+
+#ifdef UDM_RVALUE
+		CompositionParentRole(CompositionParentRole &&master);
+
+		static CompositionParentRole Cast(::Udm::Object &&a);
+		CompositionParentRole& operator=(CompositionParentRole &&a);
+
+#endif
+		static CompositionParentRole Cast(const ::Udm::Object &a);
+		static CompositionParentRole Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		CompositionParentRole CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< CompositionParentRole> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< CompositionParentRole, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< CompositionParentRole, Pred>(impl); };
+		CompositionParentRole CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< CompositionParentRole> Derived();
+		template <class Pred> ::Udm::DerivedAttr< CompositionParentRole, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< CompositionParentRole, Pred>(impl); };
+		::Udm::ArchetypeAttr< CompositionParentRole> Archetype() const;
+		::Udm::PointerAttr< Class> target() const;
+		::Udm::ParentAttr< ::Uml::Composition> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::AssociationRole meta_target;
@@ -142,31 +148,33 @@
 
 	class UDM_DLL AssociationRole :  public GenericRole {
 	public:
-		AssociationRole() {}
-		AssociationRole(Udm::ObjectImpl *impl) : GenericRole(impl) {}
-		AssociationRole(const AssociationRole &master) : GenericRole(master) {}
-		#ifdef UDM_RVALUE
-		AssociationRole(AssociationRole &&master) : GenericRole(master) {}
-
-		static AssociationRole Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		AssociationRole& operator=(AssociationRole &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static AssociationRole Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static AssociationRole Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		AssociationRole CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<AssociationRole> Instances() { return Udm::InstantiatedAttr<AssociationRole>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<AssociationRole, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<AssociationRole, Pred>(impl); }
-		AssociationRole CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<AssociationRole> Derived() { return Udm::DerivedAttr<AssociationRole>(impl); }
-		template <class Pred> Udm::DerivedAttr<AssociationRole, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<AssociationRole, Pred>(impl); }
-		Udm::ArchetypeAttr<AssociationRole> Archetype() const { return Udm::ArchetypeAttr<AssociationRole>(impl); }
-		Udm::IntegerAttr max() const { return Udm::IntegerAttr(impl, meta_max); }
-		Udm::IntegerAttr min() const { return Udm::IntegerAttr(impl, meta_min); }
-		Udm::BooleanAttr isPrimary() const { return Udm::BooleanAttr(impl, meta_isPrimary); }
-		Udm::PointerAttr< AssociationRole> rp_helper() const { return Udm::PointerAttr< AssociationRole>(impl, meta_rp_helper); }
-		Udm::PointerAttr< AssociationRole> rp_helper_user() const { return Udm::PointerAttr< AssociationRole>(impl, meta_rp_helper_user); }
-		Udm::PointerAttr< Class> target() const { return Udm::PointerAttr< Class>(impl, meta_target); }
-		Udm::ParentAttr< ::Uml::Association> parent() const { return Udm::ParentAttr< ::Uml::Association>(impl, meta_parent); }
+		AssociationRole();
+		AssociationRole(::Udm::ObjectImpl *impl);
+		AssociationRole(const AssociationRole &master);
+
+#ifdef UDM_RVALUE
+		AssociationRole(AssociationRole &&master);
+
+		static AssociationRole Cast(::Udm::Object &&a);
+		AssociationRole& operator=(AssociationRole &&a);
+
+#endif
+		static AssociationRole Cast(const ::Udm::Object &a);
+		static AssociationRole Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		AssociationRole CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< AssociationRole> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< AssociationRole, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< AssociationRole, Pred>(impl); };
+		AssociationRole CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< AssociationRole> Derived();
+		template <class Pred> ::Udm::DerivedAttr< AssociationRole, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< AssociationRole, Pred>(impl); };
+		::Udm::ArchetypeAttr< AssociationRole> Archetype() const;
+		::Udm::IntegerAttr max() const;
+		::Udm::IntegerAttr min() const;
+		::Udm::BooleanAttr isPrimary() const;
+		::Udm::PointerAttr< AssociationRole> rp_helper() const;
+		::Udm::PointerAttr< AssociationRole> rp_helper_user() const;
+		::Udm::PointerAttr< Class> target() const;
+		::Udm::ParentAttr< ::Uml::Association> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_max;
@@ -179,59 +187,61 @@
 
 	};
 
-	class UDM_DLL Class : public Udm::Object {
+	class UDM_DLL Class : public ::Udm::Object {
 	public:
-		Class() {}
-		Class(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Class(const Class &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Class(Class &&master) : UDM_OBJECT(master) {}
-
-		static Class Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Class& operator=(Class &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Class Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Class Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Class CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Class> Instances() { return Udm::InstantiatedAttr<Class>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Class, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Class, Pred>(impl); }
-		Class CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Class> Derived() { return Udm::DerivedAttr<Class>(impl); }
-		template <class Pred> Udm::DerivedAttr<Class, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Class, Pred>(impl); }
-		Udm::ArchetypeAttr<Class> Archetype() const { return Udm::ArchetypeAttr<Class>(impl); }
-		Udm::BooleanAttr isAbstract() const { return Udm::BooleanAttr(impl, meta_isAbstract); }
-		Udm::StringAttr stereotype() const { return Udm::StringAttr(impl, meta_stereotype); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::StringAttr from() const { return Udm::StringAttr(impl, meta_from); }
-		Udm::AssocAttr< CompositionChildRole> childRoles() const { return Udm::AssocAttr< CompositionChildRole>(impl, meta_childRoles); }
-		template <class Pred> Udm::AssocAttr< CompositionChildRole, Pred> childRoles_sorted(const Pred &) const { return Udm::AssocAttr< CompositionChildRole, Pred>(impl, meta_childRoles); }
-		Udm::AssocAttr< CompositionParentRole> parentRoles() const { return Udm::AssocAttr< CompositionParentRole>(impl, meta_parentRoles); }
-		template <class Pred> Udm::AssocAttr< CompositionParentRole, Pred> parentRoles_sorted(const Pred &) const { return Udm::AssocAttr< CompositionParentRole, Pred>(impl, meta_parentRoles); }
-		Udm::AssocAttr< AssociationRole> associationRoles() const { return Udm::AssocAttr< AssociationRole>(impl, meta_associationRoles); }
-		template <class Pred> Udm::AssocAttr< AssociationRole, Pred> associationRoles_sorted(const Pred &) const { return Udm::AssocAttr< AssociationRole, Pred>(impl, meta_associationRoles); }
-		Udm::PointerAttr< Association> association() const { return Udm::PointerAttr< Association>(impl, meta_association); }
-		Udm::AssocAttr< Class> baseTypes() const { return Udm::AssocAttr< Class>(impl, meta_baseTypes); }
-		template <class Pred> Udm::AssocAttr< Class, Pred> baseTypes_sorted(const Pred &) const { return Udm::AssocAttr< Class, Pred>(impl, meta_baseTypes); }
-		Udm::AssocAttr< Class> subTypes() const { return Udm::AssocAttr< Class>(impl, meta_subTypes); }
-		template <class Pred> Udm::AssocAttr< Class, Pred> subTypes_sorted(const Pred &) const { return Udm::AssocAttr< Class, Pred>(impl, meta_subTypes); }
-		Udm::ChildrenAttr< ::Uml::ConstraintDefinition> definitions() const { return Udm::ChildrenAttr< ::Uml::ConstraintDefinition>(impl, meta_definitions); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred> definitions_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred>(impl, meta_definitions); }
-		Udm::ChildrenAttr< ::Uml::Attribute> attributes() const { return Udm::ChildrenAttr< ::Uml::Attribute>(impl, meta_attributes); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Attribute, Pred> attributes_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Attribute, Pred>(impl, meta_attributes); }
-		Udm::ChildrenAttr< ::Uml::Constraint> constraints() const { return Udm::ChildrenAttr< ::Uml::Constraint>(impl, meta_constraints); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Constraint, Pred> constraints_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Constraint, Pred>(impl, meta_constraints); }
-		Udm::ChildrenAttr< ::Uml::TaggedValue> tagValues() const { return Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, meta_tagValues); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> tagValues_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, meta_tagValues); }
-		Udm::ChildrenAttr< ::Uml::TaggedValue> TaggedValue_kind_children() const { return Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> TaggedValue_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::ConstraintDefinition> ConstraintDefinition_kind_children() const { return Udm::ChildrenAttr< ::Uml::ConstraintDefinition>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred> ConstraintDefinition_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Attribute> Attribute_kind_children() const { return Udm::ChildrenAttr< ::Uml::Attribute>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Attribute, Pred> Attribute_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Attribute, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Constraint> Constraint_kind_children() const { return Udm::ChildrenAttr< ::Uml::Constraint>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Constraint, Pred> Constraint_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Constraint, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ParentAttr< ::Uml::Diagram> parent() const { return Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
-		Udm::ParentAttr< ::Uml::Namespace> parent_ns() const { return Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+		Class();
+		Class(::Udm::ObjectImpl *impl);
+		Class(const Class &master);
+
+#ifdef UDM_RVALUE
+		Class(Class &&master);
+
+		static Class Cast(::Udm::Object &&a);
+		Class& operator=(Class &&a);
+
+#endif
+		static Class Cast(const ::Udm::Object &a);
+		static Class Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Class CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Class> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Class, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Class, Pred>(impl); };
+		Class CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Class> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Class, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Class, Pred>(impl); };
+		::Udm::ArchetypeAttr< Class> Archetype() const;
+		::Udm::BooleanAttr isAbstract() const;
+		::Udm::StringAttr stereotype() const;
+		::Udm::StringAttr name() const;
+		::Udm::StringAttr from() const;
+		::Udm::AssocAttr< CompositionChildRole> childRoles() const;
+		template <class Pred> ::Udm::AssocAttr< CompositionChildRole, Pred> childRoles_sorted(const Pred &) const { return ::Udm::AssocAttr< CompositionChildRole, Pred>(impl, meta_childRoles); };
+		::Udm::AssocAttr< CompositionParentRole> parentRoles() const;
+		template <class Pred> ::Udm::AssocAttr< CompositionParentRole, Pred> parentRoles_sorted(const Pred &) const { return ::Udm::AssocAttr< CompositionParentRole, Pred>(impl, meta_parentRoles); };
+		::Udm::AssocAttr< AssociationRole> associationRoles() const;
+		template <class Pred> ::Udm::AssocAttr< AssociationRole, Pred> associationRoles_sorted(const Pred &) const { return ::Udm::AssocAttr< AssociationRole, Pred>(impl, meta_associationRoles); };
+		::Udm::PointerAttr< Association> association() const;
+		::Udm::AssocAttr< Class> baseTypes() const;
+		template <class Pred> ::Udm::AssocAttr< Class, Pred> baseTypes_sorted(const Pred &) const { return ::Udm::AssocAttr< Class, Pred>(impl, meta_baseTypes); };
+		::Udm::AssocAttr< Class> subTypes() const;
+		template <class Pred> ::Udm::AssocAttr< Class, Pred> subTypes_sorted(const Pred &) const { return ::Udm::AssocAttr< Class, Pred>(impl, meta_subTypes); };
+		::Udm::ChildrenAttr< ::Uml::ConstraintDefinition> definitions() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred> definitions_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred>(impl, meta_definitions); };
+		::Udm::ChildrenAttr< ::Uml::Attribute> attributes() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Attribute, Pred> attributes_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Attribute, Pred>(impl, meta_attributes); };
+		::Udm::ChildrenAttr< ::Uml::Constraint> constraints() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Constraint, Pred> constraints_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Constraint, Pred>(impl, meta_constraints); };
+		::Udm::ChildrenAttr< ::Uml::TaggedValue> tagValues() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> tagValues_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, meta_tagValues); };
+		::Udm::ChildrenAttr< ::Uml::TaggedValue> TaggedValue_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> TaggedValue_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::ConstraintDefinition> ConstraintDefinition_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred> ConstraintDefinition_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::ConstraintDefinition, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Attribute> Attribute_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Attribute, Pred> Attribute_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Attribute, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Constraint> Constraint_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Constraint, Pred> Constraint_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Constraint, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ParentAttr< ::Uml::Diagram> parent() const;
+		::Udm::ParentAttr< ::Uml::Namespace> parent_ns() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_isAbstract;
@@ -253,45 +263,47 @@
 
 	};
 
-	class UDM_DLL Diagram : public Udm::Object {
+	class UDM_DLL Diagram : public ::Udm::Object {
 	public:
-		Diagram() {}
-		Diagram(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Diagram(const Diagram &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Diagram(Diagram &&master) : UDM_OBJECT(master) {}
-
-		static Diagram Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Diagram& operator=(Diagram &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Diagram Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Diagram Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Diagram CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Diagram> Instances() { return Udm::InstantiatedAttr<Diagram>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Diagram, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Diagram, Pred>(impl); }
-		Diagram CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Diagram> Derived() { return Udm::DerivedAttr<Diagram>(impl); }
-		template <class Pred> Udm::DerivedAttr<Diagram, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Diagram, Pred>(impl); }
-		Udm::ArchetypeAttr<Diagram> Archetype() const { return Udm::ArchetypeAttr<Diagram>(impl); }
-		Udm::StringAttr version() const { return Udm::StringAttr(impl, meta_version); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::ChildrenAttr< ::Uml::Class> classes() const { return Udm::ChildrenAttr< ::Uml::Class>(impl, meta_classes); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Class, Pred> classes_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, meta_classes); }
-		Udm::ChildrenAttr< ::Uml::Association> associations() const { return Udm::ChildrenAttr< ::Uml::Association>(impl, meta_associations); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Association, Pred> associations_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, meta_associations); }
-		Udm::ChildrenAttr< ::Uml::Composition> compositions() const { return Udm::ChildrenAttr< ::Uml::Composition>(impl, meta_compositions); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Composition, Pred> compositions_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, meta_compositions); }
-		Udm::ChildrenAttr< ::Uml::Namespace> namespaces() const { return Udm::ChildrenAttr< ::Uml::Namespace>(impl, meta_namespaces); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Namespace, Pred> namespaces_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, meta_namespaces); }
-		Udm::ChildrenAttr< ::Uml::Class> Class_kind_children() const { return Udm::ChildrenAttr< ::Uml::Class>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Class, Pred> Class_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Association> Association_kind_children() const { return Udm::ChildrenAttr< ::Uml::Association>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Association, Pred> Association_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Composition> Composition_kind_children() const { return Udm::ChildrenAttr< ::Uml::Composition>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Composition, Pred> Composition_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Namespace> Namespace_kind_children() const { return Udm::ChildrenAttr< ::Uml::Namespace>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Namespace, Pred> Namespace_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ParentAttr<Udm::Object> parent() const { return Udm::ParentAttr<Udm::Object>(impl, Udm::NULLPARENTROLE); }
+		Diagram();
+		Diagram(::Udm::ObjectImpl *impl);
+		Diagram(const Diagram &master);
+
+#ifdef UDM_RVALUE
+		Diagram(Diagram &&master);
+
+		static Diagram Cast(::Udm::Object &&a);
+		Diagram& operator=(Diagram &&a);
+
+#endif
+		static Diagram Cast(const ::Udm::Object &a);
+		static Diagram Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Diagram CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Diagram> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Diagram, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Diagram, Pred>(impl); };
+		Diagram CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Diagram> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Diagram, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Diagram, Pred>(impl); };
+		::Udm::ArchetypeAttr< Diagram> Archetype() const;
+		::Udm::StringAttr version() const;
+		::Udm::StringAttr name() const;
+		::Udm::ChildrenAttr< ::Uml::Class> classes() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Class, Pred> classes_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, meta_classes); };
+		::Udm::ChildrenAttr< ::Uml::Association> associations() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Association, Pred> associations_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, meta_associations); };
+		::Udm::ChildrenAttr< ::Uml::Composition> compositions() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Composition, Pred> compositions_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, meta_compositions); };
+		::Udm::ChildrenAttr< ::Uml::Namespace> namespaces() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Namespace, Pred> namespaces_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, meta_namespaces); };
+		::Udm::ChildrenAttr< ::Uml::Class> Class_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Class, Pred> Class_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Association> Association_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Association, Pred> Association_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Composition> Composition_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Composition, Pred> Composition_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Namespace> Namespace_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Namespace, Pred> Namespace_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ParentAttr< ::Udm::Object> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_version;
@@ -303,41 +315,43 @@
 
 	};
 
-	class UDM_DLL Association : public Udm::Object {
+	class UDM_DLL Association : public ::Udm::Object {
 	public:
-		Association() {}
-		Association(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Association(const Association &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Association(Association &&master) : UDM_OBJECT(master) {}
-
-		static Association Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Association& operator=(Association &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Association Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Association Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Association CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Association> Instances() { return Udm::InstantiatedAttr<Association>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Association, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Association, Pred>(impl); }
-		Association CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Association> Derived() { return Udm::DerivedAttr<Association>(impl); }
-		template <class Pred> Udm::DerivedAttr<Association, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Association, Pred>(impl); }
-		Udm::ArchetypeAttr<Association> Archetype() const { return Udm::ArchetypeAttr<Association>(impl); }
-		Udm::BooleanAttr nonpersistent() const { return Udm::BooleanAttr(impl, meta_nonpersistent); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::PointerAttr< Class> assocClass() const { return Udm::PointerAttr< Class>(impl, meta_assocClass); }
-		Udm::ChildrenAttr< ::Uml::AssociationRole> roles() const { return Udm::ChildrenAttr< ::Uml::AssociationRole>(impl, meta_roles); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::AssociationRole, Pred> roles_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::AssociationRole, Pred>(impl, meta_roles); }
-		Udm::ChildrenAttr< ::Uml::TaggedValue> tagValues() const { return Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, meta_tagValues); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> tagValues_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, meta_tagValues); }
-		Udm::ChildrenAttr< ::Uml::GenericRole> GenericRole_kind_children() const { return Udm::ChildrenAttr< ::Uml::GenericRole>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::GenericRole, Pred> GenericRole_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::GenericRole, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::AssociationRole> AssociationRole_kind_children() const { return Udm::ChildrenAttr< ::Uml::AssociationRole>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::AssociationRole, Pred> AssociationRole_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::AssociationRole, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::TaggedValue> TaggedValue_kind_children() const { return Udm::ChildrenAttr< ::Uml::TaggedValue>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> TaggedValue_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ParentAttr< ::Uml::Diagram> parent() const { return Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
-		Udm::ParentAttr< ::Uml::Namespace> parent_ns() const { return Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+		Association();
+		Association(::Udm::ObjectImpl *impl);
+		Association(const Association &master);
+
+#ifdef UDM_RVALUE
+		Association(Association &&master);
+
+		static Association Cast(::Udm::Object &&a);
+		Association& operator=(Association &&a);
+
+#endif
+		static Association Cast(const ::Udm::Object &a);
+		static Association Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Association CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Association> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Association, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Association, Pred>(impl); };
+		Association CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Association> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Association, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Association, Pred>(impl); };
+		::Udm::ArchetypeAttr< Association> Archetype() const;
+		::Udm::BooleanAttr nonpersistent() const;
+		::Udm::StringAttr name() const;
+		::Udm::PointerAttr< Class> assocClass() const;
+		::Udm::ChildrenAttr< ::Uml::AssociationRole> roles() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::AssociationRole, Pred> roles_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::AssociationRole, Pred>(impl, meta_roles); };
+		::Udm::ChildrenAttr< ::Uml::TaggedValue> tagValues() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> tagValues_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, meta_tagValues); };
+		::Udm::ChildrenAttr< ::Uml::GenericRole> GenericRole_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::GenericRole, Pred> GenericRole_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::GenericRole, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::AssociationRole> AssociationRole_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::AssociationRole, Pred> AssociationRole_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::AssociationRole, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::TaggedValue> TaggedValue_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred> TaggedValue_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::TaggedValue, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ParentAttr< ::Uml::Diagram> parent() const;
+		::Udm::ParentAttr< ::Uml::Namespace> parent_ns() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_nonpersistent;
@@ -350,38 +364,40 @@
 
 	};
 
-	class UDM_DLL Composition : public Udm::Object {
+	class UDM_DLL Composition : public ::Udm::Object {
 	public:
-		Composition() {}
-		Composition(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Composition(const Composition &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Composition(Composition &&master) : UDM_OBJECT(master) {}
-
-		static Composition Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Composition& operator=(Composition &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Composition Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Composition Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Composition CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Composition> Instances() { return Udm::InstantiatedAttr<Composition>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Composition, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Composition, Pred>(impl); }
-		Composition CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Composition> Derived() { return Udm::DerivedAttr<Composition>(impl); }
-		template <class Pred> Udm::DerivedAttr<Composition, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Composition, Pred>(impl); }
-		Udm::ArchetypeAttr<Composition> Archetype() const { return Udm::ArchetypeAttr<Composition>(impl); }
-		Udm::BooleanAttr nonpersistent() const { return Udm::BooleanAttr(impl, meta_nonpersistent); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::ChildAttr< ::Uml::CompositionParentRole> parentRole() const { return Udm::ChildAttr< ::Uml::CompositionParentRole>(impl, meta_parentRole); }
-		Udm::ChildAttr< ::Uml::CompositionChildRole> childRole() const { return Udm::ChildAttr< ::Uml::CompositionChildRole>(impl, meta_childRole); }
-		Udm::ChildrenAttr< ::Uml::CompositionChildRole> CompositionChildRole_kind_children() const { return Udm::ChildrenAttr< ::Uml::CompositionChildRole>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::CompositionChildRole, Pred> CompositionChildRole_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::CompositionChildRole, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::GenericRole> GenericRole_kind_children() const { return Udm::ChildrenAttr< ::Uml::GenericRole>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::GenericRole, Pred> GenericRole_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::GenericRole, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::CompositionParentRole> CompositionParentRole_kind_children() const { return Udm::ChildrenAttr< ::Uml::CompositionParentRole>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::CompositionParentRole, Pred> CompositionParentRole_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::CompositionParentRole, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ParentAttr< ::Uml::Diagram> parent() const { return Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
-		Udm::ParentAttr< ::Uml::Namespace> parent_ns() const { return Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+		Composition();
+		Composition(::Udm::ObjectImpl *impl);
+		Composition(const Composition &master);
+
+#ifdef UDM_RVALUE
+		Composition(Composition &&master);
+
+		static Composition Cast(::Udm::Object &&a);
+		Composition& operator=(Composition &&a);
+
+#endif
+		static Composition Cast(const ::Udm::Object &a);
+		static Composition Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Composition CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Composition> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Composition, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Composition, Pred>(impl); };
+		Composition CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Composition> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Composition, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Composition, Pred>(impl); };
+		::Udm::ArchetypeAttr< Composition> Archetype() const;
+		::Udm::BooleanAttr nonpersistent() const;
+		::Udm::StringAttr name() const;
+		::Udm::ChildAttr< ::Uml::CompositionParentRole> parentRole() const;
+		::Udm::ChildAttr< ::Uml::CompositionChildRole> childRole() const;
+		::Udm::ChildrenAttr< ::Uml::CompositionChildRole> CompositionChildRole_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::CompositionChildRole, Pred> CompositionChildRole_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::CompositionChildRole, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::GenericRole> GenericRole_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::GenericRole, Pred> GenericRole_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::GenericRole, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::CompositionParentRole> CompositionParentRole_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::CompositionParentRole, Pred> CompositionParentRole_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::CompositionParentRole, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ParentAttr< ::Uml::Diagram> parent() const;
+		::Udm::ParentAttr< ::Uml::Namespace> parent_ns() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_nonpersistent;
@@ -393,45 +409,47 @@
 
 	};
 
-	class UDM_DLL Namespace : public Udm::Object {
+	class UDM_DLL Namespace : public ::Udm::Object {
 	public:
-		Namespace() {}
-		Namespace(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Namespace(const Namespace &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Namespace(Namespace &&master) : UDM_OBJECT(master) {}
-
-		static Namespace Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Namespace& operator=(Namespace &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Namespace Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Namespace Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Namespace CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Namespace> Instances() { return Udm::InstantiatedAttr<Namespace>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Namespace, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Namespace, Pred>(impl); }
-		Namespace CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Namespace> Derived() { return Udm::DerivedAttr<Namespace>(impl); }
-		template <class Pred> Udm::DerivedAttr<Namespace, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Namespace, Pred>(impl); }
-		Udm::ArchetypeAttr<Namespace> Archetype() const { return Udm::ArchetypeAttr<Namespace>(impl); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::ChildrenAttr< ::Uml::Namespace> namespaces() const { return Udm::ChildrenAttr< ::Uml::Namespace>(impl, meta_namespaces); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Namespace, Pred> namespaces_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, meta_namespaces); }
-		Udm::ChildrenAttr< ::Uml::Class> classes() const { return Udm::ChildrenAttr< ::Uml::Class>(impl, meta_classes); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Class, Pred> classes_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, meta_classes); }
-		Udm::ChildrenAttr< ::Uml::Composition> compositions() const { return Udm::ChildrenAttr< ::Uml::Composition>(impl, meta_compositions); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Composition, Pred> compositions_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, meta_compositions); }
-		Udm::ChildrenAttr< ::Uml::Association> associations() const { return Udm::ChildrenAttr< ::Uml::Association>(impl, meta_associations); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Association, Pred> associations_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, meta_associations); }
-		Udm::ChildrenAttr< ::Uml::Class> Class_kind_children() const { return Udm::ChildrenAttr< ::Uml::Class>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Class, Pred> Class_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Association> Association_kind_children() const { return Udm::ChildrenAttr< ::Uml::Association>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Association, Pred> Association_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Composition> Composition_kind_children() const { return Udm::ChildrenAttr< ::Uml::Composition>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Composition, Pred> Composition_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ChildrenAttr< ::Uml::Namespace> Namespace_kind_children() const { return Udm::ChildrenAttr< ::Uml::Namespace>(impl, Udm::NULLCHILDROLE); }
-		template <class Pred> Udm::ChildrenAttr< ::Uml::Namespace, Pred> Namespace_kind_children_sorted(const Pred &) const { return Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, Udm::NULLCHILDROLE); }
-		Udm::ParentAttr< ::Uml::Diagram> parent() const { return Udm::ParentAttr< ::Uml::Diagram>(impl, meta_parent); }
-		Udm::ParentAttr< ::Uml::Namespace> parent_ns() const { return Udm::ParentAttr< ::Uml::Namespace>(impl, meta_parent_ns); }
+		Namespace();
+		Namespace(::Udm::ObjectImpl *impl);
+		Namespace(const Namespace &master);
+
+#ifdef UDM_RVALUE
+		Namespace(Namespace &&master);
+
+		static Namespace Cast(::Udm::Object &&a);
+		Namespace& operator=(Namespace &&a);
+
+#endif
+		static Namespace Cast(const ::Udm::Object &a);
+		static Namespace Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Namespace CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Namespace> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Namespace, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Namespace, Pred>(impl); };
+		Namespace CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Namespace> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Namespace, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Namespace, Pred>(impl); };
+		::Udm::ArchetypeAttr< Namespace> Archetype() const;
+		::Udm::StringAttr name() const;
+		::Udm::ChildrenAttr< ::Uml::Namespace> namespaces() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Namespace, Pred> namespaces_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, meta_namespaces); };
+		::Udm::ChildrenAttr< ::Uml::Class> classes() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Class, Pred> classes_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, meta_classes); };
+		::Udm::ChildrenAttr< ::Uml::Composition> compositions() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Composition, Pred> compositions_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, meta_compositions); };
+		::Udm::ChildrenAttr< ::Uml::Association> associations() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Association, Pred> associations_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, meta_associations); };
+		::Udm::ChildrenAttr< ::Uml::Class> Class_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Class, Pred> Class_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Class, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Association> Association_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Association, Pred> Association_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Association, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Composition> Composition_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Composition, Pred> Composition_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Composition, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ChildrenAttr< ::Uml::Namespace> Namespace_kind_children() const;
+		template <class Pred> ::Udm::ChildrenAttr< ::Uml::Namespace, Pred> Namespace_kind_children_sorted(const Pred &) const { return ::Udm::ChildrenAttr< ::Uml::Namespace, Pred>(impl, ::Udm::NULLCHILDROLE); };
+		::Udm::ParentAttr< ::Uml::Diagram> parent() const;
+		::Udm::ParentAttr< ::Uml::Namespace> parent_ns() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_name;
@@ -444,31 +462,33 @@
 
 	};
 
-	class UDM_DLL TaggedValue : public Udm::Object {
+	class UDM_DLL TaggedValue : public ::Udm::Object {
 	public:
-		TaggedValue() {}
-		TaggedValue(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		TaggedValue(const TaggedValue &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		TaggedValue(TaggedValue &&master) : UDM_OBJECT(master) {}
-
-		static TaggedValue Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		TaggedValue& operator=(TaggedValue &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static TaggedValue Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static TaggedValue Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		TaggedValue CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<TaggedValue> Instances() { return Udm::InstantiatedAttr<TaggedValue>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<TaggedValue, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<TaggedValue, Pred>(impl); }
-		TaggedValue CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<TaggedValue> Derived() { return Udm::DerivedAttr<TaggedValue>(impl); }
-		template <class Pred> Udm::DerivedAttr<TaggedValue, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<TaggedValue, Pred>(impl); }
-		Udm::ArchetypeAttr<TaggedValue> Archetype() const { return Udm::ArchetypeAttr<TaggedValue>(impl); }
-		Udm::StringAttr value() const { return Udm::StringAttr(impl, meta_value); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::ParentAttr< ::Uml::Association> assocParent() const { return Udm::ParentAttr< ::Uml::Association>(impl, meta_assocParent); }
-		Udm::ParentAttr< ::Uml::Class> classParent() const { return Udm::ParentAttr< ::Uml::Class>(impl, meta_classParent); }
-		Udm::ParentAttr<Udm::Object> parent() const { return Udm::ParentAttr<Udm::Object>(impl, Udm::NULLPARENTROLE); }
+		TaggedValue();
+		TaggedValue(::Udm::ObjectImpl *impl);
+		TaggedValue(const TaggedValue &master);
+
+#ifdef UDM_RVALUE
+		TaggedValue(TaggedValue &&master);
+
+		static TaggedValue Cast(::Udm::Object &&a);
+		TaggedValue& operator=(TaggedValue &&a);
+
+#endif
+		static TaggedValue Cast(const ::Udm::Object &a);
+		static TaggedValue Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		TaggedValue CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< TaggedValue> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< TaggedValue, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< TaggedValue, Pred>(impl); };
+		TaggedValue CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< TaggedValue> Derived();
+		template <class Pred> ::Udm::DerivedAttr< TaggedValue, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< TaggedValue, Pred>(impl); };
+		::Udm::ArchetypeAttr< TaggedValue> Archetype() const;
+		::Udm::StringAttr value() const;
+		::Udm::StringAttr name() const;
+		::Udm::ParentAttr< ::Uml::Association> assocParent() const;
+		::Udm::ParentAttr< ::Uml::Class> classParent() const;
+		::Udm::ParentAttr< ::Udm::Object> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_value;
@@ -478,32 +498,34 @@
 
 	};
 
-	class UDM_DLL ConstraintDefinition : public Udm::Object {
+	class UDM_DLL ConstraintDefinition : public ::Udm::Object {
 	public:
-		ConstraintDefinition() {}
-		ConstraintDefinition(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		ConstraintDefinition(const ConstraintDefinition &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		ConstraintDefinition(ConstraintDefinition &&master) : UDM_OBJECT(master) {}
-
-		static ConstraintDefinition Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		ConstraintDefinition& operator=(ConstraintDefinition &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static ConstraintDefinition Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static ConstraintDefinition Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		ConstraintDefinition CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<ConstraintDefinition> Instances() { return Udm::InstantiatedAttr<ConstraintDefinition>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<ConstraintDefinition, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<ConstraintDefinition, Pred>(impl); }
-		ConstraintDefinition CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<ConstraintDefinition> Derived() { return Udm::DerivedAttr<ConstraintDefinition>(impl); }
-		template <class Pred> Udm::DerivedAttr<ConstraintDefinition, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<ConstraintDefinition, Pred>(impl); }
-		Udm::ArchetypeAttr<ConstraintDefinition> Archetype() const { return Udm::ArchetypeAttr<ConstraintDefinition>(impl); }
-		Udm::StringAttr stereotype() const { return Udm::StringAttr(impl, meta_stereotype); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::StringAttr parameterList() const { return Udm::StringAttr(impl, meta_parameterList); }
-		Udm::StringAttr expression() const { return Udm::StringAttr(impl, meta_expression); }
-		Udm::StringAttr returnType() const { return Udm::StringAttr(impl, meta_returnType); }
-		Udm::ParentAttr< ::Uml::Class> parent() const { return Udm::ParentAttr< ::Uml::Class>(impl, meta_parent); }
+		ConstraintDefinition();
+		ConstraintDefinition(::Udm::ObjectImpl *impl);
+		ConstraintDefinition(const ConstraintDefinition &master);
+
+#ifdef UDM_RVALUE
+		ConstraintDefinition(ConstraintDefinition &&master);
+
+		static ConstraintDefinition Cast(::Udm::Object &&a);
+		ConstraintDefinition& operator=(ConstraintDefinition &&a);
+
+#endif
+		static ConstraintDefinition Cast(const ::Udm::Object &a);
+		static ConstraintDefinition Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		ConstraintDefinition CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< ConstraintDefinition> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< ConstraintDefinition, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< ConstraintDefinition, Pred>(impl); };
+		ConstraintDefinition CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< ConstraintDefinition> Derived();
+		template <class Pred> ::Udm::DerivedAttr< ConstraintDefinition, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< ConstraintDefinition, Pred>(impl); };
+		::Udm::ArchetypeAttr< ConstraintDefinition> Archetype() const;
+		::Udm::StringAttr stereotype() const;
+		::Udm::StringAttr name() const;
+		::Udm::StringAttr parameterList() const;
+		::Udm::StringAttr expression() const;
+		::Udm::StringAttr returnType() const;
+		::Udm::ParentAttr< ::Uml::Class> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_stereotype;
@@ -515,36 +537,38 @@
 
 	};
 
-	class UDM_DLL Attribute : public Udm::Object {
+	class UDM_DLL Attribute : public ::Udm::Object {
 	public:
-		Attribute() {}
-		Attribute(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Attribute(const Attribute &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Attribute(Attribute &&master) : UDM_OBJECT(master) {}
-
-		static Attribute Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Attribute& operator=(Attribute &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Attribute Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Attribute Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Attribute CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Attribute> Instances() { return Udm::InstantiatedAttr<Attribute>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Attribute, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Attribute, Pred>(impl); }
-		Attribute CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Attribute> Derived() { return Udm::DerivedAttr<Attribute>(impl); }
-		template <class Pred> Udm::DerivedAttr<Attribute, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Attribute, Pred>(impl); }
-		Udm::ArchetypeAttr<Attribute> Archetype() const { return Udm::ArchetypeAttr<Attribute>(impl); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::StringAttr type() const { return Udm::StringAttr(impl, meta_type); }
-		Udm::StringAttrArr defvalue() const { return Udm::StringAttrArr(impl, meta_defvalue); }
-		Udm::IntegerAttr min() const { return Udm::IntegerAttr(impl, meta_min); }
-		Udm::IntegerAttr max() const { return Udm::IntegerAttr(impl, meta_max); }
-		Udm::StringAttr visibility() const { return Udm::StringAttr(impl, meta_visibility); }
-		Udm::BooleanAttr ordered() const { return Udm::BooleanAttr(impl, meta_ordered); }
-		Udm::BooleanAttr nonpersistent() const { return Udm::BooleanAttr(impl, meta_nonpersistent); }
-		Udm::BooleanAttr registry() const { return Udm::BooleanAttr(impl, meta_registry); }
-		Udm::ParentAttr< ::Uml::Class> parent() const { return Udm::ParentAttr< ::Uml::Class>(impl, meta_parent); }
+		Attribute();
+		Attribute(::Udm::ObjectImpl *impl);
+		Attribute(const Attribute &master);
+
+#ifdef UDM_RVALUE
+		Attribute(Attribute &&master);
+
+		static Attribute Cast(::Udm::Object &&a);
+		Attribute& operator=(Attribute &&a);
+
+#endif
+		static Attribute Cast(const ::Udm::Object &a);
+		static Attribute Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Attribute CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Attribute> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Attribute, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Attribute, Pred>(impl); };
+		Attribute CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Attribute> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Attribute, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Attribute, Pred>(impl); };
+		::Udm::ArchetypeAttr< Attribute> Archetype() const;
+		::Udm::StringAttr name() const;
+		::Udm::StringAttr type() const;
+		::Udm::StringAttrArr defvalue() const;
+		::Udm::IntegerAttr min() const;
+		::Udm::IntegerAttr max() const;
+		::Udm::StringAttr visibility() const;
+		::Udm::BooleanAttr ordered() const;
+		::Udm::BooleanAttr nonpersistent() const;
+		::Udm::BooleanAttr registry() const;
+		::Udm::ParentAttr< ::Uml::Class> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_name;
@@ -560,30 +584,32 @@
 
 	};
 
-	class UDM_DLL Constraint : public Udm::Object {
+	class UDM_DLL Constraint : public ::Udm::Object {
 	public:
-		Constraint() {}
-		Constraint(Udm::ObjectImpl *impl) : UDM_OBJECT(impl) {}
-		Constraint(const Constraint &master) : UDM_OBJECT(master) {}
-		#ifdef UDM_RVALUE
-		Constraint(Constraint &&master) : UDM_OBJECT(master) {}
-
-		static Constraint Cast(Udm::Object &&a) { return __Cast(std::move(a), meta); }
-		Constraint& operator=(Constraint &&a) { Udm::Object::operator =(std::move(a)); return *this; }
-		#endif
-		static Constraint Cast(const Udm::Object &a) { return __Cast(a, meta); }
-		static Constraint Create(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role); }
-		Constraint CreateInstance(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl); }
-		Udm::InstantiatedAttr<Constraint> Instances() { return Udm::InstantiatedAttr<Constraint>(impl); }
-		template <class Pred> Udm::InstantiatedAttr<Constraint, Pred> Instances_sorted(const Pred &) { return Udm::InstantiatedAttr<Constraint, Pred>(impl); }
-		Constraint CreateDerived(const Udm::Object &parent, const ::Uml::CompositionChildRole &role = Udm::NULLCHILDROLE) { return __Create(meta, parent, role, impl, true); }
-		Udm::DerivedAttr<Constraint> Derived() { return Udm::DerivedAttr<Constraint>(impl); }
-		template <class Pred> Udm::DerivedAttr<Constraint, Pred> Derived_sorted(const Pred &) { return Udm::DerivedAttr<Constraint, Pred>(impl); }
-		Udm::ArchetypeAttr<Constraint> Archetype() const { return Udm::ArchetypeAttr<Constraint>(impl); }
-		Udm::StringAttr description() const { return Udm::StringAttr(impl, meta_description); }
-		Udm::StringAttr name() const { return Udm::StringAttr(impl, meta_name); }
-		Udm::StringAttr expression() const { return Udm::StringAttr(impl, meta_expression); }
-		Udm::ParentAttr< ::Uml::Class> parent() const { return Udm::ParentAttr< ::Uml::Class>(impl, meta_parent); }
+		Constraint();
+		Constraint(::Udm::ObjectImpl *impl);
+		Constraint(const Constraint &master);
+
+#ifdef UDM_RVALUE
+		Constraint(Constraint &&master);
+
+		static Constraint Cast(::Udm::Object &&a);
+		Constraint& operator=(Constraint &&a);
+
+#endif
+		static Constraint Cast(const ::Udm::Object &a);
+		static Constraint Create(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		Constraint CreateInstance(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::InstantiatedAttr< Constraint> Instances();
+		template <class Pred> ::Udm::InstantiatedAttr< Constraint, Pred> Instances_sorted(const Pred &) { return ::Udm::InstantiatedAttr< Constraint, Pred>(impl); };
+		Constraint CreateDerived(const ::Udm::Object &parent, const ::Uml::CompositionChildRole &role = ::Udm::NULLCHILDROLE);
+		::Udm::DerivedAttr< Constraint> Derived();
+		template <class Pred> ::Udm::DerivedAttr< Constraint, Pred> Derived_sorted(const Pred &) { return ::Udm::DerivedAttr< Constraint, Pred>(impl); };
+		::Udm::ArchetypeAttr< Constraint> Archetype() const;
+		::Udm::StringAttr description() const;
+		::Udm::StringAttr name() const;
+		::Udm::StringAttr expression() const;
+		::Udm::ParentAttr< ::Uml::Class> parent() const;
 
 		static ::Uml::Class meta;
 		static ::Uml::Attribute meta_description;

Modified: UDM/trunk/src/Uml/Uml.xsd
==============================================================================
--- UDM/trunk/src/Uml/Uml.xsd	Mon Nov 21 04:01:53 2011	(r3959)
+++ UDM/trunk/src/Uml/Uml.xsd	Mon Nov 21 04:08:09 2011	(r3960)
@@ -3,7 +3,7 @@
 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified" 
 >
-<!-- generated on Mon May 02 10:02:54 2011 -->
+<!-- generated on Mon Nov 21 10:42:57 2011 -->
 
 
 	<xsd:complexType name="CompositionChildRoleType">

Modified: UDM/trunk/src/Uml/Uml_xsd.h
==============================================================================
--- UDM/trunk/src/Uml/Uml_xsd.h	Mon Nov 21 04:01:53 2011	(r3959)
+++ UDM/trunk/src/Uml/Uml_xsd.h	Mon Nov 21 04:08:09 2011	(r3960)
@@ -15,7 +15,7 @@
 			str +="<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\n";
 			str +=" elementFormDefault=\"qualified\" \n";
 			str +=">\n";
-//			str +="<!-- generated on Mon May 02 10:02:54 2011 -->\n";
+//			str +="<!-- generated on Mon Nov 21 10:42:57 2011 -->\n";
 			str +="\n";
 			str +="\n";
 			str +="	<xsd:complexType name=\"CompositionChildRoleType\">\n";


More information about the Mobies-commit mailing list