/// <summary>
		/// Constructor
		/// Creates a VModellvarianteHasEntscheidungspunkte link in the same Partition as the given VModellvariante
		/// </summary>
		/// <param name="source">VModellvariante to use as the source of the relationship.</param>
		/// <param name="target">Entscheidungspunkte to use as the target of the relationship.</param>
		public VModellvarianteHasEntscheidungspunkte(VModellvariante source, global::Tum.VModellXT.Statik.Entscheidungspunkte target)
			: base((source != null ? source.Partition : null), new DslModeling::RoleAssignment[]{new DslModeling::RoleAssignment(VModellvarianteHasEntscheidungspunkte.VModellvarianteDomainRoleId, source), new DslModeling::RoleAssignment(VModellvarianteHasEntscheidungspunkte.EntscheidungspunkteDomainRoleId, target)}, Tum.VModellXT.VModellXTDomainModelIdProvider.Instance.CreateId())
		{
		}
		public static DslModeling::LinkedElementCollection<Referenzmodell> GetReferenzmodell(VModellvariante element)
		{
			return GetRoleCollection<DslModeling::LinkedElementCollection<Referenzmodell>, Referenzmodell>(element, VModellvarianteDomainRoleId);
		}
		public static global::Tum.VModellXT.Basis.Textbausteine GetTextbausteine(VModellvariante element)
		{
			return DslModeling::DomainRoleInfo.GetLinkedElement(element, VModellvarianteDomainRoleId) as global::Tum.VModellXT.Basis.Textbausteine;
		}
		/// <summary>
		/// Constructor
		/// Creates a VModellvarianteHasTextbausteine link in the same Partition as the given VModellvariante
		/// </summary>
		/// <param name="source">VModellvariante to use as the source of the relationship.</param>
		/// <param name="target">Textbausteine to use as the target of the relationship.</param>
		public VModellvarianteHasTextbausteine(VModellvariante source, global::Tum.VModellXT.Basis.Textbausteine target)
			: base((source != null ? source.Partition : null), new DslModeling::RoleAssignment[]{new DslModeling::RoleAssignment(VModellvarianteHasTextbausteine.VModellvarianteDomainRoleId, source), new DslModeling::RoleAssignment(VModellvarianteHasTextbausteine.TextbausteineDomainRoleId, target)}, Tum.VModellXT.VModellXTDomainModelIdProvider.Instance.CreateId())
		{
		}
		public static void SetReferenzmodell(VModellvariante element, Referenzmodell newReferenzmodell)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, VModellvarianteDomainRoleId, newReferenzmodell);
		}
		/// <summary>
		/// Constructor
		/// Creates a VModellvarianteHasAenderungsoperationen link in the same Partition as the given VModellvariante
		/// </summary>
		/// <param name="source">VModellvariante to use as the source of the relationship.</param>
		/// <param name="target">Aenderungsoperationen to use as the target of the relationship.</param>
		public VModellvarianteHasAenderungsoperationen(VModellvariante source, global::Tum.VModellXT.Aenderungsoperationen.Aenderungsoperationen target)
			: base((source != null ? source.Partition : null), new DslModeling::RoleAssignment[]{new DslModeling::RoleAssignment(VModellvarianteHasAenderungsoperationen.VModellvarianteDomainRoleId, source), new DslModeling::RoleAssignment(VModellvarianteHasAenderungsoperationen.AenderungsoperationenDomainRoleId, target)}, Tum.VModellXT.VModellXTDomainModelIdProvider.Instance.CreateId())
		{
		}
		public static global::Tum.VModellXT.Aenderungsoperationen.Aenderungsoperationen GetAenderungsoperationen(VModellvariante element)
		{
			return DslModeling::DomainRoleInfo.GetLinkedElement(element, VModellvarianteDomainRoleId) as global::Tum.VModellXT.Aenderungsoperationen.Aenderungsoperationen;
		}
		public static void SetVModellvariante(global::Tum.VModellXT.Konventionsabbildungen.Konventionsabbildungen element, VModellvariante newVModellvariante)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, KonventionsabbildungenDomainRoleId, newVModellvariante);
		}
		public static global::Tum.VModellXT.Konventionsabbildungen.Konventionsabbildungen GetKonventionsabbildungen(VModellvariante element)
		{
			return DslModeling::DomainRoleInfo.GetLinkedElement(element, VModellvarianteDomainRoleId) as global::Tum.VModellXT.Konventionsabbildungen.Konventionsabbildungen;
		}
		public static global::Tum.VModellXT.Anpassung.Projektmerkmale GetProjektmerkmale(VModellvariante element)
		{
			return DslModeling::DomainRoleInfo.GetLinkedElement(element, VModellvarianteDomainRoleId) as global::Tum.VModellXT.Anpassung.Projektmerkmale;
		}
		public static void SetProjektmerkmale(VModellvariante element, global::Tum.VModellXT.Anpassung.Projektmerkmale newProjektmerkmale)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, VModellvarianteDomainRoleId, newProjektmerkmale);
		}
		/// <summary>
		/// Constructor
		/// Creates a VModellvarianteHasProjektmerkmale link in the same Partition as the given VModellvariante
		/// </summary>
		/// <param name="source">VModellvariante to use as the source of the relationship.</param>
		/// <param name="target">Projektmerkmale to use as the target of the relationship.</param>
		public VModellvarianteHasProjektmerkmale(VModellvariante source, global::Tum.VModellXT.Anpassung.Projektmerkmale target)
			: base((source != null ? source.Partition : null), new DslModeling::RoleAssignment[]{new DslModeling::RoleAssignment(VModellvarianteHasProjektmerkmale.VModellvarianteDomainRoleId, source), new DslModeling::RoleAssignment(VModellvarianteHasProjektmerkmale.ProjektmerkmaleDomainRoleId, target)}, Tum.VModellXT.VModellXTDomainModelIdProvider.Instance.CreateId())
		{
		}
		public static void SetEntscheidungspunkte(VModellvariante element, global::Tum.VModellXT.Statik.Entscheidungspunkte newEntscheidungspunkte)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, VModellvarianteDomainRoleId, newEntscheidungspunkte);
		}
		public static global::Tum.VModellXT.Statik.Entscheidungspunkte GetEntscheidungspunkte(VModellvariante element)
		{
			return DslModeling::DomainRoleInfo.GetLinkedElement(element, VModellvarianteDomainRoleId) as global::Tum.VModellXT.Statik.Entscheidungspunkte;
		}
		public static global::Tum.VModellXT.Basis.Quellen GetQuellen(VModellvariante element)
		{
			return DslModeling::DomainRoleInfo.GetLinkedElement(element, VModellvarianteDomainRoleId) as global::Tum.VModellXT.Basis.Quellen;
		}
		public static void SetKonventionsabbildungen(VModellvariante element, global::Tum.VModellXT.Konventionsabbildungen.Konventionsabbildungen newKonventionsabbildungen)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, VModellvarianteDomainRoleId, newKonventionsabbildungen);
		}
		public static void SetQuellen(VModellvariante element, global::Tum.VModellXT.Basis.Quellen newQuellen)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, VModellvarianteDomainRoleId, newQuellen);
		}
		public static void SetVModellStruktur(VModellvariante element, global::Tum.VModellXT.Basis.VModellStruktur newVModellStruktur)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, VModellvarianteDomainRoleId, newVModellStruktur);
		}
		public static void SetVModellvariante(global::Tum.VModellXT.Aenderungsoperationen.Aenderungsoperationen element, VModellvariante newVModellvariante)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, AenderungsoperationenDomainRoleId, newVModellvariante);
		}
		/// <summary>
		/// Constructor
		/// Creates a VModellvarianteHasWerkzeugreferenzen link in the same Partition as the given VModellvariante
		/// </summary>
		/// <param name="source">VModellvariante to use as the source of the relationship.</param>
		/// <param name="target">Werkzeugreferenzen to use as the target of the relationship.</param>
		public VModellvarianteHasWerkzeugreferenzen(VModellvariante source, global::Tum.VModellXT.Basis.Werkzeugreferenzen target)
			: base((source != null ? source.Partition : null), new DslModeling::RoleAssignment[]{new DslModeling::RoleAssignment(VModellvarianteHasWerkzeugreferenzen.VModellvarianteDomainRoleId, source), new DslModeling::RoleAssignment(VModellvarianteHasWerkzeugreferenzen.WerkzeugreferenzenDomainRoleId, target)}, Tum.VModellXT.VModellXTDomainModelIdProvider.Instance.CreateId())
		{
		}
		public static void SetAenderungsoperationen(VModellvariante element, global::Tum.VModellXT.Aenderungsoperationen.Aenderungsoperationen newAenderungsoperationen)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, VModellvarianteDomainRoleId, newAenderungsoperationen);
		}
		public static void SetWerkzeugreferenzen(VModellvariante element, global::Tum.VModellXT.Basis.Werkzeugreferenzen newWerkzeugreferenzen)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, VModellvarianteDomainRoleId, newWerkzeugreferenzen);
		}
		public static Referenzmodell GetReferenzmodell(VModellvariante element)
		{
			return DslModeling::DomainRoleInfo.GetLinkedElement(element, VModellvarianteDomainRoleId) as Referenzmodell;
		}
		public static global::Tum.VModellXT.Basis.Glossar GetGlossar(VModellvariante element)
		{
			return DslModeling::DomainRoleInfo.GetLinkedElement(element, VModellvarianteDomainRoleId) as global::Tum.VModellXT.Basis.Glossar;
		}
		/// <summary>
		/// Constructor
		/// Creates a ReferenzmodellReferencesVModellvariante link in the same Partition as the given Referenzmodell
		/// </summary>
		/// <param name="source">Referenzmodell to use as the source of the relationship.</param>
		/// <param name="target">VModellvariante to use as the target of the relationship.</param>
		public ReferenzmodellReferencesVModellvariante(Referenzmodell source, VModellvariante target)
			: base((source != null ? source.Partition : null), new DslModeling::RoleAssignment[]{new DslModeling::RoleAssignment(ReferenzmodellReferencesVModellvariante.ReferenzmodellDomainRoleId, source), new DslModeling::RoleAssignment(ReferenzmodellReferencesVModellvariante.VModellvarianteDomainRoleId, target)}, Tum.VModellXT.VModellXTDomainModelIdProvider.Instance.CreateId())
		{
		}
		public static void SetGlossar(VModellvariante element, global::Tum.VModellXT.Basis.Glossar newGlossar)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, VModellvarianteDomainRoleId, newGlossar);
		}
		public static void SetVModellvarianteRef(Referenzmodell element, VModellvariante newVModellvariante)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, ReferenzmodellDomainRoleId, newVModellvariante);
		}
		public static void SetVModellvariante(global::Tum.VModellXT.Basis.Quellen element, VModellvariante newVModellvariante)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, QuellenDomainRoleId, newVModellvariante);
		}
		public static void SetTextbausteine(VModellvariante element, global::Tum.VModellXT.Basis.Textbausteine newTextbausteine)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, VModellvarianteDomainRoleId, newTextbausteine);
		}
		public static void SetVortailoring(VModellvariante element, global::Tum.VModellXT.Anpassung.Vortailoring newVortailoring)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, VModellvarianteDomainRoleId, newVortailoring);
		}