All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.ciera.tool.Sql Maven / Gradle / Ivy

package io.ciera.tool;


import io.ciera.runtime.instanceloading.sql.util.SQL;
import io.ciera.runtime.instanceloading.sql.util.impl.SQLImpl;
import io.ciera.runtime.summit.application.IApplication;
import io.ciera.runtime.summit.application.IRunContext;
import io.ciera.runtime.summit.application.tasks.HaltExecutionTask;
import io.ciera.runtime.summit.classes.IModelInstance;
import io.ciera.runtime.summit.classes.IRelationshipSet;
import io.ciera.runtime.summit.classes.Relationship;
import io.ciera.runtime.summit.classes.RelationshipSet;
import io.ciera.runtime.summit.components.Component;
import io.ciera.runtime.summit.exceptions.BadArgumentException;
import io.ciera.runtime.summit.exceptions.EmptyInstanceException;
import io.ciera.runtime.summit.exceptions.ModelIntegrityException;
import io.ciera.runtime.summit.exceptions.XtumlException;
import io.ciera.runtime.summit.types.StringUtil;
import io.ciera.runtime.summit.util.CMD;
import io.ciera.runtime.summit.util.LOG;
import io.ciera.runtime.summit.util.STRING;
import io.ciera.runtime.summit.util.TIM;
import io.ciera.runtime.summit.util.impl.CMDImpl;
import io.ciera.runtime.summit.util.impl.LOGImpl;
import io.ciera.runtime.summit.util.impl.STRINGImpl;
import io.ciera.runtime.summit.util.impl.TIMImpl;
import io.ciera.runtime.template.util.T;
import io.ciera.runtime.template.util.impl.TImpl;
import io.ciera.tool.sql.architecture.application.Application;
import io.ciera.tool.sql.architecture.application.ApplicationExecutor;
import io.ciera.tool.sql.architecture.application.ApplicationExecutorSet;
import io.ciera.tool.sql.architecture.application.ApplicationSet;
import io.ciera.tool.sql.architecture.application.ComponentInstantiation;
import io.ciera.tool.sql.architecture.application.ComponentInstantiationSet;
import io.ciera.tool.sql.architecture.application.impl.ApplicationExecutorImpl;
import io.ciera.tool.sql.architecture.application.impl.ApplicationExecutorSetImpl;
import io.ciera.tool.sql.architecture.application.impl.ApplicationImpl;
import io.ciera.tool.sql.architecture.application.impl.ApplicationSetImpl;
import io.ciera.tool.sql.architecture.application.impl.ComponentInstantiationImpl;
import io.ciera.tool.sql.architecture.application.impl.ComponentInstantiationSetImpl;
import io.ciera.tool.sql.architecture.classes.Attribute;
import io.ciera.tool.sql.architecture.classes.AttributeAccessor;
import io.ciera.tool.sql.architecture.classes.AttributeAccessorSet;
import io.ciera.tool.sql.architecture.classes.AttributeDerivation;
import io.ciera.tool.sql.architecture.classes.AttributeDerivationSet;
import io.ciera.tool.sql.architecture.classes.AttributeReference;
import io.ciera.tool.sql.architecture.classes.AttributeReferenceSet;
import io.ciera.tool.sql.architecture.classes.AttributeSet;
import io.ciera.tool.sql.architecture.classes.ClassRelationship;
import io.ciera.tool.sql.architecture.classes.ClassRelationshipSet;
import io.ciera.tool.sql.architecture.classes.InstSet;
import io.ciera.tool.sql.architecture.classes.InstSetSet;
import io.ciera.tool.sql.architecture.classes.InstanceSelector;
import io.ciera.tool.sql.architecture.classes.InstanceSelectorSet;
import io.ciera.tool.sql.architecture.classes.ModelInst;
import io.ciera.tool.sql.architecture.classes.ModelInstSet;
import io.ciera.tool.sql.architecture.classes.Operation;
import io.ciera.tool.sql.architecture.classes.OperationSet;
import io.ciera.tool.sql.architecture.classes.Selector;
import io.ciera.tool.sql.architecture.classes.SelectorSet;
import io.ciera.tool.sql.architecture.classes.SetSelector;
import io.ciera.tool.sql.architecture.classes.SetSelectorSet;
import io.ciera.tool.sql.architecture.classes.impl.AttributeAccessorImpl;
import io.ciera.tool.sql.architecture.classes.impl.AttributeAccessorSetImpl;
import io.ciera.tool.sql.architecture.classes.impl.AttributeDerivationImpl;
import io.ciera.tool.sql.architecture.classes.impl.AttributeDerivationSetImpl;
import io.ciera.tool.sql.architecture.classes.impl.AttributeImpl;
import io.ciera.tool.sql.architecture.classes.impl.AttributeReferenceImpl;
import io.ciera.tool.sql.architecture.classes.impl.AttributeReferenceSetImpl;
import io.ciera.tool.sql.architecture.classes.impl.AttributeSetImpl;
import io.ciera.tool.sql.architecture.classes.impl.ClassRelationshipImpl;
import io.ciera.tool.sql.architecture.classes.impl.ClassRelationshipSetImpl;
import io.ciera.tool.sql.architecture.classes.impl.InstSetImpl;
import io.ciera.tool.sql.architecture.classes.impl.InstSetSetImpl;
import io.ciera.tool.sql.architecture.classes.impl.InstanceSelectorImpl;
import io.ciera.tool.sql.architecture.classes.impl.InstanceSelectorSetImpl;
import io.ciera.tool.sql.architecture.classes.impl.ModelInstImpl;
import io.ciera.tool.sql.architecture.classes.impl.ModelInstSetImpl;
import io.ciera.tool.sql.architecture.classes.impl.OperationImpl;
import io.ciera.tool.sql.architecture.classes.impl.OperationSetImpl;
import io.ciera.tool.sql.architecture.classes.impl.SelectorImpl;
import io.ciera.tool.sql.architecture.classes.impl.SelectorSetImpl;
import io.ciera.tool.sql.architecture.classes.impl.SetSelectorImpl;
import io.ciera.tool.sql.architecture.classes.impl.SetSelectorSetImpl;
import io.ciera.tool.sql.architecture.component.CardinalityCheck;
import io.ciera.tool.sql.architecture.component.CardinalityCheckSet;
import io.ciera.tool.sql.architecture.component.ComponentDefinition;
import io.ciera.tool.sql.architecture.component.ComponentDefinitionSet;
import io.ciera.tool.sql.architecture.component.Function;
import io.ciera.tool.sql.architecture.component.FunctionSet;
import io.ciera.tool.sql.architecture.component.InstancePopulationSelector;
import io.ciera.tool.sql.architecture.component.InstancePopulationSelectorSet;
import io.ciera.tool.sql.architecture.component.RelationshipPopulationSelector;
import io.ciera.tool.sql.architecture.component.RelationshipPopulationSelectorSet;
import io.ciera.tool.sql.architecture.component.Utility;
import io.ciera.tool.sql.architecture.component.UtilityFunction;
import io.ciera.tool.sql.architecture.component.UtilityFunctionSet;
import io.ciera.tool.sql.architecture.component.UtilityReference;
import io.ciera.tool.sql.architecture.component.UtilityReferenceSet;
import io.ciera.tool.sql.architecture.component.UtilitySet;
import io.ciera.tool.sql.architecture.component.impl.CardinalityCheckImpl;
import io.ciera.tool.sql.architecture.component.impl.CardinalityCheckSetImpl;
import io.ciera.tool.sql.architecture.component.impl.ComponentDefinitionImpl;
import io.ciera.tool.sql.architecture.component.impl.ComponentDefinitionSetImpl;
import io.ciera.tool.sql.architecture.component.impl.FunctionImpl;
import io.ciera.tool.sql.architecture.component.impl.FunctionSetImpl;
import io.ciera.tool.sql.architecture.component.impl.InstancePopulationSelectorImpl;
import io.ciera.tool.sql.architecture.component.impl.InstancePopulationSelectorSetImpl;
import io.ciera.tool.sql.architecture.component.impl.RelationshipPopulationSelectorImpl;
import io.ciera.tool.sql.architecture.component.impl.RelationshipPopulationSelectorSetImpl;
import io.ciera.tool.sql.architecture.component.impl.UtilityFunctionImpl;
import io.ciera.tool.sql.architecture.component.impl.UtilityFunctionSetImpl;
import io.ciera.tool.sql.architecture.component.impl.UtilityImpl;
import io.ciera.tool.sql.architecture.component.impl.UtilityReferenceImpl;
import io.ciera.tool.sql.architecture.component.impl.UtilityReferenceSetImpl;
import io.ciera.tool.sql.architecture.component.impl.UtilitySetImpl;
import io.ciera.tool.sql.architecture.expression.ActualParameter;
import io.ciera.tool.sql.architecture.expression.ActualParameterSet;
import io.ciera.tool.sql.architecture.expression.Any;
import io.ciera.tool.sql.architecture.expression.AnySet;
import io.ciera.tool.sql.architecture.expression.ArrayElementReference;
import io.ciera.tool.sql.architecture.expression.ArrayElementReferenceSet;
import io.ciera.tool.sql.architecture.expression.ArrayLengthAccess;
import io.ciera.tool.sql.architecture.expression.ArrayLengthAccessSet;
import io.ciera.tool.sql.architecture.expression.AttributeAccess;
import io.ciera.tool.sql.architecture.expression.AttributeAccessSet;
import io.ciera.tool.sql.architecture.expression.BinaryOperation;
import io.ciera.tool.sql.architecture.expression.BinaryOperationSet;
import io.ciera.tool.sql.architecture.expression.ConstantReference;
import io.ciera.tool.sql.architecture.expression.ConstantReferenceSet;
import io.ciera.tool.sql.architecture.expression.Creation;
import io.ciera.tool.sql.architecture.expression.CreationSet;
import io.ciera.tool.sql.architecture.expression.EnumeratorReference;
import io.ciera.tool.sql.architecture.expression.EnumeratorReferenceSet;
import io.ciera.tool.sql.architecture.expression.EventCreation;
import io.ciera.tool.sql.architecture.expression.EventCreationSet;
import io.ciera.tool.sql.architecture.expression.Expression;
import io.ciera.tool.sql.architecture.expression.ExpressionSet;
import io.ciera.tool.sql.architecture.expression.Invocation;
import io.ciera.tool.sql.architecture.expression.InvocationSet;
import io.ciera.tool.sql.architecture.expression.Literal;
import io.ciera.tool.sql.architecture.expression.LiteralSet;
import io.ciera.tool.sql.architecture.expression.MemberReference;
import io.ciera.tool.sql.architecture.expression.MemberReferenceSet;
import io.ciera.tool.sql.architecture.expression.NamedReference;
import io.ciera.tool.sql.architecture.expression.NamedReferenceSet;
import io.ciera.tool.sql.architecture.expression.ParameterReference;
import io.ciera.tool.sql.architecture.expression.ParameterReferenceSet;
import io.ciera.tool.sql.architecture.expression.ParenthesizedExpression;
import io.ciera.tool.sql.architecture.expression.ParenthesizedExpressionSet;
import io.ciera.tool.sql.architecture.expression.Promotion;
import io.ciera.tool.sql.architecture.expression.PromotionSet;
import io.ciera.tool.sql.architecture.expression.Select;
import io.ciera.tool.sql.architecture.expression.SelectFromInstances;
import io.ciera.tool.sql.architecture.expression.SelectFromInstancesSet;
import io.ciera.tool.sql.architecture.expression.SelectRelated;
import io.ciera.tool.sql.architecture.expression.SelectRelatedSet;
import io.ciera.tool.sql.architecture.expression.SelectSet;
import io.ciera.tool.sql.architecture.expression.Selected;
import io.ciera.tool.sql.architecture.expression.SelectedSet;
import io.ciera.tool.sql.architecture.expression.UnaryOperation;
import io.ciera.tool.sql.architecture.expression.UnaryOperationSet;
import io.ciera.tool.sql.architecture.expression.VariableReference;
import io.ciera.tool.sql.architecture.expression.VariableReferenceSet;
import io.ciera.tool.sql.architecture.expression.Where;
import io.ciera.tool.sql.architecture.expression.WhereSet;
import io.ciera.tool.sql.architecture.expression.impl.ActualParameterImpl;
import io.ciera.tool.sql.architecture.expression.impl.ActualParameterSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.AnyImpl;
import io.ciera.tool.sql.architecture.expression.impl.AnySetImpl;
import io.ciera.tool.sql.architecture.expression.impl.ArrayElementReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.ArrayElementReferenceSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.ArrayLengthAccessImpl;
import io.ciera.tool.sql.architecture.expression.impl.ArrayLengthAccessSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.AttributeAccessImpl;
import io.ciera.tool.sql.architecture.expression.impl.AttributeAccessSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.BinaryOperationImpl;
import io.ciera.tool.sql.architecture.expression.impl.BinaryOperationSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.ConstantReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.ConstantReferenceSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.CreationImpl;
import io.ciera.tool.sql.architecture.expression.impl.CreationSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.EnumeratorReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.EnumeratorReferenceSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.EventCreationImpl;
import io.ciera.tool.sql.architecture.expression.impl.EventCreationSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.ExpressionImpl;
import io.ciera.tool.sql.architecture.expression.impl.ExpressionSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.InvocationImpl;
import io.ciera.tool.sql.architecture.expression.impl.InvocationSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.LiteralImpl;
import io.ciera.tool.sql.architecture.expression.impl.LiteralSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.MemberReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.MemberReferenceSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.NamedReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.NamedReferenceSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.ParameterReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.ParameterReferenceSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.ParenthesizedExpressionImpl;
import io.ciera.tool.sql.architecture.expression.impl.ParenthesizedExpressionSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.PromotionImpl;
import io.ciera.tool.sql.architecture.expression.impl.PromotionSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.SelectFromInstancesImpl;
import io.ciera.tool.sql.architecture.expression.impl.SelectFromInstancesSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.SelectImpl;
import io.ciera.tool.sql.architecture.expression.impl.SelectRelatedImpl;
import io.ciera.tool.sql.architecture.expression.impl.SelectRelatedSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.SelectSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.SelectedImpl;
import io.ciera.tool.sql.architecture.expression.impl.SelectedSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.UnaryOperationImpl;
import io.ciera.tool.sql.architecture.expression.impl.UnaryOperationSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.VariableReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.VariableReferenceSetImpl;
import io.ciera.tool.sql.architecture.expression.impl.WhereImpl;
import io.ciera.tool.sql.architecture.expression.impl.WhereSetImpl;
import io.ciera.tool.sql.architecture.file.File;
import io.ciera.tool.sql.architecture.file.FileSet;
import io.ciera.tool.sql.architecture.file.GeneralFile;
import io.ciera.tool.sql.architecture.file.GeneralFileSet;
import io.ciera.tool.sql.architecture.file.TypeImport;
import io.ciera.tool.sql.architecture.file.TypeImportReference;
import io.ciera.tool.sql.architecture.file.TypeImportReferenceSet;
import io.ciera.tool.sql.architecture.file.TypeImportSet;
import io.ciera.tool.sql.architecture.file.impl.FileImpl;
import io.ciera.tool.sql.architecture.file.impl.FileSetImpl;
import io.ciera.tool.sql.architecture.file.impl.GeneralFileImpl;
import io.ciera.tool.sql.architecture.file.impl.GeneralFileSetImpl;
import io.ciera.tool.sql.architecture.file.impl.TypeImportImpl;
import io.ciera.tool.sql.architecture.file.impl.TypeImportReferenceImpl;
import io.ciera.tool.sql.architecture.file.impl.TypeImportReferenceSetImpl;
import io.ciera.tool.sql.architecture.file.impl.TypeImportSetImpl;
import io.ciera.tool.sql.architecture.interfaces.Iface;
import io.ciera.tool.sql.architecture.interfaces.IfaceSet;
import io.ciera.tool.sql.architecture.interfaces.Message;
import io.ciera.tool.sql.architecture.interfaces.MessageSet;
import io.ciera.tool.sql.architecture.interfaces.Port;
import io.ciera.tool.sql.architecture.interfaces.PortMessage;
import io.ciera.tool.sql.architecture.interfaces.PortMessageSet;
import io.ciera.tool.sql.architecture.interfaces.PortSet;
import io.ciera.tool.sql.architecture.interfaces.impl.IfaceImpl;
import io.ciera.tool.sql.architecture.interfaces.impl.IfaceSetImpl;
import io.ciera.tool.sql.architecture.interfaces.impl.MessageImpl;
import io.ciera.tool.sql.architecture.interfaces.impl.MessageSetImpl;
import io.ciera.tool.sql.architecture.interfaces.impl.PortImpl;
import io.ciera.tool.sql.architecture.interfaces.impl.PortMessageImpl;
import io.ciera.tool.sql.architecture.interfaces.impl.PortMessageSetImpl;
import io.ciera.tool.sql.architecture.interfaces.impl.PortSetImpl;
import io.ciera.tool.sql.architecture.invocable.CodeBlock;
import io.ciera.tool.sql.architecture.invocable.CodeBlockSet;
import io.ciera.tool.sql.architecture.invocable.FormalParameter;
import io.ciera.tool.sql.architecture.invocable.FormalParameterSet;
import io.ciera.tool.sql.architecture.invocable.GenericInvocable;
import io.ciera.tool.sql.architecture.invocable.GenericInvocableSet;
import io.ciera.tool.sql.architecture.invocable.InvocableObject;
import io.ciera.tool.sql.architecture.invocable.InvocableObjectSet;
import io.ciera.tool.sql.architecture.invocable.impl.CodeBlockImpl;
import io.ciera.tool.sql.architecture.invocable.impl.CodeBlockSetImpl;
import io.ciera.tool.sql.architecture.invocable.impl.FormalParameterImpl;
import io.ciera.tool.sql.architecture.invocable.impl.FormalParameterSetImpl;
import io.ciera.tool.sql.architecture.invocable.impl.GenericInvocableImpl;
import io.ciera.tool.sql.architecture.invocable.impl.GenericInvocableSetImpl;
import io.ciera.tool.sql.architecture.invocable.impl.InvocableObjectImpl;
import io.ciera.tool.sql.architecture.invocable.impl.InvocableObjectSetImpl;
import io.ciera.tool.sql.architecture.statemachine.Event;
import io.ciera.tool.sql.architecture.statemachine.EventSet;
import io.ciera.tool.sql.architecture.statemachine.State;
import io.ciera.tool.sql.architecture.statemachine.StateMachine;
import io.ciera.tool.sql.architecture.statemachine.StateMachineSet;
import io.ciera.tool.sql.architecture.statemachine.StateSet;
import io.ciera.tool.sql.architecture.statemachine.StateTransition;
import io.ciera.tool.sql.architecture.statemachine.StateTransitionSet;
import io.ciera.tool.sql.architecture.statemachine.TransitionTableCell;
import io.ciera.tool.sql.architecture.statemachine.TransitionTableCellSet;
import io.ciera.tool.sql.architecture.statemachine.TransitionTableRow;
import io.ciera.tool.sql.architecture.statemachine.TransitionTableRowSet;
import io.ciera.tool.sql.architecture.statemachine.impl.EventImpl;
import io.ciera.tool.sql.architecture.statemachine.impl.EventSetImpl;
import io.ciera.tool.sql.architecture.statemachine.impl.StateImpl;
import io.ciera.tool.sql.architecture.statemachine.impl.StateMachineImpl;
import io.ciera.tool.sql.architecture.statemachine.impl.StateMachineSetImpl;
import io.ciera.tool.sql.architecture.statemachine.impl.StateSetImpl;
import io.ciera.tool.sql.architecture.statemachine.impl.StateTransitionImpl;
import io.ciera.tool.sql.architecture.statemachine.impl.StateTransitionSetImpl;
import io.ciera.tool.sql.architecture.statemachine.impl.TransitionTableCellImpl;
import io.ciera.tool.sql.architecture.statemachine.impl.TransitionTableCellSetImpl;
import io.ciera.tool.sql.architecture.statemachine.impl.TransitionTableRowImpl;
import io.ciera.tool.sql.architecture.statemachine.impl.TransitionTableRowSetImpl;
import io.ciera.tool.sql.architecture.statement.BreakSmt;
import io.ciera.tool.sql.architecture.statement.BreakSmtSet;
import io.ciera.tool.sql.architecture.statement.ContinueSmt;
import io.ciera.tool.sql.architecture.statement.ContinueSmtSet;
import io.ciera.tool.sql.architecture.statement.DeleteSmt;
import io.ciera.tool.sql.architecture.statement.DeleteSmtSet;
import io.ciera.tool.sql.architecture.statement.ExpressionAsStatement;
import io.ciera.tool.sql.architecture.statement.ExpressionAsStatementSet;
import io.ciera.tool.sql.architecture.statement.Finalization;
import io.ciera.tool.sql.architecture.statement.FinalizationSet;
import io.ciera.tool.sql.architecture.statement.ForSmt;
import io.ciera.tool.sql.architecture.statement.ForSmtSet;
import io.ciera.tool.sql.architecture.statement.Generate;
import io.ciera.tool.sql.architecture.statement.GenerateSet;
import io.ciera.tool.sql.architecture.statement.Halt;
import io.ciera.tool.sql.architecture.statement.HaltSet;
import io.ciera.tool.sql.architecture.statement.IfSmt;
import io.ciera.tool.sql.architecture.statement.IfSmtSet;
import io.ciera.tool.sql.architecture.statement.NullSmt;
import io.ciera.tool.sql.architecture.statement.NullSmtSet;
import io.ciera.tool.sql.architecture.statement.RelateSmt;
import io.ciera.tool.sql.architecture.statement.RelateSmtSet;
import io.ciera.tool.sql.architecture.statement.ReturnSmt;
import io.ciera.tool.sql.architecture.statement.ReturnSmtSet;
import io.ciera.tool.sql.architecture.statement.Statement;
import io.ciera.tool.sql.architecture.statement.StatementSet;
import io.ciera.tool.sql.architecture.statement.UnrelateSmt;
import io.ciera.tool.sql.architecture.statement.UnrelateSmtSet;
import io.ciera.tool.sql.architecture.statement.Variable;
import io.ciera.tool.sql.architecture.statement.VariableInScope;
import io.ciera.tool.sql.architecture.statement.VariableInScopeSet;
import io.ciera.tool.sql.architecture.statement.VariableSet;
import io.ciera.tool.sql.architecture.statement.WhileSmt;
import io.ciera.tool.sql.architecture.statement.WhileSmtSet;
import io.ciera.tool.sql.architecture.statement.impl.BreakSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.BreakSmtSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.ContinueSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.ContinueSmtSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.DeleteSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.DeleteSmtSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.ExpressionAsStatementImpl;
import io.ciera.tool.sql.architecture.statement.impl.ExpressionAsStatementSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.FinalizationImpl;
import io.ciera.tool.sql.architecture.statement.impl.FinalizationSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.ForSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.ForSmtSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.GenerateImpl;
import io.ciera.tool.sql.architecture.statement.impl.GenerateSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.HaltImpl;
import io.ciera.tool.sql.architecture.statement.impl.HaltSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.IfSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.IfSmtSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.NullSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.NullSmtSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.RelateSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.RelateSmtSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.ReturnSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.ReturnSmtSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.StatementImpl;
import io.ciera.tool.sql.architecture.statement.impl.StatementSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.UnrelateSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.UnrelateSmtSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.VariableImpl;
import io.ciera.tool.sql.architecture.statement.impl.VariableInScopeImpl;
import io.ciera.tool.sql.architecture.statement.impl.VariableInScopeSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.VariableSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.WhileSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.WhileSmtSetImpl;
import io.ciera.tool.sql.architecture.type.ArrayTypeReference;
import io.ciera.tool.sql.architecture.type.ArrayTypeReferenceSet;
import io.ciera.tool.sql.architecture.type.BasicTypeReference;
import io.ciera.tool.sql.architecture.type.BasicTypeReferenceSet;
import io.ciera.tool.sql.architecture.type.BuiltInType;
import io.ciera.tool.sql.architecture.type.BuiltInTypeSet;
import io.ciera.tool.sql.architecture.type.EnumeratedType;
import io.ciera.tool.sql.architecture.type.EnumeratedTypeSet;
import io.ciera.tool.sql.architecture.type.Enumerator;
import io.ciera.tool.sql.architecture.type.EnumeratorSet;
import io.ciera.tool.sql.architecture.type.Type;
import io.ciera.tool.sql.architecture.type.TypeReference;
import io.ciera.tool.sql.architecture.type.TypeReferenceSet;
import io.ciera.tool.sql.architecture.type.TypeSet;
import io.ciera.tool.sql.architecture.type.UnresolvedType;
import io.ciera.tool.sql.architecture.type.UnresolvedTypeSet;
import io.ciera.tool.sql.architecture.type.UserDefinedType;
import io.ciera.tool.sql.architecture.type.UserDefinedTypeSet;
import io.ciera.tool.sql.architecture.type.impl.ArrayTypeReferenceImpl;
import io.ciera.tool.sql.architecture.type.impl.ArrayTypeReferenceSetImpl;
import io.ciera.tool.sql.architecture.type.impl.BasicTypeReferenceImpl;
import io.ciera.tool.sql.architecture.type.impl.BasicTypeReferenceSetImpl;
import io.ciera.tool.sql.architecture.type.impl.BuiltInTypeImpl;
import io.ciera.tool.sql.architecture.type.impl.BuiltInTypeSetImpl;
import io.ciera.tool.sql.architecture.type.impl.EnumeratedTypeImpl;
import io.ciera.tool.sql.architecture.type.impl.EnumeratedTypeSetImpl;
import io.ciera.tool.sql.architecture.type.impl.EnumeratorImpl;
import io.ciera.tool.sql.architecture.type.impl.EnumeratorSetImpl;
import io.ciera.tool.sql.architecture.type.impl.TypeImpl;
import io.ciera.tool.sql.architecture.type.impl.TypeReferenceImpl;
import io.ciera.tool.sql.architecture.type.impl.TypeReferenceSetImpl;
import io.ciera.tool.sql.architecture.type.impl.TypeSetImpl;
import io.ciera.tool.sql.architecture.type.impl.UnresolvedTypeImpl;
import io.ciera.tool.sql.architecture.type.impl.UnresolvedTypeSetImpl;
import io.ciera.tool.sql.architecture.type.impl.UserDefinedTypeImpl;
import io.ciera.tool.sql.architecture.type.impl.UserDefinedTypeSetImpl;
import io.ciera.tool.sql.ees.C_UTIL;
import io.ciera.tool.sql.ees.impl.C_UTILImpl;
import io.ciera.tool.sql.loader.AttributeComparison;
import io.ciera.tool.sql.loader.AttributeComparisonSet;
import io.ciera.tool.sql.loader.AttributeLoader;
import io.ciera.tool.sql.loader.AttributeLoaderSet;
import io.ciera.tool.sql.loader.AttributeSerializer;
import io.ciera.tool.sql.loader.AttributeSerializerSet;
import io.ciera.tool.sql.loader.BatchRelator;
import io.ciera.tool.sql.loader.BatchRelatorSet;
import io.ciera.tool.sql.loader.BooleanLoader;
import io.ciera.tool.sql.loader.BooleanLoaderSet;
import io.ciera.tool.sql.loader.BooleanSerializer;
import io.ciera.tool.sql.loader.BooleanSerializerSet;
import io.ciera.tool.sql.loader.ClassInstanceLoader;
import io.ciera.tool.sql.loader.ClassInstanceLoaderSet;
import io.ciera.tool.sql.loader.ClassInstanceSerializer;
import io.ciera.tool.sql.loader.ClassInstanceSerializerSet;
import io.ciera.tool.sql.loader.EnumeratorLoader;
import io.ciera.tool.sql.loader.EnumeratorLoaderSet;
import io.ciera.tool.sql.loader.EventInstanceLoader;
import io.ciera.tool.sql.loader.EventInstanceLoaderSet;
import io.ciera.tool.sql.loader.EventInstanceSerializer;
import io.ciera.tool.sql.loader.EventInstanceSerializerSet;
import io.ciera.tool.sql.loader.GeneralLoader;
import io.ciera.tool.sql.loader.GeneralLoaderSet;
import io.ciera.tool.sql.loader.GeneralSerializer;
import io.ciera.tool.sql.loader.GeneralSerializerSet;
import io.ciera.tool.sql.loader.InstanceLoader;
import io.ciera.tool.sql.loader.InstanceLoaderSet;
import io.ciera.tool.sql.loader.InstanceSerializer;
import io.ciera.tool.sql.loader.InstanceSerializerSet;
import io.ciera.tool.sql.loader.IntegerLoader;
import io.ciera.tool.sql.loader.IntegerLoaderSet;
import io.ciera.tool.sql.loader.IntegerSerializer;
import io.ciera.tool.sql.loader.IntegerSerializerSet;
import io.ciera.tool.sql.loader.PopulationLoader;
import io.ciera.tool.sql.loader.PopulationLoaderSet;
import io.ciera.tool.sql.loader.RealLoader;
import io.ciera.tool.sql.loader.RealLoaderSet;
import io.ciera.tool.sql.loader.RealSerializer;
import io.ciera.tool.sql.loader.RealSerializerSet;
import io.ciera.tool.sql.loader.StringLoader;
import io.ciera.tool.sql.loader.StringLoaderSet;
import io.ciera.tool.sql.loader.StringSerializer;
import io.ciera.tool.sql.loader.StringSerializerSet;
import io.ciera.tool.sql.loader.TimerInstanceLoader;
import io.ciera.tool.sql.loader.TimerInstanceLoaderSet;
import io.ciera.tool.sql.loader.TimerInstanceSerializer;
import io.ciera.tool.sql.loader.TimerInstanceSerializerSet;
import io.ciera.tool.sql.loader.UniqueIDSerializer;
import io.ciera.tool.sql.loader.UniqueIDSerializerSet;
import io.ciera.tool.sql.loader.associationserializerloader.AssociationSerializerLoader;
import io.ciera.tool.sql.loader.associationserializerloader.AssociationSerializerLoaderSet;
import io.ciera.tool.sql.loader.associationserializerloader.MultiInstanceRef;
import io.ciera.tool.sql.loader.associationserializerloader.MultiInstanceRefSet;
import io.ciera.tool.sql.loader.associationserializerloader.MultipleReferrerAssoc;
import io.ciera.tool.sql.loader.associationserializerloader.MultipleReferrerAssocSet;
import io.ciera.tool.sql.loader.associationserializerloader.ReferredToClassProxy;
import io.ciera.tool.sql.loader.associationserializerloader.ReferredToClassProxySet;
import io.ciera.tool.sql.loader.associationserializerloader.ReferringClassProxy;
import io.ciera.tool.sql.loader.associationserializerloader.ReferringClassProxySet;
import io.ciera.tool.sql.loader.associationserializerloader.SingleInstanceRef;
import io.ciera.tool.sql.loader.associationserializerloader.SingleInstanceRefSet;
import io.ciera.tool.sql.loader.associationserializerloader.SingleReferrerAssoc;
import io.ciera.tool.sql.loader.associationserializerloader.SingleReferrerAssocSet;
import io.ciera.tool.sql.loader.associationserializerloader.impl.AssociationSerializerLoaderImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.AssociationSerializerLoaderSetImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.MultiInstanceRefImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.MultiInstanceRefSetImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.MultipleReferrerAssocImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.MultipleReferrerAssocSetImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.ReferredToClassProxyImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.ReferredToClassProxySetImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.ReferringClassProxyImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.ReferringClassProxySetImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.SingleInstanceRefImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.SingleInstanceRefSetImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.SingleReferrerAssocImpl;
import io.ciera.tool.sql.loader.associationserializerloader.impl.SingleReferrerAssocSetImpl;
import io.ciera.tool.sql.loader.impl.AttributeComparisonImpl;
import io.ciera.tool.sql.loader.impl.AttributeComparisonSetImpl;
import io.ciera.tool.sql.loader.impl.AttributeLoaderImpl;
import io.ciera.tool.sql.loader.impl.AttributeLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.AttributeSerializerImpl;
import io.ciera.tool.sql.loader.impl.AttributeSerializerSetImpl;
import io.ciera.tool.sql.loader.impl.BatchRelatorImpl;
import io.ciera.tool.sql.loader.impl.BatchRelatorSetImpl;
import io.ciera.tool.sql.loader.impl.BooleanLoaderImpl;
import io.ciera.tool.sql.loader.impl.BooleanLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.BooleanSerializerImpl;
import io.ciera.tool.sql.loader.impl.BooleanSerializerSetImpl;
import io.ciera.tool.sql.loader.impl.ClassInstanceLoaderImpl;
import io.ciera.tool.sql.loader.impl.ClassInstanceLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.ClassInstanceSerializerImpl;
import io.ciera.tool.sql.loader.impl.ClassInstanceSerializerSetImpl;
import io.ciera.tool.sql.loader.impl.EnumeratorLoaderImpl;
import io.ciera.tool.sql.loader.impl.EnumeratorLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.EventInstanceLoaderImpl;
import io.ciera.tool.sql.loader.impl.EventInstanceLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.EventInstanceSerializerImpl;
import io.ciera.tool.sql.loader.impl.EventInstanceSerializerSetImpl;
import io.ciera.tool.sql.loader.impl.GeneralLoaderImpl;
import io.ciera.tool.sql.loader.impl.GeneralLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.GeneralSerializerImpl;
import io.ciera.tool.sql.loader.impl.GeneralSerializerSetImpl;
import io.ciera.tool.sql.loader.impl.InstanceLoaderImpl;
import io.ciera.tool.sql.loader.impl.InstanceLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.InstanceSerializerImpl;
import io.ciera.tool.sql.loader.impl.InstanceSerializerSetImpl;
import io.ciera.tool.sql.loader.impl.IntegerLoaderImpl;
import io.ciera.tool.sql.loader.impl.IntegerLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.IntegerSerializerImpl;
import io.ciera.tool.sql.loader.impl.IntegerSerializerSetImpl;
import io.ciera.tool.sql.loader.impl.PopulationLoaderImpl;
import io.ciera.tool.sql.loader.impl.PopulationLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.RealLoaderImpl;
import io.ciera.tool.sql.loader.impl.RealLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.RealSerializerImpl;
import io.ciera.tool.sql.loader.impl.RealSerializerSetImpl;
import io.ciera.tool.sql.loader.impl.StringLoaderImpl;
import io.ciera.tool.sql.loader.impl.StringLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.StringSerializerImpl;
import io.ciera.tool.sql.loader.impl.StringSerializerSetImpl;
import io.ciera.tool.sql.loader.impl.TimerInstanceLoaderImpl;
import io.ciera.tool.sql.loader.impl.TimerInstanceLoaderSetImpl;
import io.ciera.tool.sql.loader.impl.TimerInstanceSerializerImpl;
import io.ciera.tool.sql.loader.impl.TimerInstanceSerializerSetImpl;
import io.ciera.tool.sql.loader.impl.UniqueIDSerializerImpl;
import io.ciera.tool.sql.loader.impl.UniqueIDSerializerSetImpl;
import io.ciera.tool.sql.ooaofmarking.CSV;
import io.ciera.tool.sql.ooaofmarking.Feature;
import io.ciera.tool.sql.ooaofmarking.FeatureSet;
import io.ciera.tool.sql.ooaofmarking.Mark;
import io.ciera.tool.sql.ooaofmarking.MarkSet;
import io.ciera.tool.sql.ooaofmarking.MarkableElementType;
import io.ciera.tool.sql.ooaofmarking.MarkableElementTypeSet;
import io.ciera.tool.sql.ooaofmarking.impl.CSVImpl;
import io.ciera.tool.sql.ooaofmarking.impl.FeatureImpl;
import io.ciera.tool.sql.ooaofmarking.impl.FeatureSetImpl;
import io.ciera.tool.sql.ooaofmarking.impl.MarkImpl;
import io.ciera.tool.sql.ooaofmarking.impl.MarkSetImpl;
import io.ciera.tool.sql.ooaofmarking.impl.MarkableElementTypeImpl;
import io.ciera.tool.sql.ooaofmarking.impl.MarkableElementTypeSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.AcceptEvent;
import io.ciera.tool.sql.ooaofooa.activity.AcceptEventAction;
import io.ciera.tool.sql.ooaofooa.activity.AcceptEventActionSet;
import io.ciera.tool.sql.ooaofooa.activity.AcceptEventSet;
import io.ciera.tool.sql.ooaofooa.activity.AcceptTimeEventAction;
import io.ciera.tool.sql.ooaofooa.activity.AcceptTimeEventActionSet;
import io.ciera.tool.sql.ooaofooa.activity.ActionNode;
import io.ciera.tool.sql.ooaofooa.activity.ActionNodeSet;
import io.ciera.tool.sql.ooaofooa.activity.ActivityDiagramAction;
import io.ciera.tool.sql.ooaofooa.activity.ActivityDiagramActionSet;
import io.ciera.tool.sql.ooaofooa.activity.ActivityEdge;
import io.ciera.tool.sql.ooaofooa.activity.ActivityEdgeSet;
import io.ciera.tool.sql.ooaofooa.activity.ActivityFinalNode;
import io.ciera.tool.sql.ooaofooa.activity.ActivityFinalNodeSet;
import io.ciera.tool.sql.ooaofooa.activity.ActivityNode;
import io.ciera.tool.sql.ooaofooa.activity.ActivityNodeSet;
import io.ciera.tool.sql.ooaofooa.activity.ActivityPartition;
import io.ciera.tool.sql.ooaofooa.activity.ActivityPartitionSet;
import io.ciera.tool.sql.ooaofooa.activity.ControlNode;
import io.ciera.tool.sql.ooaofooa.activity.ControlNodeSet;
import io.ciera.tool.sql.ooaofooa.activity.DecisionMergeNode;
import io.ciera.tool.sql.ooaofooa.activity.DecisionMergeNodeSet;
import io.ciera.tool.sql.ooaofooa.activity.FlowFinalNode;
import io.ciera.tool.sql.ooaofooa.activity.FlowFinalNodeSet;
import io.ciera.tool.sql.ooaofooa.activity.ForkJoinNode;
import io.ciera.tool.sql.ooaofooa.activity.ForkJoinNodeSet;
import io.ciera.tool.sql.ooaofooa.activity.InitialNode;
import io.ciera.tool.sql.ooaofooa.activity.InitialNodeSet;
import io.ciera.tool.sql.ooaofooa.activity.ObjectNode;
import io.ciera.tool.sql.ooaofooa.activity.ObjectNodeSet;
import io.ciera.tool.sql.ooaofooa.activity.SendSignal;
import io.ciera.tool.sql.ooaofooa.activity.SendSignalSet;
import io.ciera.tool.sql.ooaofooa.activity.impl.AcceptEventActionImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.AcceptEventActionSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.AcceptEventImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.AcceptEventSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.AcceptTimeEventActionImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.AcceptTimeEventActionSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActionNodeImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActionNodeSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActivityDiagramActionImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActivityDiagramActionSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActivityEdgeImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActivityEdgeSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActivityFinalNodeImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActivityFinalNodeSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActivityNodeImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActivityNodeSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActivityPartitionImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ActivityPartitionSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ControlNodeImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ControlNodeSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.DecisionMergeNodeImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.DecisionMergeNodeSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.FlowFinalNodeImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.FlowFinalNodeSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ForkJoinNodeImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ForkJoinNodeSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.InitialNodeImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.InitialNodeSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ObjectNodeImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.ObjectNodeSetImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.SendSignalImpl;
import io.ciera.tool.sql.ooaofooa.activity.impl.SendSignalSetImpl;
import io.ciera.tool.sql.ooaofooa.association.Association;
import io.ciera.tool.sql.ooaofooa.association.AssociationSet;
import io.ciera.tool.sql.ooaofooa.association.ClassAsAssociatedOneSide;
import io.ciera.tool.sql.ooaofooa.association.ClassAsAssociatedOneSideSet;
import io.ciera.tool.sql.ooaofooa.association.ClassAsAssociatedOtherSide;
import io.ciera.tool.sql.ooaofooa.association.ClassAsAssociatedOtherSideSet;
import io.ciera.tool.sql.ooaofooa.association.ClassAsDerivedOneSide;
import io.ciera.tool.sql.ooaofooa.association.ClassAsDerivedOneSideSet;
import io.ciera.tool.sql.ooaofooa.association.ClassAsDerivedOtherSide;
import io.ciera.tool.sql.ooaofooa.association.ClassAsDerivedOtherSideSet;
import io.ciera.tool.sql.ooaofooa.association.ClassAsLink;
import io.ciera.tool.sql.ooaofooa.association.ClassAsLinkSet;
import io.ciera.tool.sql.ooaofooa.association.ClassAsSimpleFormalizer;
import io.ciera.tool.sql.ooaofooa.association.ClassAsSimpleFormalizerSet;
import io.ciera.tool.sql.ooaofooa.association.ClassAsSimpleParticipant;
import io.ciera.tool.sql.ooaofooa.association.ClassAsSimpleParticipantSet;
import io.ciera.tool.sql.ooaofooa.association.ClassAsSubtype;
import io.ciera.tool.sql.ooaofooa.association.ClassAsSubtypeSet;
import io.ciera.tool.sql.ooaofooa.association.ClassAsSupertype;
import io.ciera.tool.sql.ooaofooa.association.ClassAsSupertypeSet;
import io.ciera.tool.sql.ooaofooa.association.ClassInAssociation;
import io.ciera.tool.sql.ooaofooa.association.ClassInAssociationSet;
import io.ciera.tool.sql.ooaofooa.association.DerivedAssociation;
import io.ciera.tool.sql.ooaofooa.association.DerivedAssociationSet;
import io.ciera.tool.sql.ooaofooa.association.LinkedAssociation;
import io.ciera.tool.sql.ooaofooa.association.LinkedAssociationSet;
import io.ciera.tool.sql.ooaofooa.association.ReferredToClassInAssoc;
import io.ciera.tool.sql.ooaofooa.association.ReferredToClassInAssocSet;
import io.ciera.tool.sql.ooaofooa.association.ReferringClassInAssoc;
import io.ciera.tool.sql.ooaofooa.association.ReferringClassInAssocSet;
import io.ciera.tool.sql.ooaofooa.association.SimpleAssociation;
import io.ciera.tool.sql.ooaofooa.association.SimpleAssociationSet;
import io.ciera.tool.sql.ooaofooa.association.SubtypeSupertypeAssociation;
import io.ciera.tool.sql.ooaofooa.association.SubtypeSupertypeAssociationSet;
import io.ciera.tool.sql.ooaofooa.association.impl.AssociationImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.AssociationSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsAssociatedOneSideImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsAssociatedOneSideSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsAssociatedOtherSideImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsAssociatedOtherSideSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsDerivedOneSideImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsDerivedOneSideSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsDerivedOtherSideImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsDerivedOtherSideSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsLinkImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsLinkSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsSimpleFormalizerImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsSimpleFormalizerSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsSimpleParticipantImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsSimpleParticipantSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsSubtypeImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsSubtypeSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsSupertypeImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassAsSupertypeSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassInAssociationImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ClassInAssociationSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.DerivedAssociationImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.DerivedAssociationSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.LinkedAssociationImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.LinkedAssociationSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ReferredToClassInAssocImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ReferredToClassInAssocSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ReferringClassInAssocImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.ReferringClassInAssocSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.SimpleAssociationImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.SimpleAssociationSetImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.SubtypeSupertypeAssociationImpl;
import io.ciera.tool.sql.ooaofooa.association.impl.SubtypeSupertypeAssociationSetImpl;
import io.ciera.tool.sql.ooaofooa.body.ACT_BRK;
import io.ciera.tool.sql.ooaofooa.body.ACT_BRKSet;
import io.ciera.tool.sql.ooaofooa.body.ACT_CON;
import io.ciera.tool.sql.ooaofooa.body.ACT_CONSet;
import io.ciera.tool.sql.ooaofooa.body.ACT_SMT;
import io.ciera.tool.sql.ooaofooa.body.ACT_SMTSet;
import io.ciera.tool.sql.ooaofooa.body.Block;
import io.ciera.tool.sql.ooaofooa.body.BlockSet;
import io.ciera.tool.sql.ooaofooa.body.Body;
import io.ciera.tool.sql.ooaofooa.body.BodyInComponent;
import io.ciera.tool.sql.ooaofooa.body.BodyInComponentSet;
import io.ciera.tool.sql.ooaofooa.body.BodyInElement;
import io.ciera.tool.sql.ooaofooa.body.BodyInElementSet;
import io.ciera.tool.sql.ooaofooa.body.BodySet;
import io.ciera.tool.sql.ooaofooa.body.BridgeBody;
import io.ciera.tool.sql.ooaofooa.body.BridgeBodySet;
import io.ciera.tool.sql.ooaofooa.body.Control;
import io.ciera.tool.sql.ooaofooa.body.ControlSet;
import io.ciera.tool.sql.ooaofooa.body.DerivedAttributeBody;
import io.ciera.tool.sql.ooaofooa.body.DerivedAttributeBodySet;
import io.ciera.tool.sql.ooaofooa.body.ElseIfStmt;
import io.ciera.tool.sql.ooaofooa.body.ElseIfStmtSet;
import io.ciera.tool.sql.ooaofooa.body.ElseStmt;
import io.ciera.tool.sql.ooaofooa.body.ElseStmtSet;
import io.ciera.tool.sql.ooaofooa.body.ForStmt;
import io.ciera.tool.sql.ooaofooa.body.ForStmtSet;
import io.ciera.tool.sql.ooaofooa.body.FunctionBody;
import io.ciera.tool.sql.ooaofooa.body.FunctionBodySet;
import io.ciera.tool.sql.ooaofooa.body.IfStmt;
import io.ciera.tool.sql.ooaofooa.body.IfStmtSet;
import io.ciera.tool.sql.ooaofooa.body.OperationBody;
import io.ciera.tool.sql.ooaofooa.body.OperationBodySet;
import io.ciera.tool.sql.ooaofooa.body.ProvidedOperationBody;
import io.ciera.tool.sql.ooaofooa.body.ProvidedOperationBodySet;
import io.ciera.tool.sql.ooaofooa.body.ProvidedSignalBody;
import io.ciera.tool.sql.ooaofooa.body.ProvidedSignalBodySet;
import io.ciera.tool.sql.ooaofooa.body.RequiredOperationBody;
import io.ciera.tool.sql.ooaofooa.body.RequiredOperationBodySet;
import io.ciera.tool.sql.ooaofooa.body.RequiredSignalBody;
import io.ciera.tool.sql.ooaofooa.body.RequiredSignalBodySet;
import io.ciera.tool.sql.ooaofooa.body.StateActionBody;
import io.ciera.tool.sql.ooaofooa.body.StateActionBodySet;
import io.ciera.tool.sql.ooaofooa.body.TransitionActionBody;
import io.ciera.tool.sql.ooaofooa.body.TransitionActionBodySet;
import io.ciera.tool.sql.ooaofooa.body.WhileStmt;
import io.ciera.tool.sql.ooaofooa.body.WhileStmtSet;
import io.ciera.tool.sql.ooaofooa.body.impl.ACT_BRKImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ACT_BRKSetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ACT_CONImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ACT_CONSetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ACT_SMTImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ACT_SMTSetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.BlockImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.BlockSetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.BodyImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.BodyInComponentImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.BodyInComponentSetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.BodyInElementImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.BodyInElementSetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.BodySetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.BridgeBodyImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.BridgeBodySetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ControlImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ControlSetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.DerivedAttributeBodyImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.DerivedAttributeBodySetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ElseIfStmtImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ElseIfStmtSetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ElseStmtImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ElseStmtSetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ForStmtImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ForStmtSetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.FunctionBodyImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.FunctionBodySetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.IfStmtImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.IfStmtSetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.OperationBodyImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.OperationBodySetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ProvidedOperationBodyImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ProvidedOperationBodySetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ProvidedSignalBodyImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.ProvidedSignalBodySetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.RequiredOperationBodyImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.RequiredOperationBodySetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.RequiredSignalBodyImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.RequiredSignalBodySetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.StateActionBodyImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.StateActionBodySetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.TransitionActionBodyImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.TransitionActionBodySetImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.WhileStmtImpl;
import io.ciera.tool.sql.ooaofooa.body.impl.WhileStmtSetImpl;
import io.ciera.tool.sql.ooaofooa.communication.CommunicationLink;
import io.ciera.tool.sql.ooaofooa.communication.CommunicationLinkSet;
import io.ciera.tool.sql.ooaofooa.communication.impl.CommunicationLinkImpl;
import io.ciera.tool.sql.ooaofooa.communication.impl.CommunicationLinkSetImpl;
import io.ciera.tool.sql.ooaofooa.component.C_C;
import io.ciera.tool.sql.ooaofooa.component.C_CSet;
import io.ciera.tool.sql.ooaofooa.component.C_I;
import io.ciera.tool.sql.ooaofooa.component.C_ISet;
import io.ciera.tool.sql.ooaofooa.component.C_PO;
import io.ciera.tool.sql.ooaofooa.component.C_POSet;
import io.ciera.tool.sql.ooaofooa.component.Delegation;
import io.ciera.tool.sql.ooaofooa.component.DelegationSet;
import io.ciera.tool.sql.ooaofooa.component.ExecutableProperty;
import io.ciera.tool.sql.ooaofooa.component.ExecutablePropertySet;
import io.ciera.tool.sql.ooaofooa.component.InterfaceOperation;
import io.ciera.tool.sql.ooaofooa.component.InterfaceOperationSet;
import io.ciera.tool.sql.ooaofooa.component.InterfaceReference;
import io.ciera.tool.sql.ooaofooa.component.InterfaceReferenceInDelegation;
import io.ciera.tool.sql.ooaofooa.component.InterfaceReferenceInDelegationSet;
import io.ciera.tool.sql.ooaofooa.component.InterfaceReferenceSet;
import io.ciera.tool.sql.ooaofooa.component.InterfaceSignal;
import io.ciera.tool.sql.ooaofooa.component.InterfaceSignalSet;
import io.ciera.tool.sql.ooaofooa.component.PropertyParameter;
import io.ciera.tool.sql.ooaofooa.component.PropertyParameterSet;
import io.ciera.tool.sql.ooaofooa.component.Provision;
import io.ciera.tool.sql.ooaofooa.component.ProvisionSet;
import io.ciera.tool.sql.ooaofooa.component.Requirement;
import io.ciera.tool.sql.ooaofooa.component.RequirementSet;
import io.ciera.tool.sql.ooaofooa.component.Satisfaction;
import io.ciera.tool.sql.ooaofooa.component.SatisfactionSet;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.ComponentReference;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.ComponentReferenceSet;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.ImportedProvision;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.ImportedProvisionInSatisfaction;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.ImportedProvisionInSatisfactionSet;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.ImportedProvisionSet;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.ImportedReference;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.ImportedReferenceSet;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.ImportedRequirement;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.ImportedRequirementSet;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.PortReference;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.PortReferenceSet;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.ComponentReferenceImpl;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.ComponentReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.ImportedProvisionImpl;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.ImportedProvisionInSatisfactionImpl;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.ImportedProvisionInSatisfactionSetImpl;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.ImportedProvisionSetImpl;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.ImportedReferenceImpl;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.ImportedReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.ImportedRequirementImpl;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.ImportedRequirementSetImpl;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.PortReferenceImpl;
import io.ciera.tool.sql.ooaofooa.component.componentlibrary.impl.PortReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.C_CImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.C_CSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.C_IImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.C_ISetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.C_POImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.C_POSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.DelegationImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.DelegationSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.ExecutablePropertyImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.ExecutablePropertySetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.InterfaceOperationImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.InterfaceOperationSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.InterfaceReferenceImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.InterfaceReferenceInDelegationImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.InterfaceReferenceInDelegationSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.InterfaceReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.InterfaceSignalImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.InterfaceSignalSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.PropertyParameterImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.PropertyParameterSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.ProvisionImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.ProvisionSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.RequirementImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.RequirementSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.SatisfactionImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.SatisfactionSetImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.ProvidedExecutableProperty;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.ProvidedExecutablePropertySet;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.ProvidedOperation;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.ProvidedOperationSet;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.ProvidedSignal;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.ProvidedSignalSet;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.RequiredExecutableProperty;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.RequiredExecutablePropertySet;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.RequiredOperation;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.RequiredOperationSet;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.RequiredSignal;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.RequiredSignalSet;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.ProvidedExecutablePropertyImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.ProvidedExecutablePropertySetImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.ProvidedOperationImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.ProvidedOperationSetImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.ProvidedSignalImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.ProvidedSignalSetImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.RequiredExecutablePropertyImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.RequiredExecutablePropertySetImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.RequiredOperationImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.RequiredOperationSetImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.RequiredSignalImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.RequiredSignalSetImpl;
import io.ciera.tool.sql.ooaofooa.constants.ConstantSpecification;
import io.ciera.tool.sql.ooaofooa.constants.ConstantSpecificationSet;
import io.ciera.tool.sql.ooaofooa.constants.LeafSymbolicConstant;
import io.ciera.tool.sql.ooaofooa.constants.LeafSymbolicConstantSet;
import io.ciera.tool.sql.ooaofooa.constants.LiteralSymbolicConstant;
import io.ciera.tool.sql.ooaofooa.constants.LiteralSymbolicConstantSet;
import io.ciera.tool.sql.ooaofooa.constants.SymbolicConstant;
import io.ciera.tool.sql.ooaofooa.constants.SymbolicConstantSet;
import io.ciera.tool.sql.ooaofooa.constants.impl.ConstantSpecificationImpl;
import io.ciera.tool.sql.ooaofooa.constants.impl.ConstantSpecificationSetImpl;
import io.ciera.tool.sql.ooaofooa.constants.impl.LeafSymbolicConstantImpl;
import io.ciera.tool.sql.ooaofooa.constants.impl.LeafSymbolicConstantSetImpl;
import io.ciera.tool.sql.ooaofooa.constants.impl.LiteralSymbolicConstantImpl;
import io.ciera.tool.sql.ooaofooa.constants.impl.LiteralSymbolicConstantSetImpl;
import io.ciera.tool.sql.ooaofooa.constants.impl.SymbolicConstantImpl;
import io.ciera.tool.sql.ooaofooa.constants.impl.SymbolicConstantSetImpl;
import io.ciera.tool.sql.ooaofooa.deployment.Deployment;
import io.ciera.tool.sql.ooaofooa.deployment.DeploymentSet;
import io.ciera.tool.sql.ooaofooa.deployment.ServiceInSequence;
import io.ciera.tool.sql.ooaofooa.deployment.ServiceInSequenceSet;
import io.ciera.tool.sql.ooaofooa.deployment.Terminator;
import io.ciera.tool.sql.ooaofooa.deployment.TerminatorService;
import io.ciera.tool.sql.ooaofooa.deployment.TerminatorServiceParameter;
import io.ciera.tool.sql.ooaofooa.deployment.TerminatorServiceParameterSet;
import io.ciera.tool.sql.ooaofooa.deployment.TerminatorServiceSequence;
import io.ciera.tool.sql.ooaofooa.deployment.TerminatorServiceSequenceSet;
import io.ciera.tool.sql.ooaofooa.deployment.TerminatorServiceSet;
import io.ciera.tool.sql.ooaofooa.deployment.TerminatorSet;
import io.ciera.tool.sql.ooaofooa.deployment.impl.DeploymentImpl;
import io.ciera.tool.sql.ooaofooa.deployment.impl.DeploymentSetImpl;
import io.ciera.tool.sql.ooaofooa.deployment.impl.ServiceInSequenceImpl;
import io.ciera.tool.sql.ooaofooa.deployment.impl.ServiceInSequenceSetImpl;
import io.ciera.tool.sql.ooaofooa.deployment.impl.TerminatorImpl;
import io.ciera.tool.sql.ooaofooa.deployment.impl.TerminatorServiceImpl;
import io.ciera.tool.sql.ooaofooa.deployment.impl.TerminatorServiceParameterImpl;
import io.ciera.tool.sql.ooaofooa.deployment.impl.TerminatorServiceParameterSetImpl;
import io.ciera.tool.sql.ooaofooa.deployment.impl.TerminatorServiceSequenceImpl;
import io.ciera.tool.sql.ooaofooa.deployment.impl.TerminatorServiceSequenceSetImpl;
import io.ciera.tool.sql.ooaofooa.deployment.impl.TerminatorServiceSetImpl;
import io.ciera.tool.sql.ooaofooa.deployment.impl.TerminatorSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.Bridge;
import io.ciera.tool.sql.ooaofooa.domain.BridgeParameter;
import io.ciera.tool.sql.ooaofooa.domain.BridgeParameterSet;
import io.ciera.tool.sql.ooaofooa.domain.BridgeSet;
import io.ciera.tool.sql.ooaofooa.domain.CoreDataType;
import io.ciera.tool.sql.ooaofooa.domain.CoreDataTypeSet;
import io.ciera.tool.sql.ooaofooa.domain.DataType;
import io.ciera.tool.sql.ooaofooa.domain.DataTypeSet;
import io.ciera.tool.sql.ooaofooa.domain.Dimensions;
import io.ciera.tool.sql.ooaofooa.domain.DimensionsSet;
import io.ciera.tool.sql.ooaofooa.domain.EnumerationDataType;
import io.ciera.tool.sql.ooaofooa.domain.EnumerationDataTypeSet;
import io.ciera.tool.sql.ooaofooa.domain.Exception;
import io.ciera.tool.sql.ooaofooa.domain.ExceptionSet;
import io.ciera.tool.sql.ooaofooa.domain.ExternalEntity;
import io.ciera.tool.sql.ooaofooa.domain.ExternalEntityInModel;
import io.ciera.tool.sql.ooaofooa.domain.ExternalEntityInModelSet;
import io.ciera.tool.sql.ooaofooa.domain.ExternalEntitySet;
import io.ciera.tool.sql.ooaofooa.domain.FunctionParameter;
import io.ciera.tool.sql.ooaofooa.domain.FunctionParameterSet;
import io.ciera.tool.sql.ooaofooa.domain.InstanceReferenceDataType;
import io.ciera.tool.sql.ooaofooa.domain.InstanceReferenceDataTypeSet;
import io.ciera.tool.sql.ooaofooa.domain.Range;
import io.ciera.tool.sql.ooaofooa.domain.RangeSet;
import io.ciera.tool.sql.ooaofooa.domain.S_ENUM;
import io.ciera.tool.sql.ooaofooa.domain.S_ENUMSet;
import io.ciera.tool.sql.ooaofooa.domain.S_SYNC;
import io.ciera.tool.sql.ooaofooa.domain.S_SYNCSet;
import io.ciera.tool.sql.ooaofooa.domain.StructureMember;
import io.ciera.tool.sql.ooaofooa.domain.StructureMemberSet;
import io.ciera.tool.sql.ooaofooa.domain.StructuredDataType;
import io.ciera.tool.sql.ooaofooa.domain.StructuredDataTypeSet;
import io.ciera.tool.sql.ooaofooa.domain.SystemModel;
import io.ciera.tool.sql.ooaofooa.domain.SystemModelSet;
import io.ciera.tool.sql.ooaofooa.domain.UserDataType;
import io.ciera.tool.sql.ooaofooa.domain.UserDataTypeSet;
import io.ciera.tool.sql.ooaofooa.domain.impl.BridgeImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.BridgeParameterImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.BridgeParameterSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.BridgeSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.CoreDataTypeImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.CoreDataTypeSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.DataTypeImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.DataTypeSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.DimensionsImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.DimensionsSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.EnumerationDataTypeImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.EnumerationDataTypeSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.ExceptionImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.ExceptionSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.ExternalEntityImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.ExternalEntityInModelImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.ExternalEntityInModelSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.ExternalEntitySetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.FunctionParameterImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.FunctionParameterSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.InstanceReferenceDataTypeImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.InstanceReferenceDataTypeSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.RangeImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.RangeSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.S_ENUMImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.S_ENUMSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.S_SYNCImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.S_SYNCSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.StructureMemberImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.StructureMemberSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.StructuredDataTypeImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.StructuredDataTypeSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.SystemModelImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.SystemModelSetImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.UserDataTypeImpl;
import io.ciera.tool.sql.ooaofooa.domain.impl.UserDataTypeSetImpl;
import io.ciera.tool.sql.ooaofooa.elementpackaging.EP_PKG;
import io.ciera.tool.sql.ooaofooa.elementpackaging.EP_PKGSet;
import io.ciera.tool.sql.ooaofooa.elementpackaging.PackageReference;
import io.ciera.tool.sql.ooaofooa.elementpackaging.PackageReferenceSet;
import io.ciera.tool.sql.ooaofooa.elementpackaging.impl.EP_PKGImpl;
import io.ciera.tool.sql.ooaofooa.elementpackaging.impl.EP_PKGSetImpl;
import io.ciera.tool.sql.ooaofooa.elementpackaging.impl.PackageReferenceImpl;
import io.ciera.tool.sql.ooaofooa.elementpackaging.impl.PackageReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.event.CreateEventStatement;
import io.ciera.tool.sql.ooaofooa.event.CreateEventStatementSet;
import io.ciera.tool.sql.ooaofooa.event.CreateEventToClass;
import io.ciera.tool.sql.ooaofooa.event.CreateEventToClassSet;
import io.ciera.tool.sql.ooaofooa.event.CreateEventToCreator;
import io.ciera.tool.sql.ooaofooa.event.CreateEventToCreatorSet;
import io.ciera.tool.sql.ooaofooa.event.CreateEventToInstance;
import io.ciera.tool.sql.ooaofooa.event.CreateEventToInstanceSet;
import io.ciera.tool.sql.ooaofooa.event.CreateSMEventStatement;
import io.ciera.tool.sql.ooaofooa.event.CreateSMEventStatementSet;
import io.ciera.tool.sql.ooaofooa.event.E_GEN;
import io.ciera.tool.sql.ooaofooa.event.E_GENSet;
import io.ciera.tool.sql.ooaofooa.event.EventSpecificationStatement;
import io.ciera.tool.sql.ooaofooa.event.EventSpecificationStatementSet;
import io.ciera.tool.sql.ooaofooa.event.GenerateEventStatement;
import io.ciera.tool.sql.ooaofooa.event.GenerateEventStatementSet;
import io.ciera.tool.sql.ooaofooa.event.GeneratePreexistingEvent;
import io.ciera.tool.sql.ooaofooa.event.GeneratePreexistingEventSet;
import io.ciera.tool.sql.ooaofooa.event.GenerateSMEventStatement;
import io.ciera.tool.sql.ooaofooa.event.GenerateSMEventStatementSet;
import io.ciera.tool.sql.ooaofooa.event.GenerateToClass;
import io.ciera.tool.sql.ooaofooa.event.GenerateToClassSet;
import io.ciera.tool.sql.ooaofooa.event.GenerateToCreator;
import io.ciera.tool.sql.ooaofooa.event.GenerateToCreatorSet;
import io.ciera.tool.sql.ooaofooa.event.impl.CreateEventStatementImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.CreateEventStatementSetImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.CreateEventToClassImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.CreateEventToClassSetImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.CreateEventToCreatorImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.CreateEventToCreatorSetImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.CreateEventToInstanceImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.CreateEventToInstanceSetImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.CreateSMEventStatementImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.CreateSMEventStatementSetImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.E_GENImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.E_GENSetImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.EventSpecificationStatementImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.EventSpecificationStatementSetImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.GenerateEventStatementImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.GenerateEventStatementSetImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.GeneratePreexistingEventImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.GeneratePreexistingEventSetImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.GenerateSMEventStatementImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.GenerateSMEventStatementSetImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.GenerateToClassImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.GenerateToClassSetImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.GenerateToCreatorImpl;
import io.ciera.tool.sql.ooaofooa.event.impl.GenerateToCreatorSetImpl;
import io.ciera.tool.sql.ooaofooa.globals.GlobalElementInSystem;
import io.ciera.tool.sql.ooaofooa.globals.GlobalElementInSystemSet;
import io.ciera.tool.sql.ooaofooa.globals.impl.GlobalElementInSystemImpl;
import io.ciera.tool.sql.ooaofooa.globals.impl.GlobalElementInSystemSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.AttributeValue;
import io.ciera.tool.sql.ooaofooa.instance.AttributeValueSet;
import io.ciera.tool.sql.ooaofooa.instance.BlockInStackFrame;
import io.ciera.tool.sql.ooaofooa.instance.BlockInStackFrameSet;
import io.ciera.tool.sql.ooaofooa.instance.ComponentInstance;
import io.ciera.tool.sql.ooaofooa.instance.ComponentInstanceContainer;
import io.ciera.tool.sql.ooaofooa.instance.ComponentInstanceContainerSet;
import io.ciera.tool.sql.ooaofooa.instance.ComponentInstanceSet;
import io.ciera.tool.sql.ooaofooa.instance.DataItemValue;
import io.ciera.tool.sql.ooaofooa.instance.DataItemValueSet;
import io.ciera.tool.sql.ooaofooa.instance.EventQueueEntry;
import io.ciera.tool.sql.ooaofooa.instance.EventQueueEntrySet;
import io.ciera.tool.sql.ooaofooa.instance.I_INS;
import io.ciera.tool.sql.ooaofooa.instance.I_INSSet;
import io.ciera.tool.sql.ooaofooa.instance.IntercomponentQueueEntry;
import io.ciera.tool.sql.ooaofooa.instance.IntercomponentQueueEntrySet;
import io.ciera.tool.sql.ooaofooa.instance.Link;
import io.ciera.tool.sql.ooaofooa.instance.LinkParticipation;
import io.ciera.tool.sql.ooaofooa.instance.LinkParticipationSet;
import io.ciera.tool.sql.ooaofooa.instance.LinkSet;
import io.ciera.tool.sql.ooaofooa.instance.Monitor;
import io.ciera.tool.sql.ooaofooa.instance.MonitorSet;
import io.ciera.tool.sql.ooaofooa.instance.PendingEvent;
import io.ciera.tool.sql.ooaofooa.instance.PendingEventSet;
import io.ciera.tool.sql.ooaofooa.instance.RuntimeChannel;
import io.ciera.tool.sql.ooaofooa.instance.RuntimeChannelSet;
import io.ciera.tool.sql.ooaofooa.instance.SelfQueueEntry;
import io.ciera.tool.sql.ooaofooa.instance.SelfQueueEntrySet;
import io.ciera.tool.sql.ooaofooa.instance.Stack;
import io.ciera.tool.sql.ooaofooa.instance.StackFrame;
import io.ciera.tool.sql.ooaofooa.instance.StackFrameSet;
import io.ciera.tool.sql.ooaofooa.instance.StackSet;
import io.ciera.tool.sql.ooaofooa.instance.Timer;
import io.ciera.tool.sql.ooaofooa.instance.TimerSet;
import io.ciera.tool.sql.ooaofooa.instance.ValueInStackFrame;
import io.ciera.tool.sql.ooaofooa.instance.ValueInStackFrameSet;
import io.ciera.tool.sql.ooaofooa.instance.impl.AttributeValueImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.AttributeValueSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.BlockInStackFrameImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.BlockInStackFrameSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.ComponentInstanceContainerImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.ComponentInstanceContainerSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.ComponentInstanceImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.ComponentInstanceSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.DataItemValueImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.DataItemValueSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.EventQueueEntryImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.EventQueueEntrySetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.I_INSImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.I_INSSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.IntercomponentQueueEntryImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.IntercomponentQueueEntrySetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.LinkImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.LinkParticipationImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.LinkParticipationSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.LinkSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.MonitorImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.MonitorSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.PendingEventImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.PendingEventSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.RuntimeChannelImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.RuntimeChannelSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.SelfQueueEntryImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.SelfQueueEntrySetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.StackFrameImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.StackFrameSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.StackImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.StackSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.TimerImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.TimerSetImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.ValueInStackFrameImpl;
import io.ciera.tool.sql.ooaofooa.instance.impl.ValueInStackFrameSetImpl;
import io.ciera.tool.sql.ooaofooa.instanceaccess.AssignToMember;
import io.ciera.tool.sql.ooaofooa.instanceaccess.AssignToMemberSet;
import io.ciera.tool.sql.ooaofooa.instanceaccess.Create;
import io.ciera.tool.sql.ooaofooa.instanceaccess.CreateNoVariable;
import io.ciera.tool.sql.ooaofooa.instanceaccess.CreateNoVariableSet;
import io.ciera.tool.sql.ooaofooa.instanceaccess.CreateSet;
import io.ciera.tool.sql.ooaofooa.instanceaccess.Delete;
import io.ciera.tool.sql.ooaofooa.instanceaccess.DeleteSet;
import io.ciera.tool.sql.ooaofooa.instanceaccess.impl.AssignToMemberImpl;
import io.ciera.tool.sql.ooaofooa.instanceaccess.impl.AssignToMemberSetImpl;
import io.ciera.tool.sql.ooaofooa.instanceaccess.impl.CreateImpl;
import io.ciera.tool.sql.ooaofooa.instanceaccess.impl.CreateNoVariableImpl;
import io.ciera.tool.sql.ooaofooa.instanceaccess.impl.CreateNoVariableSetImpl;
import io.ciera.tool.sql.ooaofooa.instanceaccess.impl.CreateSetImpl;
import io.ciera.tool.sql.ooaofooa.instanceaccess.impl.DeleteImpl;
import io.ciera.tool.sql.ooaofooa.instanceaccess.impl.DeleteSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.ActorParticipant;
import io.ciera.tool.sql.ooaofooa.interaction.ActorParticipantSet;
import io.ciera.tool.sql.ooaofooa.interaction.ClassInstanceParticipant;
import io.ciera.tool.sql.ooaofooa.interaction.ClassInstanceParticipantSet;
import io.ciera.tool.sql.ooaofooa.interaction.ClassParticipant;
import io.ciera.tool.sql.ooaofooa.interaction.ClassParticipantAttribute;
import io.ciera.tool.sql.ooaofooa.interaction.ClassParticipantAttributeSet;
import io.ciera.tool.sql.ooaofooa.interaction.ClassParticipantSet;
import io.ciera.tool.sql.ooaofooa.interaction.ComponentParticipant;
import io.ciera.tool.sql.ooaofooa.interaction.ComponentParticipantSet;
import io.ciera.tool.sql.ooaofooa.interaction.ExternalEntityParticipant;
import io.ciera.tool.sql.ooaofooa.interaction.ExternalEntityParticipantSet;
import io.ciera.tool.sql.ooaofooa.interaction.FormalAttribute;
import io.ciera.tool.sql.ooaofooa.interaction.FormalAttributeSet;
import io.ciera.tool.sql.ooaofooa.interaction.FormalAttributeValue;
import io.ciera.tool.sql.ooaofooa.interaction.FormalAttributeValueSet;
import io.ciera.tool.sql.ooaofooa.interaction.InformalAttribute;
import io.ciera.tool.sql.ooaofooa.interaction.InformalAttributeSet;
import io.ciera.tool.sql.ooaofooa.interaction.InformalAttributeValue;
import io.ciera.tool.sql.ooaofooa.interaction.InformalAttributeValueSet;
import io.ciera.tool.sql.ooaofooa.interaction.InstanceAttributeValue;
import io.ciera.tool.sql.ooaofooa.interaction.InstanceAttributeValueSet;
import io.ciera.tool.sql.ooaofooa.interaction.InteractionParticipant;
import io.ciera.tool.sql.ooaofooa.interaction.InteractionParticipantSet;
import io.ciera.tool.sql.ooaofooa.interaction.Lifespan;
import io.ciera.tool.sql.ooaofooa.interaction.LifespanSet;
import io.ciera.tool.sql.ooaofooa.interaction.PackageParticipant;
import io.ciera.tool.sql.ooaofooa.interaction.PackageParticipantSet;
import io.ciera.tool.sql.ooaofooa.interaction.TimeSpan;
import io.ciera.tool.sql.ooaofooa.interaction.TimeSpanSet;
import io.ciera.tool.sql.ooaofooa.interaction.TimingMark;
import io.ciera.tool.sql.ooaofooa.interaction.TimingMarkSet;
import io.ciera.tool.sql.ooaofooa.interaction.UseCaseParticipant;
import io.ciera.tool.sql.ooaofooa.interaction.UseCaseParticipantSet;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ActorParticipantImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ActorParticipantSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ClassInstanceParticipantImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ClassInstanceParticipantSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ClassParticipantAttributeImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ClassParticipantAttributeSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ClassParticipantImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ClassParticipantSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ComponentParticipantImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ComponentParticipantSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ExternalEntityParticipantImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.ExternalEntityParticipantSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.FormalAttributeImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.FormalAttributeSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.FormalAttributeValueImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.FormalAttributeValueSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.InformalAttributeImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.InformalAttributeSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.InformalAttributeValueImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.InformalAttributeValueSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.InstanceAttributeValueImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.InstanceAttributeValueSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.InteractionParticipantImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.InteractionParticipantSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.LifespanImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.LifespanSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.PackageParticipantImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.PackageParticipantSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.TimeSpanImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.TimeSpanSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.TimingMarkImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.TimingMarkSetImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.UseCaseParticipantImpl;
import io.ciera.tool.sql.ooaofooa.interaction.impl.UseCaseParticipantSetImpl;
import io.ciera.tool.sql.ooaofooa.invocation.BridgeInvocation;
import io.ciera.tool.sql.ooaofooa.invocation.BridgeInvocationSet;
import io.ciera.tool.sql.ooaofooa.invocation.FunctionInvocation;
import io.ciera.tool.sql.ooaofooa.invocation.FunctionInvocationSet;
import io.ciera.tool.sql.ooaofooa.invocation.InterfaceOperationInvocation;
import io.ciera.tool.sql.ooaofooa.invocation.InterfaceOperationInvocationSet;
import io.ciera.tool.sql.ooaofooa.invocation.OperationInvocation;
import io.ciera.tool.sql.ooaofooa.invocation.OperationInvocationSet;
import io.ciera.tool.sql.ooaofooa.invocation.ReturnStmt;
import io.ciera.tool.sql.ooaofooa.invocation.ReturnStmtSet;
import io.ciera.tool.sql.ooaofooa.invocation.SignalInvocation;
import io.ciera.tool.sql.ooaofooa.invocation.SignalInvocationSet;
import io.ciera.tool.sql.ooaofooa.invocation.impl.BridgeInvocationImpl;
import io.ciera.tool.sql.ooaofooa.invocation.impl.BridgeInvocationSetImpl;
import io.ciera.tool.sql.ooaofooa.invocation.impl.FunctionInvocationImpl;
import io.ciera.tool.sql.ooaofooa.invocation.impl.FunctionInvocationSetImpl;
import io.ciera.tool.sql.ooaofooa.invocation.impl.InterfaceOperationInvocationImpl;
import io.ciera.tool.sql.ooaofooa.invocation.impl.InterfaceOperationInvocationSetImpl;
import io.ciera.tool.sql.ooaofooa.invocation.impl.OperationInvocationImpl;
import io.ciera.tool.sql.ooaofooa.invocation.impl.OperationInvocationSetImpl;
import io.ciera.tool.sql.ooaofooa.invocation.impl.ReturnStmtImpl;
import io.ciera.tool.sql.ooaofooa.invocation.impl.ReturnStmtSetImpl;
import io.ciera.tool.sql.ooaofooa.invocation.impl.SignalInvocationImpl;
import io.ciera.tool.sql.ooaofooa.invocation.impl.SignalInvocationSetImpl;
import io.ciera.tool.sql.ooaofooa.message.AsynchronousMessage;
import io.ciera.tool.sql.ooaofooa.message.AsynchronousMessageSet;
import io.ciera.tool.sql.ooaofooa.message.BridgeArgument;
import io.ciera.tool.sql.ooaofooa.message.BridgeArgumentSet;
import io.ciera.tool.sql.ooaofooa.message.BridgeMessage;
import io.ciera.tool.sql.ooaofooa.message.BridgeMessageSet;
import io.ciera.tool.sql.ooaofooa.message.EventArgument;
import io.ciera.tool.sql.ooaofooa.message.EventArgumentSet;
import io.ciera.tool.sql.ooaofooa.message.EventMessage;
import io.ciera.tool.sql.ooaofooa.message.EventMessageSet;
import io.ciera.tool.sql.ooaofooa.message.ExecutablePropertyArgument;
import io.ciera.tool.sql.ooaofooa.message.ExecutablePropertyArgumentSet;
import io.ciera.tool.sql.ooaofooa.message.FunctionArgument;
import io.ciera.tool.sql.ooaofooa.message.FunctionArgumentSet;
import io.ciera.tool.sql.ooaofooa.message.FunctionMessage;
import io.ciera.tool.sql.ooaofooa.message.FunctionMessageSet;
import io.ciera.tool.sql.ooaofooa.message.InformalArgument;
import io.ciera.tool.sql.ooaofooa.message.InformalArgumentSet;
import io.ciera.tool.sql.ooaofooa.message.InformalAsynchronousMessage;
import io.ciera.tool.sql.ooaofooa.message.InformalAsynchronousMessageSet;
import io.ciera.tool.sql.ooaofooa.message.InformalSynchronousMessage;
import io.ciera.tool.sql.ooaofooa.message.InformalSynchronousMessageSet;
import io.ciera.tool.sql.ooaofooa.message.InterfaceOperationMessage;
import io.ciera.tool.sql.ooaofooa.message.InterfaceOperationMessageSet;
import io.ciera.tool.sql.ooaofooa.message.MSG_M;
import io.ciera.tool.sql.ooaofooa.message.MSG_MSet;
import io.ciera.tool.sql.ooaofooa.message.MessageArgument;
import io.ciera.tool.sql.ooaofooa.message.MessageArgumentSet;
import io.ciera.tool.sql.ooaofooa.message.OperationArgument;
import io.ciera.tool.sql.ooaofooa.message.OperationArgumentSet;
import io.ciera.tool.sql.ooaofooa.message.OperationMessage;
import io.ciera.tool.sql.ooaofooa.message.OperationMessageSet;
import io.ciera.tool.sql.ooaofooa.message.ReturnMessage;
import io.ciera.tool.sql.ooaofooa.message.ReturnMessageSet;
import io.ciera.tool.sql.ooaofooa.message.SignalMessage;
import io.ciera.tool.sql.ooaofooa.message.SignalMessageSet;
import io.ciera.tool.sql.ooaofooa.message.SynchronousMessage;
import io.ciera.tool.sql.ooaofooa.message.SynchronousMessageSet;
import io.ciera.tool.sql.ooaofooa.message.impl.AsynchronousMessageImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.AsynchronousMessageSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.BridgeArgumentImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.BridgeArgumentSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.BridgeMessageImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.BridgeMessageSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.EventArgumentImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.EventArgumentSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.EventMessageImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.EventMessageSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.ExecutablePropertyArgumentImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.ExecutablePropertyArgumentSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.FunctionArgumentImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.FunctionArgumentSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.FunctionMessageImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.FunctionMessageSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.InformalArgumentImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.InformalArgumentSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.InformalAsynchronousMessageImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.InformalAsynchronousMessageSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.InformalSynchronousMessageImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.InformalSynchronousMessageSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.InterfaceOperationMessageImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.InterfaceOperationMessageSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.MSG_MImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.MSG_MSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.MessageArgumentImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.MessageArgumentSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.OperationArgumentImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.OperationArgumentSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.OperationMessageImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.OperationMessageSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.ReturnMessageImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.ReturnMessageSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.SignalMessageImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.SignalMessageSetImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.SynchronousMessageImpl;
import io.ciera.tool.sql.ooaofooa.message.impl.SynchronousMessageSetImpl;
import io.ciera.tool.sql.ooaofooa.packageableelement.ComponentResultSet;
import io.ciera.tool.sql.ooaofooa.packageableelement.ComponentResultSetSet;
import io.ciera.tool.sql.ooaofooa.packageableelement.ComponentVisibility;
import io.ciera.tool.sql.ooaofooa.packageableelement.ComponentVisibilitySet;
import io.ciera.tool.sql.ooaofooa.packageableelement.ElementVisibility;
import io.ciera.tool.sql.ooaofooa.packageableelement.ElementVisibilitySet;
import io.ciera.tool.sql.ooaofooa.packageableelement.PackageableElement;
import io.ciera.tool.sql.ooaofooa.packageableelement.PackageableElementSet;
import io.ciera.tool.sql.ooaofooa.packageableelement.SearchResultSet;
import io.ciera.tool.sql.ooaofooa.packageableelement.SearchResultSetSet;
import io.ciera.tool.sql.ooaofooa.packageableelement.impl.ComponentResultSetImpl;
import io.ciera.tool.sql.ooaofooa.packageableelement.impl.ComponentResultSetSetImpl;
import io.ciera.tool.sql.ooaofooa.packageableelement.impl.ComponentVisibilityImpl;
import io.ciera.tool.sql.ooaofooa.packageableelement.impl.ComponentVisibilitySetImpl;
import io.ciera.tool.sql.ooaofooa.packageableelement.impl.ElementVisibilityImpl;
import io.ciera.tool.sql.ooaofooa.packageableelement.impl.ElementVisibilitySetImpl;
import io.ciera.tool.sql.ooaofooa.packageableelement.impl.PackageableElementImpl;
import io.ciera.tool.sql.ooaofooa.packageableelement.impl.PackageableElementSetImpl;
import io.ciera.tool.sql.ooaofooa.packageableelement.impl.SearchResultSetImpl;
import io.ciera.tool.sql.ooaofooa.packageableelement.impl.SearchResultSetSetImpl;
import io.ciera.tool.sql.ooaofooa.persistenceassociations.DelegationInComponent;
import io.ciera.tool.sql.ooaofooa.persistenceassociations.DelegationInComponentSet;
import io.ciera.tool.sql.ooaofooa.persistenceassociations.SatisfactionInComponent;
import io.ciera.tool.sql.ooaofooa.persistenceassociations.SatisfactionInComponentSet;
import io.ciera.tool.sql.ooaofooa.persistenceassociations.impl.DelegationInComponentImpl;
import io.ciera.tool.sql.ooaofooa.persistenceassociations.impl.DelegationInComponentSetImpl;
import io.ciera.tool.sql.ooaofooa.persistenceassociations.impl.SatisfactionInComponentImpl;
import io.ciera.tool.sql.ooaofooa.persistenceassociations.impl.SatisfactionInComponentSetImpl;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.Relate;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.RelateSet;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.RelateUsing;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.RelateUsingSet;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.Unrelate;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.UnrelateSet;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.UnrelateUsing;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.UnrelateUsingSet;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.impl.RelateImpl;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.impl.RelateSetImpl;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.impl.RelateUsingImpl;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.impl.RelateUsingSetImpl;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.impl.UnrelateImpl;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.impl.UnrelateSetImpl;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.impl.UnrelateUsingImpl;
import io.ciera.tool.sql.ooaofooa.relateandunrelate.impl.UnrelateUsingSetImpl;
import io.ciera.tool.sql.ooaofooa.selection.ACT_FIO;
import io.ciera.tool.sql.ooaofooa.selection.ACT_FIOSet;
import io.ciera.tool.sql.ooaofooa.selection.ACT_SEL;
import io.ciera.tool.sql.ooaofooa.selection.ACT_SELSet;
import io.ciera.tool.sql.ooaofooa.selection.ChainLink;
import io.ciera.tool.sql.ooaofooa.selection.ChainLinkSet;
import io.ciera.tool.sql.ooaofooa.selection.SelectFromInstancesWhere;
import io.ciera.tool.sql.ooaofooa.selection.SelectFromInstancesWhereSet;
import io.ciera.tool.sql.ooaofooa.selection.SelectRelatedBy;
import io.ciera.tool.sql.ooaofooa.selection.SelectRelatedBySet;
import io.ciera.tool.sql.ooaofooa.selection.SelectRelatedWhere;
import io.ciera.tool.sql.ooaofooa.selection.SelectRelatedWhereSet;
import io.ciera.tool.sql.ooaofooa.selection.impl.ACT_FIOImpl;
import io.ciera.tool.sql.ooaofooa.selection.impl.ACT_FIOSetImpl;
import io.ciera.tool.sql.ooaofooa.selection.impl.ACT_SELImpl;
import io.ciera.tool.sql.ooaofooa.selection.impl.ACT_SELSetImpl;
import io.ciera.tool.sql.ooaofooa.selection.impl.ChainLinkImpl;
import io.ciera.tool.sql.ooaofooa.selection.impl.ChainLinkSetImpl;
import io.ciera.tool.sql.ooaofooa.selection.impl.SelectFromInstancesWhereImpl;
import io.ciera.tool.sql.ooaofooa.selection.impl.SelectFromInstancesWhereSetImpl;
import io.ciera.tool.sql.ooaofooa.selection.impl.SelectRelatedByImpl;
import io.ciera.tool.sql.ooaofooa.selection.impl.SelectRelatedBySetImpl;
import io.ciera.tool.sql.ooaofooa.selection.impl.SelectRelatedWhereImpl;
import io.ciera.tool.sql.ooaofooa.selection.impl.SelectRelatedWhereSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.Action;
import io.ciera.tool.sql.ooaofooa.statemachine.ActionHome;
import io.ciera.tool.sql.ooaofooa.statemachine.ActionHomeSet;
import io.ciera.tool.sql.ooaofooa.statemachine.ActionSet;
import io.ciera.tool.sql.ooaofooa.statemachine.CantHappen;
import io.ciera.tool.sql.ooaofooa.statemachine.CantHappenSet;
import io.ciera.tool.sql.ooaofooa.statemachine.ClassStateMachine;
import io.ciera.tool.sql.ooaofooa.statemachine.ClassStateMachineSet;
import io.ciera.tool.sql.ooaofooa.statemachine.CreationTransition;
import io.ciera.tool.sql.ooaofooa.statemachine.CreationTransitionSet;
import io.ciera.tool.sql.ooaofooa.statemachine.EventIgnored;
import io.ciera.tool.sql.ooaofooa.statemachine.EventIgnoredSet;
import io.ciera.tool.sql.ooaofooa.statemachine.InstanceStateMachine;
import io.ciera.tool.sql.ooaofooa.statemachine.InstanceStateMachineSet;
import io.ciera.tool.sql.ooaofooa.statemachine.LocalEvent;
import io.ciera.tool.sql.ooaofooa.statemachine.LocalEventSet;
import io.ciera.tool.sql.ooaofooa.statemachine.MealyActionHome;
import io.ciera.tool.sql.ooaofooa.statemachine.MealyActionHomeSet;
import io.ciera.tool.sql.ooaofooa.statemachine.MealyStateMachine;
import io.ciera.tool.sql.ooaofooa.statemachine.MealyStateMachineSet;
import io.ciera.tool.sql.ooaofooa.statemachine.MooreActionHome;
import io.ciera.tool.sql.ooaofooa.statemachine.MooreActionHomeSet;
import io.ciera.tool.sql.ooaofooa.statemachine.MooreStateMachine;
import io.ciera.tool.sql.ooaofooa.statemachine.MooreStateMachineSet;
import io.ciera.tool.sql.ooaofooa.statemachine.NewStateTransition;
import io.ciera.tool.sql.ooaofooa.statemachine.NewStateTransitionSet;
import io.ciera.tool.sql.ooaofooa.statemachine.NoEventTransition;
import io.ciera.tool.sql.ooaofooa.statemachine.NoEventTransitionSet;
import io.ciera.tool.sql.ooaofooa.statemachine.NonLocalEvent;
import io.ciera.tool.sql.ooaofooa.statemachine.NonLocalEventSet;
import io.ciera.tool.sql.ooaofooa.statemachine.PolymorphicEvent;
import io.ciera.tool.sql.ooaofooa.statemachine.PolymorphicEventSet;
import io.ciera.tool.sql.ooaofooa.statemachine.SEMEvent;
import io.ciera.tool.sql.ooaofooa.statemachine.SEMEventSet;
import io.ciera.tool.sql.ooaofooa.statemachine.SM_SM;
import io.ciera.tool.sql.ooaofooa.statemachine.SM_SMSet;
import io.ciera.tool.sql.ooaofooa.statemachine.SignalEvent;
import io.ciera.tool.sql.ooaofooa.statemachine.SignalEventSet;
import io.ciera.tool.sql.ooaofooa.statemachine.StateEventMatrixEntry;
import io.ciera.tool.sql.ooaofooa.statemachine.StateEventMatrixEntrySet;
import io.ciera.tool.sql.ooaofooa.statemachine.StateMachineEvent;
import io.ciera.tool.sql.ooaofooa.statemachine.StateMachineEventDataItem;
import io.ciera.tool.sql.ooaofooa.statemachine.StateMachineEventDataItemSet;
import io.ciera.tool.sql.ooaofooa.statemachine.StateMachineEventSet;
import io.ciera.tool.sql.ooaofooa.statemachine.StateMachineState;
import io.ciera.tool.sql.ooaofooa.statemachine.StateMachineStateSet;
import io.ciera.tool.sql.ooaofooa.statemachine.Transition;
import io.ciera.tool.sql.ooaofooa.statemachine.TransitionActionHome;
import io.ciera.tool.sql.ooaofooa.statemachine.TransitionActionHomeSet;
import io.ciera.tool.sql.ooaofooa.statemachine.TransitionSet;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.ActionHomeImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.ActionHomeSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.ActionImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.ActionSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.CantHappenImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.CantHappenSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.ClassStateMachineImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.ClassStateMachineSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.CreationTransitionImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.CreationTransitionSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.EventIgnoredImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.EventIgnoredSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.InstanceStateMachineImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.InstanceStateMachineSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.LocalEventImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.LocalEventSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.MealyActionHomeImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.MealyActionHomeSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.MealyStateMachineImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.MealyStateMachineSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.MooreActionHomeImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.MooreActionHomeSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.MooreStateMachineImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.MooreStateMachineSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.NewStateTransitionImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.NewStateTransitionSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.NoEventTransitionImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.NoEventTransitionSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.NonLocalEventImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.NonLocalEventSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.PolymorphicEventImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.PolymorphicEventSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.SEMEventImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.SEMEventSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.SM_SMImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.SM_SMSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.SignalEventImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.SignalEventSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.StateEventMatrixEntryImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.StateEventMatrixEntrySetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.StateMachineEventDataItemImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.StateMachineEventDataItemSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.StateMachineEventImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.StateMachineEventSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.StateMachineStateImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.StateMachineStateSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.TransitionActionHomeImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.TransitionActionHomeSetImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.TransitionImpl;
import io.ciera.tool.sql.ooaofooa.statemachine.impl.TransitionSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.AttributeReferenceInClass;
import io.ciera.tool.sql.ooaofooa.subsystem.AttributeReferenceInClassSet;
import io.ciera.tool.sql.ooaofooa.subsystem.BaseAttribute;
import io.ciera.tool.sql.ooaofooa.subsystem.BaseAttributeSet;
import io.ciera.tool.sql.ooaofooa.subsystem.ClassIdentifier;
import io.ciera.tool.sql.ooaofooa.subsystem.ClassIdentifierAttribute;
import io.ciera.tool.sql.ooaofooa.subsystem.ClassIdentifierAttributeSet;
import io.ciera.tool.sql.ooaofooa.subsystem.ClassIdentifierSet;
import io.ciera.tool.sql.ooaofooa.subsystem.Deferral;
import io.ciera.tool.sql.ooaofooa.subsystem.DeferralSet;
import io.ciera.tool.sql.ooaofooa.subsystem.DerivedBaseAttribute;
import io.ciera.tool.sql.ooaofooa.subsystem.DerivedBaseAttributeSet;
import io.ciera.tool.sql.ooaofooa.subsystem.ImportedClass;
import io.ciera.tool.sql.ooaofooa.subsystem.ImportedClassSet;
import io.ciera.tool.sql.ooaofooa.subsystem.ModelClass;
import io.ciera.tool.sql.ooaofooa.subsystem.ModelClassSet;
import io.ciera.tool.sql.ooaofooa.subsystem.NewBaseAttribute;
import io.ciera.tool.sql.ooaofooa.subsystem.NewBaseAttributeSet;
import io.ciera.tool.sql.ooaofooa.subsystem.O_ATTR;
import io.ciera.tool.sql.ooaofooa.subsystem.O_ATTRSet;
import io.ciera.tool.sql.ooaofooa.subsystem.O_TFR;
import io.ciera.tool.sql.ooaofooa.subsystem.O_TFRSet;
import io.ciera.tool.sql.ooaofooa.subsystem.OperationParameter;
import io.ciera.tool.sql.ooaofooa.subsystem.OperationParameterSet;
import io.ciera.tool.sql.ooaofooa.subsystem.ReferentialAttribute;
import io.ciera.tool.sql.ooaofooa.subsystem.ReferentialAttributeSet;
import io.ciera.tool.sql.ooaofooa.subsystem.ReferredToIdentifierAttribute;
import io.ciera.tool.sql.ooaofooa.subsystem.ReferredToIdentifierAttributeSet;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.AttributeReferenceInClassImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.AttributeReferenceInClassSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.BaseAttributeImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.BaseAttributeSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ClassIdentifierAttributeImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ClassIdentifierAttributeSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ClassIdentifierImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ClassIdentifierSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.DeferralImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.DeferralSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.DerivedBaseAttributeImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.DerivedBaseAttributeSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ImportedClassImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ImportedClassSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ModelClassImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ModelClassSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.NewBaseAttributeImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.NewBaseAttributeSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.O_ATTRImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.O_ATTRSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.O_TFRImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.O_TFRSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.OperationParameterImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.OperationParameterSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ReferentialAttributeImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ReferentialAttributeSetImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ReferredToIdentifierAttributeImpl;
import io.ciera.tool.sql.ooaofooa.subsystem.impl.ReferredToIdentifierAttributeSetImpl;
import io.ciera.tool.sql.ooaofooa.usecase.BinaryAssociation;
import io.ciera.tool.sql.ooaofooa.usecase.BinaryAssociationSet;
import io.ciera.tool.sql.ooaofooa.usecase.Extend;
import io.ciera.tool.sql.ooaofooa.usecase.ExtendSet;
import io.ciera.tool.sql.ooaofooa.usecase.Generalization;
import io.ciera.tool.sql.ooaofooa.usecase.GeneralizationSet;
import io.ciera.tool.sql.ooaofooa.usecase.Include;
import io.ciera.tool.sql.ooaofooa.usecase.IncludeSet;
import io.ciera.tool.sql.ooaofooa.usecase.UseCaseAssociation;
import io.ciera.tool.sql.ooaofooa.usecase.UseCaseAssociationSet;
import io.ciera.tool.sql.ooaofooa.usecase.impl.BinaryAssociationImpl;
import io.ciera.tool.sql.ooaofooa.usecase.impl.BinaryAssociationSetImpl;
import io.ciera.tool.sql.ooaofooa.usecase.impl.ExtendImpl;
import io.ciera.tool.sql.ooaofooa.usecase.impl.ExtendSetImpl;
import io.ciera.tool.sql.ooaofooa.usecase.impl.GeneralizationImpl;
import io.ciera.tool.sql.ooaofooa.usecase.impl.GeneralizationSetImpl;
import io.ciera.tool.sql.ooaofooa.usecase.impl.IncludeImpl;
import io.ciera.tool.sql.ooaofooa.usecase.impl.IncludeSetImpl;
import io.ciera.tool.sql.ooaofooa.usecase.impl.UseCaseAssociationImpl;
import io.ciera.tool.sql.ooaofooa.usecase.impl.UseCaseAssociationSetImpl;
import io.ciera.tool.sql.ooaofooa.value.ArrayLengthValue;
import io.ciera.tool.sql.ooaofooa.value.ArrayLengthValueSet;
import io.ciera.tool.sql.ooaofooa.value.AttributeValueReference;
import io.ciera.tool.sql.ooaofooa.value.AttributeValueReferenceSet;
import io.ciera.tool.sql.ooaofooa.value.BridgeValue;
import io.ciera.tool.sql.ooaofooa.value.BridgeValueSet;
import io.ciera.tool.sql.ooaofooa.value.EventDatumValue;
import io.ciera.tool.sql.ooaofooa.value.EventDatumValueSet;
import io.ciera.tool.sql.ooaofooa.value.EventParameterReference;
import io.ciera.tool.sql.ooaofooa.value.EventParameterReferenceSet;
import io.ciera.tool.sql.ooaofooa.value.FunctionValue;
import io.ciera.tool.sql.ooaofooa.value.FunctionValueSet;
import io.ciera.tool.sql.ooaofooa.value.InstanceHandle;
import io.ciera.tool.sql.ooaofooa.value.InstanceHandleSet;
import io.ciera.tool.sql.ooaofooa.value.InstanceReference;
import io.ciera.tool.sql.ooaofooa.value.InstanceReferenceSet;
import io.ciera.tool.sql.ooaofooa.value.InstanceSetReference;
import io.ciera.tool.sql.ooaofooa.value.InstanceSetReferenceSet;
import io.ciera.tool.sql.ooaofooa.value.LiteralBoolean;
import io.ciera.tool.sql.ooaofooa.value.LiteralBooleanSet;
import io.ciera.tool.sql.ooaofooa.value.LiteralEnumerator;
import io.ciera.tool.sql.ooaofooa.value.LiteralEnumeratorSet;
import io.ciera.tool.sql.ooaofooa.value.LiteralInteger;
import io.ciera.tool.sql.ooaofooa.value.LiteralIntegerSet;
import io.ciera.tool.sql.ooaofooa.value.LiteralReal;
import io.ciera.tool.sql.ooaofooa.value.LiteralRealSet;
import io.ciera.tool.sql.ooaofooa.value.LiteralString;
import io.ciera.tool.sql.ooaofooa.value.LiteralStringSet;
import io.ciera.tool.sql.ooaofooa.value.MemberValueReference;
import io.ciera.tool.sql.ooaofooa.value.MemberValueReferenceSet;
import io.ciera.tool.sql.ooaofooa.value.MessageValue;
import io.ciera.tool.sql.ooaofooa.value.MessageValueSet;
import io.ciera.tool.sql.ooaofooa.value.OperationValue;
import io.ciera.tool.sql.ooaofooa.value.OperationValueSet;
import io.ciera.tool.sql.ooaofooa.value.ParameterValue;
import io.ciera.tool.sql.ooaofooa.value.ParameterValueSet;
import io.ciera.tool.sql.ooaofooa.value.SelectedReference;
import io.ciera.tool.sql.ooaofooa.value.SelectedReferenceSet;
import io.ciera.tool.sql.ooaofooa.value.SymbolicConstantValue;
import io.ciera.tool.sql.ooaofooa.value.SymbolicConstantValueSet;
import io.ciera.tool.sql.ooaofooa.value.TransientValueReference;
import io.ciera.tool.sql.ooaofooa.value.TransientValueReferenceSet;
import io.ciera.tool.sql.ooaofooa.value.TransientVar;
import io.ciera.tool.sql.ooaofooa.value.TransientVarSet;
import io.ciera.tool.sql.ooaofooa.value.V_AER;
import io.ciera.tool.sql.ooaofooa.value.V_AERSet;
import io.ciera.tool.sql.ooaofooa.value.V_BIN;
import io.ciera.tool.sql.ooaofooa.value.V_BINSet;
import io.ciera.tool.sql.ooaofooa.value.V_INS;
import io.ciera.tool.sql.ooaofooa.value.V_INSSet;
import io.ciera.tool.sql.ooaofooa.value.V_PAR;
import io.ciera.tool.sql.ooaofooa.value.V_PARSet;
import io.ciera.tool.sql.ooaofooa.value.V_UNY;
import io.ciera.tool.sql.ooaofooa.value.V_UNYSet;
import io.ciera.tool.sql.ooaofooa.value.V_VAR;
import io.ciera.tool.sql.ooaofooa.value.V_VARSet;
import io.ciera.tool.sql.ooaofooa.value.Value;
import io.ciera.tool.sql.ooaofooa.value.ValueSet;
import io.ciera.tool.sql.ooaofooa.value.VariableLocation;
import io.ciera.tool.sql.ooaofooa.value.VariableLocationSet;
import io.ciera.tool.sql.ooaofooa.value.impl.ArrayLengthValueImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.ArrayLengthValueSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.AttributeValueReferenceImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.AttributeValueReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.BridgeValueImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.BridgeValueSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.EventDatumValueImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.EventDatumValueSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.EventParameterReferenceImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.EventParameterReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.FunctionValueImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.FunctionValueSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.InstanceHandleImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.InstanceHandleSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.InstanceReferenceImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.InstanceReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.InstanceSetReferenceImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.InstanceSetReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.LiteralBooleanImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.LiteralBooleanSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.LiteralEnumeratorImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.LiteralEnumeratorSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.LiteralIntegerImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.LiteralIntegerSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.LiteralRealImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.LiteralRealSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.LiteralStringImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.LiteralStringSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.MemberValueReferenceImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.MemberValueReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.MessageValueImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.MessageValueSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.OperationValueImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.OperationValueSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.ParameterValueImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.ParameterValueSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.SelectedReferenceImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.SelectedReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.SymbolicConstantValueImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.SymbolicConstantValueSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.TransientValueReferenceImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.TransientValueReferenceSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.TransientVarImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.TransientVarSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_AERImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_AERSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_BINImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_BINSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_INSImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_INSSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_PARImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_PARSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_UNYImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_UNYSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_VARImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.V_VARSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.ValueImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.ValueSetImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.VariableLocationImpl;
import io.ciera.tool.sql.ooaofooa.value.impl.VariableLocationSetImpl;

import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.TreeMap;

import types.AttributeAccessorType;
import types.Cond;
import types.ImportType;
import types.Mult;
import types.RelationshipType;


public class Sql extends Component {

    private Map> classDirectory;

    public Sql(IApplication app, IRunContext runContext, int populationId) {
        super(app, runContext, populationId);
        ACT_BRK_extent = new ACT_BRKSetImpl();
        ACT_CON_extent = new ACT_CONSetImpl();
        ACT_FIO_extent = new ACT_FIOSetImpl();
        ACT_SEL_extent = new ACT_SELSetImpl();
        ACT_SMT_extent = new ACT_SMTSetImpl();
        AcceptEvent_extent = new AcceptEventSetImpl();
        AcceptEventAction_extent = new AcceptEventActionSetImpl();
        AcceptTimeEventAction_extent = new AcceptTimeEventActionSetImpl();
        Action_extent = new ActionSetImpl();
        ActionHome_extent = new ActionHomeSetImpl();
        ActionNode_extent = new ActionNodeSetImpl();
        ActivityDiagramAction_extent = new ActivityDiagramActionSetImpl();
        ActivityEdge_extent = new ActivityEdgeSetImpl();
        ActivityFinalNode_extent = new ActivityFinalNodeSetImpl();
        ActivityNode_extent = new ActivityNodeSetImpl();
        ActivityPartition_extent = new ActivityPartitionSetImpl();
        ActorParticipant_extent = new ActorParticipantSetImpl();
        ActualParameter_extent = new ActualParameterSetImpl();
        Any_extent = new AnySetImpl();
        Application_extent = new ApplicationSetImpl();
        ApplicationExecutor_extent = new ApplicationExecutorSetImpl();
        ArrayElementReference_extent = new ArrayElementReferenceSetImpl();
        ArrayLengthAccess_extent = new ArrayLengthAccessSetImpl();
        ArrayLengthValue_extent = new ArrayLengthValueSetImpl();
        ArrayTypeReference_extent = new ArrayTypeReferenceSetImpl();
        AssignToMember_extent = new AssignToMemberSetImpl();
        Association_extent = new AssociationSetImpl();
        AssociationSerializerLoader_extent = new AssociationSerializerLoaderSetImpl();
        AsynchronousMessage_extent = new AsynchronousMessageSetImpl();
        Attribute_extent = new AttributeSetImpl();
        AttributeAccess_extent = new AttributeAccessSetImpl();
        AttributeAccessor_extent = new AttributeAccessorSetImpl();
        AttributeComparison_extent = new AttributeComparisonSetImpl();
        AttributeDerivation_extent = new AttributeDerivationSetImpl();
        AttributeLoader_extent = new AttributeLoaderSetImpl();
        AttributeReference_extent = new AttributeReferenceSetImpl();
        AttributeReferenceInClass_extent = new AttributeReferenceInClassSetImpl();
        AttributeSerializer_extent = new AttributeSerializerSetImpl();
        AttributeValue_extent = new AttributeValueSetImpl();
        AttributeValueReference_extent = new AttributeValueReferenceSetImpl();
        BaseAttribute_extent = new BaseAttributeSetImpl();
        BasicTypeReference_extent = new BasicTypeReferenceSetImpl();
        BatchRelator_extent = new BatchRelatorSetImpl();
        BinaryAssociation_extent = new BinaryAssociationSetImpl();
        BinaryOperation_extent = new BinaryOperationSetImpl();
        Block_extent = new BlockSetImpl();
        BlockInStackFrame_extent = new BlockInStackFrameSetImpl();
        Body_extent = new BodySetImpl();
        BodyInComponent_extent = new BodyInComponentSetImpl();
        BodyInElement_extent = new BodyInElementSetImpl();
        BooleanLoader_extent = new BooleanLoaderSetImpl();
        BooleanSerializer_extent = new BooleanSerializerSetImpl();
        BreakSmt_extent = new BreakSmtSetImpl();
        Bridge_extent = new BridgeSetImpl();
        BridgeArgument_extent = new BridgeArgumentSetImpl();
        BridgeBody_extent = new BridgeBodySetImpl();
        BridgeInvocation_extent = new BridgeInvocationSetImpl();
        BridgeMessage_extent = new BridgeMessageSetImpl();
        BridgeParameter_extent = new BridgeParameterSetImpl();
        BridgeValue_extent = new BridgeValueSetImpl();
        BuiltInType_extent = new BuiltInTypeSetImpl();
        C_C_extent = new C_CSetImpl();
        C_I_extent = new C_ISetImpl();
        C_PO_extent = new C_POSetImpl();
        CantHappen_extent = new CantHappenSetImpl();
        CardinalityCheck_extent = new CardinalityCheckSetImpl();
        ChainLink_extent = new ChainLinkSetImpl();
        ClassAsAssociatedOneSide_extent = new ClassAsAssociatedOneSideSetImpl();
        ClassAsAssociatedOtherSide_extent = new ClassAsAssociatedOtherSideSetImpl();
        ClassAsDerivedOneSide_extent = new ClassAsDerivedOneSideSetImpl();
        ClassAsDerivedOtherSide_extent = new ClassAsDerivedOtherSideSetImpl();
        ClassAsLink_extent = new ClassAsLinkSetImpl();
        ClassAsSimpleFormalizer_extent = new ClassAsSimpleFormalizerSetImpl();
        ClassAsSimpleParticipant_extent = new ClassAsSimpleParticipantSetImpl();
        ClassAsSubtype_extent = new ClassAsSubtypeSetImpl();
        ClassAsSupertype_extent = new ClassAsSupertypeSetImpl();
        ClassIdentifier_extent = new ClassIdentifierSetImpl();
        ClassIdentifierAttribute_extent = new ClassIdentifierAttributeSetImpl();
        ClassInAssociation_extent = new ClassInAssociationSetImpl();
        ClassInstanceLoader_extent = new ClassInstanceLoaderSetImpl();
        ClassInstanceParticipant_extent = new ClassInstanceParticipantSetImpl();
        ClassInstanceSerializer_extent = new ClassInstanceSerializerSetImpl();
        ClassParticipant_extent = new ClassParticipantSetImpl();
        ClassParticipantAttribute_extent = new ClassParticipantAttributeSetImpl();
        ClassRelationship_extent = new ClassRelationshipSetImpl();
        ClassStateMachine_extent = new ClassStateMachineSetImpl();
        CodeBlock_extent = new CodeBlockSetImpl();
        CommunicationLink_extent = new CommunicationLinkSetImpl();
        ComponentDefinition_extent = new ComponentDefinitionSetImpl();
        ComponentInstance_extent = new ComponentInstanceSetImpl();
        ComponentInstanceContainer_extent = new ComponentInstanceContainerSetImpl();
        ComponentInstantiation_extent = new ComponentInstantiationSetImpl();
        ComponentParticipant_extent = new ComponentParticipantSetImpl();
        ComponentReference_extent = new ComponentReferenceSetImpl();
        ComponentResultSet_extent = new ComponentResultSetSetImpl();
        ComponentVisibility_extent = new ComponentVisibilitySetImpl();
        ConstantReference_extent = new ConstantReferenceSetImpl();
        ConstantSpecification_extent = new ConstantSpecificationSetImpl();
        ContinueSmt_extent = new ContinueSmtSetImpl();
        Control_extent = new ControlSetImpl();
        ControlNode_extent = new ControlNodeSetImpl();
        CoreDataType_extent = new CoreDataTypeSetImpl();
        Create_extent = new CreateSetImpl();
        CreateEventStatement_extent = new CreateEventStatementSetImpl();
        CreateEventToClass_extent = new CreateEventToClassSetImpl();
        CreateEventToCreator_extent = new CreateEventToCreatorSetImpl();
        CreateEventToInstance_extent = new CreateEventToInstanceSetImpl();
        CreateNoVariable_extent = new CreateNoVariableSetImpl();
        CreateSMEventStatement_extent = new CreateSMEventStatementSetImpl();
        Creation_extent = new CreationSetImpl();
        CreationTransition_extent = new CreationTransitionSetImpl();
        DataItemValue_extent = new DataItemValueSetImpl();
        DataType_extent = new DataTypeSetImpl();
        DecisionMergeNode_extent = new DecisionMergeNodeSetImpl();
        Deferral_extent = new DeferralSetImpl();
        Delegation_extent = new DelegationSetImpl();
        DelegationInComponent_extent = new DelegationInComponentSetImpl();
        Delete_extent = new DeleteSetImpl();
        DeleteSmt_extent = new DeleteSmtSetImpl();
        Deployment_extent = new DeploymentSetImpl();
        DerivedAssociation_extent = new DerivedAssociationSetImpl();
        DerivedAttributeBody_extent = new DerivedAttributeBodySetImpl();
        DerivedBaseAttribute_extent = new DerivedBaseAttributeSetImpl();
        Dimensions_extent = new DimensionsSetImpl();
        EP_PKG_extent = new EP_PKGSetImpl();
        E_GEN_extent = new E_GENSetImpl();
        ElementVisibility_extent = new ElementVisibilitySetImpl();
        ElseIfStmt_extent = new ElseIfStmtSetImpl();
        ElseStmt_extent = new ElseStmtSetImpl();
        EnumeratedType_extent = new EnumeratedTypeSetImpl();
        EnumerationDataType_extent = new EnumerationDataTypeSetImpl();
        Enumerator_extent = new EnumeratorSetImpl();
        EnumeratorLoader_extent = new EnumeratorLoaderSetImpl();
        EnumeratorReference_extent = new EnumeratorReferenceSetImpl();
        Event_extent = new EventSetImpl();
        EventArgument_extent = new EventArgumentSetImpl();
        EventCreation_extent = new EventCreationSetImpl();
        EventDatumValue_extent = new EventDatumValueSetImpl();
        EventIgnored_extent = new EventIgnoredSetImpl();
        EventInstanceLoader_extent = new EventInstanceLoaderSetImpl();
        EventInstanceSerializer_extent = new EventInstanceSerializerSetImpl();
        EventMessage_extent = new EventMessageSetImpl();
        EventParameterReference_extent = new EventParameterReferenceSetImpl();
        EventQueueEntry_extent = new EventQueueEntrySetImpl();
        EventSpecificationStatement_extent = new EventSpecificationStatementSetImpl();
        Exception_extent = new ExceptionSetImpl();
        ExecutableProperty_extent = new ExecutablePropertySetImpl();
        ExecutablePropertyArgument_extent = new ExecutablePropertyArgumentSetImpl();
        Expression_extent = new ExpressionSetImpl();
        ExpressionAsStatement_extent = new ExpressionAsStatementSetImpl();
        Extend_extent = new ExtendSetImpl();
        ExternalEntity_extent = new ExternalEntitySetImpl();
        ExternalEntityInModel_extent = new ExternalEntityInModelSetImpl();
        ExternalEntityParticipant_extent = new ExternalEntityParticipantSetImpl();
        Feature_extent = new FeatureSetImpl();
        File_extent = new FileSetImpl();
        Finalization_extent = new FinalizationSetImpl();
        FlowFinalNode_extent = new FlowFinalNodeSetImpl();
        ForSmt_extent = new ForSmtSetImpl();
        ForStmt_extent = new ForStmtSetImpl();
        ForkJoinNode_extent = new ForkJoinNodeSetImpl();
        FormalAttribute_extent = new FormalAttributeSetImpl();
        FormalAttributeValue_extent = new FormalAttributeValueSetImpl();
        FormalParameter_extent = new FormalParameterSetImpl();
        Function_extent = new FunctionSetImpl();
        FunctionArgument_extent = new FunctionArgumentSetImpl();
        FunctionBody_extent = new FunctionBodySetImpl();
        FunctionInvocation_extent = new FunctionInvocationSetImpl();
        FunctionMessage_extent = new FunctionMessageSetImpl();
        FunctionParameter_extent = new FunctionParameterSetImpl();
        FunctionValue_extent = new FunctionValueSetImpl();
        GeneralFile_extent = new GeneralFileSetImpl();
        GeneralLoader_extent = new GeneralLoaderSetImpl();
        GeneralSerializer_extent = new GeneralSerializerSetImpl();
        Generalization_extent = new GeneralizationSetImpl();
        Generate_extent = new GenerateSetImpl();
        GenerateEventStatement_extent = new GenerateEventStatementSetImpl();
        GeneratePreexistingEvent_extent = new GeneratePreexistingEventSetImpl();
        GenerateSMEventStatement_extent = new GenerateSMEventStatementSetImpl();
        GenerateToClass_extent = new GenerateToClassSetImpl();
        GenerateToCreator_extent = new GenerateToCreatorSetImpl();
        GenericInvocable_extent = new GenericInvocableSetImpl();
        GlobalElementInSystem_extent = new GlobalElementInSystemSetImpl();
        Halt_extent = new HaltSetImpl();
        I_INS_extent = new I_INSSetImpl();
        IfSmt_extent = new IfSmtSetImpl();
        IfStmt_extent = new IfStmtSetImpl();
        Iface_extent = new IfaceSetImpl();
        ImportedClass_extent = new ImportedClassSetImpl();
        ImportedProvision_extent = new ImportedProvisionSetImpl();
        ImportedProvisionInSatisfaction_extent = new ImportedProvisionInSatisfactionSetImpl();
        ImportedReference_extent = new ImportedReferenceSetImpl();
        ImportedRequirement_extent = new ImportedRequirementSetImpl();
        Include_extent = new IncludeSetImpl();
        InformalArgument_extent = new InformalArgumentSetImpl();
        InformalAsynchronousMessage_extent = new InformalAsynchronousMessageSetImpl();
        InformalAttribute_extent = new InformalAttributeSetImpl();
        InformalAttributeValue_extent = new InformalAttributeValueSetImpl();
        InformalSynchronousMessage_extent = new InformalSynchronousMessageSetImpl();
        InitialNode_extent = new InitialNodeSetImpl();
        InstSet_extent = new InstSetSetImpl();
        InstanceAttributeValue_extent = new InstanceAttributeValueSetImpl();
        InstanceHandle_extent = new InstanceHandleSetImpl();
        InstanceLoader_extent = new InstanceLoaderSetImpl();
        InstancePopulationSelector_extent = new InstancePopulationSelectorSetImpl();
        InstanceReference_extent = new InstanceReferenceSetImpl();
        InstanceReferenceDataType_extent = new InstanceReferenceDataTypeSetImpl();
        InstanceSelector_extent = new InstanceSelectorSetImpl();
        InstanceSerializer_extent = new InstanceSerializerSetImpl();
        InstanceSetReference_extent = new InstanceSetReferenceSetImpl();
        InstanceStateMachine_extent = new InstanceStateMachineSetImpl();
        IntegerLoader_extent = new IntegerLoaderSetImpl();
        IntegerSerializer_extent = new IntegerSerializerSetImpl();
        InteractionParticipant_extent = new InteractionParticipantSetImpl();
        IntercomponentQueueEntry_extent = new IntercomponentQueueEntrySetImpl();
        InterfaceOperation_extent = new InterfaceOperationSetImpl();
        InterfaceOperationInvocation_extent = new InterfaceOperationInvocationSetImpl();
        InterfaceOperationMessage_extent = new InterfaceOperationMessageSetImpl();
        InterfaceReference_extent = new InterfaceReferenceSetImpl();
        InterfaceReferenceInDelegation_extent = new InterfaceReferenceInDelegationSetImpl();
        InterfaceSignal_extent = new InterfaceSignalSetImpl();
        InvocableObject_extent = new InvocableObjectSetImpl();
        Invocation_extent = new InvocationSetImpl();
        LeafSymbolicConstant_extent = new LeafSymbolicConstantSetImpl();
        Lifespan_extent = new LifespanSetImpl();
        Link_extent = new LinkSetImpl();
        LinkParticipation_extent = new LinkParticipationSetImpl();
        LinkedAssociation_extent = new LinkedAssociationSetImpl();
        Literal_extent = new LiteralSetImpl();
        LiteralBoolean_extent = new LiteralBooleanSetImpl();
        LiteralEnumerator_extent = new LiteralEnumeratorSetImpl();
        LiteralInteger_extent = new LiteralIntegerSetImpl();
        LiteralReal_extent = new LiteralRealSetImpl();
        LiteralString_extent = new LiteralStringSetImpl();
        LiteralSymbolicConstant_extent = new LiteralSymbolicConstantSetImpl();
        LocalEvent_extent = new LocalEventSetImpl();
        MSG_M_extent = new MSG_MSetImpl();
        Mark_extent = new MarkSetImpl();
        MarkableElementType_extent = new MarkableElementTypeSetImpl();
        MealyActionHome_extent = new MealyActionHomeSetImpl();
        MealyStateMachine_extent = new MealyStateMachineSetImpl();
        MemberReference_extent = new MemberReferenceSetImpl();
        MemberValueReference_extent = new MemberValueReferenceSetImpl();
        Message_extent = new MessageSetImpl();
        MessageArgument_extent = new MessageArgumentSetImpl();
        MessageValue_extent = new MessageValueSetImpl();
        ModelClass_extent = new ModelClassSetImpl();
        ModelInst_extent = new ModelInstSetImpl();
        Monitor_extent = new MonitorSetImpl();
        MooreActionHome_extent = new MooreActionHomeSetImpl();
        MooreStateMachine_extent = new MooreStateMachineSetImpl();
        MultiInstanceRef_extent = new MultiInstanceRefSetImpl();
        MultipleReferrerAssoc_extent = new MultipleReferrerAssocSetImpl();
        NamedReference_extent = new NamedReferenceSetImpl();
        NewBaseAttribute_extent = new NewBaseAttributeSetImpl();
        NewStateTransition_extent = new NewStateTransitionSetImpl();
        NoEventTransition_extent = new NoEventTransitionSetImpl();
        NonLocalEvent_extent = new NonLocalEventSetImpl();
        NullSmt_extent = new NullSmtSetImpl();
        O_ATTR_extent = new O_ATTRSetImpl();
        O_TFR_extent = new O_TFRSetImpl();
        ObjectNode_extent = new ObjectNodeSetImpl();
        Operation_extent = new OperationSetImpl();
        OperationArgument_extent = new OperationArgumentSetImpl();
        OperationBody_extent = new OperationBodySetImpl();
        OperationInvocation_extent = new OperationInvocationSetImpl();
        OperationMessage_extent = new OperationMessageSetImpl();
        OperationParameter_extent = new OperationParameterSetImpl();
        OperationValue_extent = new OperationValueSetImpl();
        PackageParticipant_extent = new PackageParticipantSetImpl();
        PackageReference_extent = new PackageReferenceSetImpl();
        PackageableElement_extent = new PackageableElementSetImpl();
        ParameterReference_extent = new ParameterReferenceSetImpl();
        ParameterValue_extent = new ParameterValueSetImpl();
        ParenthesizedExpression_extent = new ParenthesizedExpressionSetImpl();
        PendingEvent_extent = new PendingEventSetImpl();
        PolymorphicEvent_extent = new PolymorphicEventSetImpl();
        PopulationLoader_extent = new PopulationLoaderSetImpl();
        Port_extent = new PortSetImpl();
        PortMessage_extent = new PortMessageSetImpl();
        PortReference_extent = new PortReferenceSetImpl();
        Promotion_extent = new PromotionSetImpl();
        PropertyParameter_extent = new PropertyParameterSetImpl();
        ProvidedExecutableProperty_extent = new ProvidedExecutablePropertySetImpl();
        ProvidedOperation_extent = new ProvidedOperationSetImpl();
        ProvidedOperationBody_extent = new ProvidedOperationBodySetImpl();
        ProvidedSignal_extent = new ProvidedSignalSetImpl();
        ProvidedSignalBody_extent = new ProvidedSignalBodySetImpl();
        Provision_extent = new ProvisionSetImpl();
        Range_extent = new RangeSetImpl();
        RealLoader_extent = new RealLoaderSetImpl();
        RealSerializer_extent = new RealSerializerSetImpl();
        ReferentialAttribute_extent = new ReferentialAttributeSetImpl();
        ReferredToClassInAssoc_extent = new ReferredToClassInAssocSetImpl();
        ReferredToClassProxy_extent = new ReferredToClassProxySetImpl();
        ReferredToIdentifierAttribute_extent = new ReferredToIdentifierAttributeSetImpl();
        ReferringClassInAssoc_extent = new ReferringClassInAssocSetImpl();
        ReferringClassProxy_extent = new ReferringClassProxySetImpl();
        Relate_extent = new RelateSetImpl();
        RelateSmt_extent = new RelateSmtSetImpl();
        RelateUsing_extent = new RelateUsingSetImpl();
        RelationshipPopulationSelector_extent = new RelationshipPopulationSelectorSetImpl();
        RequiredExecutableProperty_extent = new RequiredExecutablePropertySetImpl();
        RequiredOperation_extent = new RequiredOperationSetImpl();
        RequiredOperationBody_extent = new RequiredOperationBodySetImpl();
        RequiredSignal_extent = new RequiredSignalSetImpl();
        RequiredSignalBody_extent = new RequiredSignalBodySetImpl();
        Requirement_extent = new RequirementSetImpl();
        ReturnMessage_extent = new ReturnMessageSetImpl();
        ReturnSmt_extent = new ReturnSmtSetImpl();
        ReturnStmt_extent = new ReturnStmtSetImpl();
        RuntimeChannel_extent = new RuntimeChannelSetImpl();
        SEMEvent_extent = new SEMEventSetImpl();
        SM_SM_extent = new SM_SMSetImpl();
        S_ENUM_extent = new S_ENUMSetImpl();
        S_SYNC_extent = new S_SYNCSetImpl();
        Satisfaction_extent = new SatisfactionSetImpl();
        SatisfactionInComponent_extent = new SatisfactionInComponentSetImpl();
        SearchResultSet_extent = new SearchResultSetSetImpl();
        Select_extent = new SelectSetImpl();
        SelectFromInstances_extent = new SelectFromInstancesSetImpl();
        SelectFromInstancesWhere_extent = new SelectFromInstancesWhereSetImpl();
        SelectRelated_extent = new SelectRelatedSetImpl();
        SelectRelatedBy_extent = new SelectRelatedBySetImpl();
        SelectRelatedWhere_extent = new SelectRelatedWhereSetImpl();
        Selected_extent = new SelectedSetImpl();
        SelectedReference_extent = new SelectedReferenceSetImpl();
        Selector_extent = new SelectorSetImpl();
        SelfQueueEntry_extent = new SelfQueueEntrySetImpl();
        SendSignal_extent = new SendSignalSetImpl();
        ServiceInSequence_extent = new ServiceInSequenceSetImpl();
        SetSelector_extent = new SetSelectorSetImpl();
        SignalEvent_extent = new SignalEventSetImpl();
        SignalInvocation_extent = new SignalInvocationSetImpl();
        SignalMessage_extent = new SignalMessageSetImpl();
        SimpleAssociation_extent = new SimpleAssociationSetImpl();
        SingleInstanceRef_extent = new SingleInstanceRefSetImpl();
        SingleReferrerAssoc_extent = new SingleReferrerAssocSetImpl();
        Stack_extent = new StackSetImpl();
        StackFrame_extent = new StackFrameSetImpl();
        State_extent = new StateSetImpl();
        StateActionBody_extent = new StateActionBodySetImpl();
        StateEventMatrixEntry_extent = new StateEventMatrixEntrySetImpl();
        StateMachine_extent = new StateMachineSetImpl();
        StateMachineEvent_extent = new StateMachineEventSetImpl();
        StateMachineEventDataItem_extent = new StateMachineEventDataItemSetImpl();
        StateMachineState_extent = new StateMachineStateSetImpl();
        StateTransition_extent = new StateTransitionSetImpl();
        Statement_extent = new StatementSetImpl();
        StringLoader_extent = new StringLoaderSetImpl();
        StringSerializer_extent = new StringSerializerSetImpl();
        StructureMember_extent = new StructureMemberSetImpl();
        StructuredDataType_extent = new StructuredDataTypeSetImpl();
        SubtypeSupertypeAssociation_extent = new SubtypeSupertypeAssociationSetImpl();
        SymbolicConstant_extent = new SymbolicConstantSetImpl();
        SymbolicConstantValue_extent = new SymbolicConstantValueSetImpl();
        SynchronousMessage_extent = new SynchronousMessageSetImpl();
        SystemModel_extent = new SystemModelSetImpl();
        Terminator_extent = new TerminatorSetImpl();
        TerminatorService_extent = new TerminatorServiceSetImpl();
        TerminatorServiceParameter_extent = new TerminatorServiceParameterSetImpl();
        TerminatorServiceSequence_extent = new TerminatorServiceSequenceSetImpl();
        TimeSpan_extent = new TimeSpanSetImpl();
        Timer_extent = new TimerSetImpl();
        TimerInstanceLoader_extent = new TimerInstanceLoaderSetImpl();
        TimerInstanceSerializer_extent = new TimerInstanceSerializerSetImpl();
        TimingMark_extent = new TimingMarkSetImpl();
        TransientValueReference_extent = new TransientValueReferenceSetImpl();
        TransientVar_extent = new TransientVarSetImpl();
        Transition_extent = new TransitionSetImpl();
        TransitionActionBody_extent = new TransitionActionBodySetImpl();
        TransitionActionHome_extent = new TransitionActionHomeSetImpl();
        TransitionTableCell_extent = new TransitionTableCellSetImpl();
        TransitionTableRow_extent = new TransitionTableRowSetImpl();
        Type_extent = new TypeSetImpl();
        TypeImport_extent = new TypeImportSetImpl();
        TypeImportReference_extent = new TypeImportReferenceSetImpl();
        TypeReference_extent = new TypeReferenceSetImpl();
        UnaryOperation_extent = new UnaryOperationSetImpl();
        UniqueIDSerializer_extent = new UniqueIDSerializerSetImpl();
        Unrelate_extent = new UnrelateSetImpl();
        UnrelateSmt_extent = new UnrelateSmtSetImpl();
        UnrelateUsing_extent = new UnrelateUsingSetImpl();
        UnresolvedType_extent = new UnresolvedTypeSetImpl();
        UseCaseAssociation_extent = new UseCaseAssociationSetImpl();
        UseCaseParticipant_extent = new UseCaseParticipantSetImpl();
        UserDataType_extent = new UserDataTypeSetImpl();
        UserDefinedType_extent = new UserDefinedTypeSetImpl();
        Utility_extent = new UtilitySetImpl();
        UtilityFunction_extent = new UtilityFunctionSetImpl();
        UtilityReference_extent = new UtilityReferenceSetImpl();
        V_AER_extent = new V_AERSetImpl();
        V_BIN_extent = new V_BINSetImpl();
        V_INS_extent = new V_INSSetImpl();
        V_PAR_extent = new V_PARSetImpl();
        V_UNY_extent = new V_UNYSetImpl();
        V_VAR_extent = new V_VARSetImpl();
        Value_extent = new ValueSetImpl();
        ValueInStackFrame_extent = new ValueInStackFrameSetImpl();
        Variable_extent = new VariableSetImpl();
        VariableInScope_extent = new VariableInScopeSetImpl();
        VariableLocation_extent = new VariableLocationSetImpl();
        VariableReference_extent = new VariableReferenceSetImpl();
        Where_extent = new WhereSetImpl();
        WhileSmt_extent = new WhileSmtSetImpl();
        WhileStmt_extent = new WhileStmtSetImpl();
        R1000_MessageArgument_belongs_to_informal_MSG_M_extent = new RelationshipSet();
        R1001_MessageArgument_belongs_to_formal_MSG_M_extent = new RelationshipSet();
        R1007_MSG_M_has_destination_InteractionParticipant_extent = new RelationshipSet();
        R1008_MSG_M_has_source_InteractionParticipant_extent = new RelationshipSet();
        R1009_EventMessage_generates_StateMachineEvent_extent = new RelationshipSet();
        R1010_FunctionMessage_is_invocation_of_S_SYNC_extent = new RelationshipSet();
        R1011_OperationMessage_is_invocation_of_O_TFR_extent = new RelationshipSet();
        R1012_BridgeMessage_is_invocation_of_Bridge_extent = new RelationshipSet();
        R1013_BridgeArgument_is_a_MessageArgument_extent = new RelationshipSet();
        R1013_EventArgument_is_a_MessageArgument_extent = new RelationshipSet();
        R1013_ExecutablePropertyArgument_is_a_MessageArgument_extent = new RelationshipSet();
        R1013_FunctionArgument_is_a_MessageArgument_extent = new RelationshipSet();
        R1013_InformalArgument_is_a_MessageArgument_extent = new RelationshipSet();
        R1013_OperationArgument_is_a_MessageArgument_extent = new RelationshipSet();
        R1014_BridgeArgument_is_represented_by_BridgeParameter_extent = new RelationshipSet();
        R1015_OperationArgument_is_represented_by_OperationParameter_extent = new RelationshipSet();
        R1016_FunctionArgument_is_represented_by_FunctionParameter_extent = new RelationshipSet();
        R1017_EventArgument_is_represented_by_StateMachineEventDataItem_extent = new RelationshipSet();
        R1018_AsynchronousMessage_is_a_MSG_M_extent = new RelationshipSet();
        R1018_ReturnMessage_is_a_MSG_M_extent = new RelationshipSet();
        R1018_SynchronousMessage_is_a_MSG_M_extent = new RelationshipSet();
        R1019_EventMessage_is_a_AsynchronousMessage_extent = new RelationshipSet();
        R1019_InformalAsynchronousMessage_is_a_AsynchronousMessage_extent = new RelationshipSet();
        R1019_SignalMessage_is_a_AsynchronousMessage_extent = new RelationshipSet();
        R101_ImportedClass_represents_ModelClass_extent = new RelationshipSet();
        R1020_BridgeMessage_is_a_SynchronousMessage_extent = new RelationshipSet();
        R1020_FunctionMessage_is_a_SynchronousMessage_extent = new RelationshipSet();
        R1020_InformalSynchronousMessage_is_a_SynchronousMessage_extent = new RelationshipSet();
        R1020_InterfaceOperationMessage_is_a_SynchronousMessage_extent = new RelationshipSet();
        R1020_OperationMessage_is_a_SynchronousMessage_extent = new RelationshipSet();
        R1021_SignalMessage_sends_InterfaceSignal_extent = new RelationshipSet();
        R1022_InterfaceOperationMessage_sends_InterfaceOperation_extent = new RelationshipSet();
        R1023_ExecutablePropertyArgument_is_represented_by_PropertyParameter_extent = new RelationshipSet();
        R102_O_ATTR_abstracts_characteristics_of_ModelClass_extent = new RelationshipSet();
        R103_O_ATTR_succeeds_O_ATTR_extent = new RelationshipSet();
        R104_ClassIdentifier_identifies_ModelClass_extent = new RelationshipSet();
        R105_ClassIdentifierAttribute_is_made_up_of__O_ATTR_extent = new RelationshipSet();
        R105_ClassIdentifierAttribute_is_part_of__ClassIdentifier_extent = new RelationshipSet();
        R106_BaseAttribute_is_a_O_ATTR_extent = new RelationshipSet();
        R106_ReferentialAttribute_is_a_O_ATTR_extent = new RelationshipSet();
        R107_DerivedBaseAttribute_is_a_BaseAttribute_extent = new RelationshipSet();
        R107_NewBaseAttribute_is_a_BaseAttribute_extent = new RelationshipSet();
        R108_AttributeReferenceInClass_is_resolved_by_ReferentialAttribute_extent = new RelationshipSet();
        R109_ReferredToClassInAssoc_is_identified_in_this_association_by_ClassIdentifier_extent = new RelationshipSet();
        R1103_ActivityEdge_target_ActivityNode_extent = new RelationshipSet();
        R1104_ActivityEdge_source_ActivityNode_extent = new RelationshipSet();
        R1105_ActionNode_is_a_ActivityNode_extent = new RelationshipSet();
        R1105_ControlNode_is_a_ActivityNode_extent = new RelationshipSet();
        R1105_ObjectNode_is_a_ActivityNode_extent = new RelationshipSet();
        R1106_ActivityFinalNode_is_a_ControlNode_extent = new RelationshipSet();
        R1106_DecisionMergeNode_is_a_ControlNode_extent = new RelationshipSet();
        R1106_FlowFinalNode_is_a_ControlNode_extent = new RelationshipSet();
        R1106_ForkJoinNode_is_a_ControlNode_extent = new RelationshipSet();
        R1106_InitialNode_is_a_ControlNode_extent = new RelationshipSet();
        R1107_AcceptEvent_is_a_ActionNode_extent = new RelationshipSet();
        R1107_ActivityDiagramAction_is_a_ActionNode_extent = new RelationshipSet();
        R1107_SendSignal_is_a_ActionNode_extent = new RelationshipSet();
        R110_ReferredToIdentifierAttribute_identifies_for_this_association_ReferredToClassInAssoc_extent = new RelationshipSet();
        R110_ReferredToIdentifierAttribute_is_identified_in_this_association_by_ClassIdentifierAttribute_extent = new RelationshipSet();
        R1112_AcceptEventAction_is_a_AcceptEvent_extent = new RelationshipSet();
        R1112_AcceptTimeEventAction_is_a_AcceptEvent_extent = new RelationshipSet();
        R111_AttributeReferenceInClass_is_used_to_refer_class_by_ReferringClassInAssoc_extent = new RelationshipSet();
        R111_AttributeReferenceInClass_refers_across_association_via_ReferredToIdentifierAttribute_extent = new RelationshipSet();
        R1128_CommunicationLink_may_be_formalized_against_Association_extent = new RelationshipSet();
        R112_AttributeReferenceInClass_succeeds_AttributeReferenceInClass_extent = new RelationshipSet();
        R1133_CommunicationLink_starts_at_InteractionParticipant_extent = new RelationshipSet();
        R1134_CommunicationLink_is_destined_for_InteractionParticipant_extent = new RelationshipSet();
        R113_ReferentialAttribute_navigates_back_to_BaseAttribute_extent = new RelationshipSet();
        R114_O_ATTR_defines_type_of_DataType_extent = new RelationshipSet();
        R115_O_TFR_is_associated_with_ModelClass_extent = new RelationshipSet();
        R116_O_TFR_return_code_is_defined_by_DataType_extent = new RelationshipSet();
        R117_OperationParameter_is_part_of__O_TFR_extent = new RelationshipSet();
        R118_OperationParameter_is_defined_by_DataType_extent = new RelationshipSet();
        R1206_UseCaseAssociation_starts_at_InteractionParticipant_extent = new RelationshipSet();
        R1207_UseCaseAssociation_ends_at_InteractionParticipant_extent = new RelationshipSet();
        R120_Dimensions_specifies_occurrences_of_O_ATTR_extent = new RelationshipSet();
        R1210_BinaryAssociation_is_a_UseCaseAssociation_extent = new RelationshipSet();
        R1210_Extend_is_a_UseCaseAssociation_extent = new RelationshipSet();
        R1210_Generalization_is_a_UseCaseAssociation_extent = new RelationshipSet();
        R1210_Include_is_a_UseCaseAssociation_extent = new RelationshipSet();
        R121_Dimensions_specifies_occurrences_of_OperationParameter_extent = new RelationshipSet();
        R122_Dimensions_defines_return_value_dimensions_for_O_TFR_extent = new RelationshipSet();
        R123_InstanceReferenceDataType_provides_reference_datatype_for_ModelClass_extent = new RelationshipSet();
        R124_OperationParameter_succeeds_OperationParameter_extent = new RelationshipSet();
        R125_O_TFR_succeeds_O_TFR_extent = new RelationshipSet();
        R126_Deferral_defers_execution_to_subtypes_across_Association_extent = new RelationshipSet();
        R126_Deferral_delegates_execution_of_O_TFR_extent = new RelationshipSet();
        R1401_EP_PKG_directly_contained_under_SystemModel_extent = new RelationshipSet();
        R1402_PackageReference_is_referenced_by_EP_PKG_extent = new RelationshipSet();
        R1402_PackageReference_refers_to_EP_PKG_extent = new RelationshipSet();
        R1405_EP_PKG_SystemModel_extent = new RelationshipSet();
        R1500_SymbolicConstant_is_defined_by_DataType_extent = new RelationshipSet();
        R1502_LeafSymbolicConstant_is_a_SymbolicConstant_extent = new RelationshipSet();
        R1503_LiteralSymbolicConstant_is_a_LeafSymbolicConstant_extent = new RelationshipSet();
        R1504_SymbolicConstant_is_contained_by_ConstantSpecification_extent = new RelationshipSet();
        R1505_SymbolicConstant_succeeds_SymbolicConstant_extent = new RelationshipSet();
        R1650_Terminator_Deployment_extent = new RelationshipSet();
        R1651_TerminatorService_Terminator_extent = new RelationshipSet();
        R1652_TerminatorServiceParameter_TerminatorService_extent = new RelationshipSet();
        R1653_TerminatorServiceParameter_DataType_extent = new RelationshipSet();
        R1654_TerminatorServiceParameter_succeeds_TerminatorServiceParameter_extent = new RelationshipSet();
        R1655_Dimensions_TerminatorServiceParameter_extent = new RelationshipSet();
        R1656_TerminatorService_DataType_extent = new RelationshipSet();
        R1657_Dimensions_TerminatorService_extent = new RelationshipSet();
        R1658_TerminatorServiceSequence_Terminator_extent = new RelationshipSet();
        R1659_ServiceInSequence_TerminatorServiceSequence_extent = new RelationshipSet();
        R1660_ServiceInSequence_TerminatorService_extent = new RelationshipSet();
        R1661_ServiceInSequence_succeeds_ServiceInSequence_extent = new RelationshipSet();
        R17_CoreDataType_is_a_DataType_extent = new RelationshipSet();
        R17_EnumerationDataType_is_a_DataType_extent = new RelationshipSet();
        R17_InstanceReferenceDataType_is_a_DataType_extent = new RelationshipSet();
        R17_StructuredDataType_is_a_DataType_extent = new RelationshipSet();
        R17_UserDataType_is_a_DataType_extent = new RelationshipSet();
        R18_UserDataType_are_defined_within_DataType_extent = new RelationshipSet();
        R19_Bridge_provides_access_to_ExternalEntity_extent = new RelationshipSet();
        R201_ClassInAssociation_abstracts_association_between_instances_of_ModelClass_extent = new RelationshipSet();
        R201_ClassInAssociation_has_instance_associations_abstracted_Association_extent = new RelationshipSet();
        R202_ClassInAssociation_may_be_represented_by_ImportedClass_extent = new RelationshipSet();
        R203_ClassAsDerivedOneSide_is_a_ClassInAssociation_extent = new RelationshipSet();
        R203_ClassAsDerivedOtherSide_is_a_ClassInAssociation_extent = new RelationshipSet();
        R203_ReferredToClassInAssoc_is_a_ClassInAssociation_extent = new RelationshipSet();
        R203_ReferringClassInAssoc_is_a_ClassInAssociation_extent = new RelationshipSet();
        R204_ClassAsAssociatedOneSide_is_a_ReferredToClassInAssoc_extent = new RelationshipSet();
        R204_ClassAsAssociatedOtherSide_is_a_ReferredToClassInAssoc_extent = new RelationshipSet();
        R204_ClassAsSimpleParticipant_is_a_ReferredToClassInAssoc_extent = new RelationshipSet();
        R204_ClassAsSupertype_is_a_ReferredToClassInAssoc_extent = new RelationshipSet();
        R205_ClassAsLink_is_a_ReferringClassInAssoc_extent = new RelationshipSet();
        R205_ClassAsSimpleFormalizer_is_a_ReferringClassInAssoc_extent = new RelationshipSet();
        R205_ClassAsSubtype_is_a_ReferringClassInAssoc_extent = new RelationshipSet();
        R206_DerivedAssociation_is_a_Association_extent = new RelationshipSet();
        R206_LinkedAssociation_is_a_Association_extent = new RelationshipSet();
        R206_SimpleAssociation_is_a_Association_extent = new RelationshipSet();
        R206_SubtypeSupertypeAssociation_is_a_Association_extent = new RelationshipSet();
        R207_ClassAsSimpleParticipant_is_related_to_formalizer_via_SimpleAssociation_extent = new RelationshipSet();
        R208_ClassAsSimpleFormalizer_is_related_to_participant_via_SimpleAssociation_extent = new RelationshipSet();
        R209_ClassAsAssociatedOneSide_is_related_to_other_side_via_LinkedAssociation_extent = new RelationshipSet();
        R20_Bridge_return_value_defined_by_DataType_extent = new RelationshipSet();
        R210_ClassAsAssociatedOtherSide_is_related_to_one_side_via_LinkedAssociation_extent = new RelationshipSet();
        R211_ClassAsLink_formalizes_association_between_associated_classes_LinkedAssociation_extent = new RelationshipSet();
        R212_ClassAsSupertype_is_related_to_subtypes_via_SubtypeSupertypeAssociation_extent = new RelationshipSet();
        R213_ClassAsSubtype_is_related_to_supertype_via_SubtypeSupertypeAssociation_extent = new RelationshipSet();
        R214_ClassAsDerivedOneSide_is_related_to_other_type_via_DerivedAssociation_extent = new RelationshipSet();
        R215_ClassAsDerivedOtherSide_is_related_to_one_side_via_DerivedAssociation_extent = new RelationshipSet();
        R21_BridgeParameter_contains_Bridge_extent = new RelationshipSet();
        R22_BridgeParameter_is_defined_by_DataType_extent = new RelationshipSet();
        R24_FunctionParameter_is_defined_for_S_SYNC_extent = new RelationshipSet();
        R25_S_SYNC_has_return_type_of_DataType_extent = new RelationshipSet();
        R26_FunctionParameter_is_typed_by__DataType_extent = new RelationshipSet();
        R27_S_ENUM_is_defined_by_EnumerationDataType_extent = new RelationshipSet();
        R2821_Mark_is_marked_by_Feature_extent = new RelationshipSet();
        R2821_Mark_marks_MarkableElementType_extent = new RelationshipSet();
        R2822_MarkableElementType_makes_available_Feature_extent = new RelationshipSet();
        R2823_Mark_precedes_Mark_extent = new RelationshipSet();
        R2901_Link_originates_at_LinkParticipation_extent = new RelationshipSet();
        R2902_Link_ends_at_LinkParticipation_extent = new RelationshipSet();
        R2903_Link_has_associator_LinkParticipation_extent = new RelationshipSet();
        R2904_Link_is_instance_of_Association_extent = new RelationshipSet();
        R2906_PendingEvent_is_instance_of_StateMachineEvent_extent = new RelationshipSet();
        R2907_PendingEvent_is_pending_for_I_INS_extent = new RelationshipSet();
        R2908_PendingEvent_will_be_processed_after_PendingEvent_extent = new RelationshipSet();
        R2909_AttributeValue_defines_value_for_characteristic_of_I_INS_extent = new RelationshipSet();
        R2910_AttributeValue_is_instance_of_O_ATTR_extent = new RelationshipSet();
        R2915_I_INS_occupies_StateMachineState_extent = new RelationshipSet();
        R2923_BlockInStackFrame_is_executed_within_the_context_of_StackFrame_extent = new RelationshipSet();
        R2923_BlockInStackFrame_supplies_context_for_Block_extent = new RelationshipSet();
        R2928_StackFrame_next_context_StackFrame_extent = new RelationshipSet();
        R2929_StackFrame_is_processed_by_Stack_extent = new RelationshipSet();
        R2930_Stack_is_controlled_by_ComponentInstance_extent = new RelationshipSet();
        R2933_DataItemValue_PendingEvent_extent = new RelationshipSet();
        R2934_DataItemValue_StateMachineEventDataItem_extent = new RelationshipSet();
        R2935_PendingEvent_targets_I_INS_extent = new RelationshipSet();
        R2937_PendingEvent_was_sent_from_I_INS_extent = new RelationshipSet();
        R2939_PendingEvent_will_be_processed_before_PendingEvent_extent = new RelationshipSet();
        R2940_Timer_provides_delayed_delivery_of_PendingEvent_extent = new RelationshipSet();
        R2941_BlockInStackFrame_is_currently_visiting_ACT_SMT_extent = new RelationshipSet();
        R2943_StackFrame_processed_by_Stack_extent = new RelationshipSet();
        R2944_EventQueueEntry_ComponentInstance_extent = new RelationshipSet();
        R2944_EventQueueEntry_PendingEvent_extent = new RelationshipSet();
        R2945_EventQueueEntry_follows_EventQueueEntry_extent = new RelationshipSet();
        R2946_SelfQueueEntry_ComponentInstance_extent = new RelationshipSet();
        R2946_SelfQueueEntry_PendingEvent_extent = new RelationshipSet();
        R2947_SelfQueueEntry_follows_SelfQueueEntry_extent = new RelationshipSet();
        R2949_Monitor_monitored_by_ComponentInstance_extent = new RelationshipSet();
        R2949_Monitor_monitors_I_INS_extent = new RelationshipSet();
        R2951_ValueInStackFrame_StackFrame_extent = new RelationshipSet();
        R2953_I_INS_entered_last_state_via_Transition_extent = new RelationshipSet();
        R2954_StackFrame_has_context_I_INS_extent = new RelationshipSet();
        R2955_ComponentInstance_is_verifying_instance_of_C_C_extent = new RelationshipSet();
        R2956_DataItemValue_PropertyParameter_extent = new RelationshipSet();
        R2957_I_INS_created_by_ComponentInstance_extent = new RelationshipSet();
        R2958_LinkParticipation_I_INS_extent = new RelationshipSet();
        R2959_LinkParticipation_Association_extent = new RelationshipSet();
        R2963_ComponentInstance_is_verifying_instance_of_ComponentReference_extent = new RelationshipSet();
        R2964_PendingEvent_is_pending_in_ComponentInstance_extent = new RelationshipSet();
        R2965_StackFrame_blocked_by_StackFrame_extent = new RelationshipSet();
        R2966_IntercomponentQueueEntry_has_queued_StackFrame_extent = new RelationshipSet();
        R2966_IntercomponentQueueEntry_is_enqueued_with_Stack_extent = new RelationshipSet();
        R2967_StackFrame_holds_return_value_for_Stack_extent = new RelationshipSet();
        R2968_RuntimeChannel_is_interface_provider_to_ComponentInstance_extent = new RelationshipSet();
        R2968_RuntimeChannel_is_interface_requirer_of_ComponentInstance_extent = new RelationshipSet();
        R2969_RuntimeChannel_implements_Satisfaction_extent = new RelationshipSet();
        R2970_ComponentInstance_is_verifying_EP_PKG_extent = new RelationshipSet();
        R2972_RuntimeChannel_implements_Delegation_extent = new RelationshipSet();
        R2973_RuntimeChannel_requirer_RuntimeChannel_extent = new RelationshipSet();
        R2974_ComponentInstanceContainer_ComponentInstance_extent = new RelationshipSet();
        R2975_ComponentInstance_ComponentInstanceContainer_extent = new RelationshipSet();
        R2976_PendingEvent_originates_from_ComponentInstance_extent = new RelationshipSet();
        R2977_IntercomponentQueueEntry_enqueued_by_ComponentInstance_extent = new RelationshipSet();
        R2978_ValueInStackFrame_Value_extent = new RelationshipSet();
        R3001_InstanceSerializer_invoked_by_PopulationLoader_extent = new RelationshipSet();
        R3002_AttributeSerializer_invoked_by_InstanceSerializer_extent = new RelationshipSet();
        R3003_AttributeSerializer_follows_AttributeSerializer_extent = new RelationshipSet();
        R3004_BooleanSerializer_is_a_AttributeSerializer_extent = new RelationshipSet();
        R3004_GeneralSerializer_is_a_AttributeSerializer_extent = new RelationshipSet();
        R3004_IntegerSerializer_is_a_AttributeSerializer_extent = new RelationshipSet();
        R3004_RealSerializer_is_a_AttributeSerializer_extent = new RelationshipSet();
        R3004_StringSerializer_is_a_AttributeSerializer_extent = new RelationshipSet();
        R3004_UniqueIDSerializer_is_a_AttributeSerializer_extent = new RelationshipSet();
        R3005_InstanceLoader_invoked_by_PopulationLoader_extent = new RelationshipSet();
        R3006_AttributeLoader_invoked_by_InstanceLoader_extent = new RelationshipSet();
        R3007_AttributeLoader_follows_AttributeLoader_extent = new RelationshipSet();
        R3008_BooleanLoader_is_a_AttributeLoader_extent = new RelationshipSet();
        R3008_EnumeratorLoader_is_a_AttributeLoader_extent = new RelationshipSet();
        R3008_GeneralLoader_is_a_AttributeLoader_extent = new RelationshipSet();
        R3008_IntegerLoader_is_a_AttributeLoader_extent = new RelationshipSet();
        R3008_RealLoader_is_a_AttributeLoader_extent = new RelationshipSet();
        R3008_StringLoader_is_a_AttributeLoader_extent = new RelationshipSet();
        R3009_PopulationLoader_GeneralFile_extent = new RelationshipSet();
        R3010_EnumeratorLoader_EnumeratedType_extent = new RelationshipSet();
        R3011_BatchRelator_invoked_by_PopulationLoader_extent = new RelationshipSet();
        R3012_AttributeComparison_evaluated_by_BatchRelator_extent = new RelationshipSet();
        R3013_GeneralLoader_Type_extent = new RelationshipSet();
        R3014_GeneralSerializer_Type_extent = new RelationshipSet();
        R3015_ClassInstanceSerializer_is_a_InstanceSerializer_extent = new RelationshipSet();
        R3015_EventInstanceSerializer_is_a_InstanceSerializer_extent = new RelationshipSet();
        R3015_TimerInstanceSerializer_is_a_InstanceSerializer_extent = new RelationshipSet();
        R3016_ClassInstanceLoader_is_a_InstanceLoader_extent = new RelationshipSet();
        R3016_EventInstanceLoader_is_a_InstanceLoader_extent = new RelationshipSet();
        R3016_TimerInstanceLoader_is_a_InstanceLoader_extent = new RelationshipSet();
        R3017_EventInstanceLoader_ModelInst_extent = new RelationshipSet();
        R3018_AttributeComparison_succeeds_AttributeComparison_extent = new RelationshipSet();
        R3019_AssociationSerializerLoader_renders_for_PopulationLoader_extent = new RelationshipSet();
        R3028_MultiInstanceRef_is_a_ReferredToClassProxy_extent = new RelationshipSet();
        R3028_SingleInstanceRef_is_a_ReferredToClassProxy_extent = new RelationshipSet();
        R3029_MultipleReferrerAssoc_is_a_AssociationSerializerLoader_extent = new RelationshipSet();
        R3029_SingleReferrerAssoc_is_a_AssociationSerializerLoader_extent = new RelationshipSet();
        R3030_ReferredToClassProxy_supplies_2nd_ID_code_for_SingleReferrerAssoc_extent = new RelationshipSet();
        R3035_ReferredToClassProxy_supplies_3rd_ID_code_for_SingleReferrerAssoc_extent = new RelationshipSet();
        R3036_ReferringClassProxy_renders_code_for_both_IDs_using_MultipleReferrerAssoc_extent = new RelationshipSet();
        R3800_TypeReference_based_on_Type_extent = new RelationshipSet();
        R3801_ArrayTypeReference_is_a_TypeReference_extent = new RelationshipSet();
        R3801_BasicTypeReference_is_a_TypeReference_extent = new RelationshipSet();
        R3802_UserDefinedType_based_on_Type_extent = new RelationshipSet();
        R3900_ArrayElementReference_has_root_Expression_extent = new RelationshipSet();
        R3901_ArrayElementReference_has_index_Expression_extent = new RelationshipSet();
        R3902_EventCreation_has_target_Expression_extent = new RelationshipSet();
        R3903_EventCreation_has_base_Expression_extent = new RelationshipSet();
        R3904_ActualParameter_FormalParameter_extent = new RelationshipSet();
        R3905_ActualParameter_precedes_ActualParameter_extent = new RelationshipSet();
        R3906_Where_sorts_set_by_Attribute_extent = new RelationshipSet();
        R3907_Promotion_promotes_Expression_extent = new RelationshipSet();
        R4000_CodeBlock_is_invoked_in_InvocableObject_extent = new RelationshipSet();
        R4002_Satisfaction_defines_required_satisfication_Requirement_extent = new RelationshipSet();
        R4002_Satisfaction_satisfies_Provision_extent = new RelationshipSet();
        R4003_ExecutableProperty_provides_signature_of_C_I_extent = new RelationshipSet();
        R4004_InterfaceOperation_is_a_ExecutableProperty_extent = new RelationshipSet();
        R4004_InterfaceSignal_is_a_ExecutableProperty_extent = new RelationshipSet();
        R4006_PropertyParameter_parameterizes_ExecutableProperty_extent = new RelationshipSet();
        R4007_PropertyParameter_is_typed_by_DataType_extent = new RelationshipSet();
        R4008_InterfaceOperation_has_return_defined_by_DataType_extent = new RelationshipSet();
        R4009_Provision_is_a_InterfaceReference_extent = new RelationshipSet();
        R4009_Requirement_is_a_InterfaceReference_extent = new RelationshipSet();
        R4010_C_PO_appears_in_C_C_extent = new RelationshipSet();
        R4012_InterfaceReference_may_be_defined_by_C_I_extent = new RelationshipSet();
        R4013_InterfaceReferenceInDelegation_handles_delegation_for_InterfaceReference_extent = new RelationshipSet();
        R4013_InterfaceReferenceInDelegation_may_delegate_through_Delegation_extent = new RelationshipSet();
        R4014_InterfaceReference_receives_delegation_via_Delegation_extent = new RelationshipSet();
        R4016_InterfaceReference_originates_from_C_PO_extent = new RelationshipSet();
        R4017_Dimensions_specifies_occurrences_of_PropertyParameter_extent = new RelationshipSet();
        R4018_Dimensions_defines_return_value_dimensions_for__InterfaceOperation_extent = new RelationshipSet();
        R4019_InterfaceOperation_succeeds_InterfaceOperation_extent = new RelationshipSet();
        R401_Application_is_a_File_extent = new RelationshipSet();
        R401_ComponentDefinition_is_a_File_extent = new RelationshipSet();
        R401_EnumeratedType_is_a_File_extent = new RelationshipSet();
        R401_GeneralFile_is_a_File_extent = new RelationshipSet();
        R401_Iface_is_a_File_extent = new RelationshipSet();
        R401_InstSet_is_a_File_extent = new RelationshipSet();
        R401_ModelInst_is_a_File_extent = new RelationshipSet();
        R401_Port_is_a_File_extent = new RelationshipSet();
        R401_StateMachine_is_a_File_extent = new RelationshipSet();
        R401_UserDefinedType_is_a_File_extent = new RelationshipSet();
        R401_Utility_is_a_File_extent = new RelationshipSet();
        R4020_InterfaceSignal_succeeds_InterfaceSignal_extent = new RelationshipSet();
        R4021_PropertyParameter_succeeds_PropertyParameter_extent = new RelationshipSet();
        R4027_ApplicationExecutor_executes_tasks_for_Application_extent = new RelationshipSet();
        R4028_ComponentInstantiation_is_executed_by_ApplicationExecutor_extent = new RelationshipSet();
        R4029_ComponentInstantiation_precedes_ComponentInstantiation_extent = new RelationshipSet();
        R402_TypeImportReference_imports_type_into_context_of_File_extent = new RelationshipSet();
        R402_TypeImportReference_imports_type_via_TypeImport_extent = new RelationshipSet();
        R404_FormalParameter_precedes_FormalParameter_extent = new RelationshipSet();
        R405_Function_can_execute_synchronously_within_ComponentDefinition_extent = new RelationshipSet();
        R406_InstSet_defines_set_with_elements_of_type_ModelInst_extent = new RelationshipSet();
        R407_BuiltInType_is_a_Type_extent = new RelationshipSet();
        R407_EnumeratedType_is_a_Type_extent = new RelationshipSet();
        R407_InstSet_is_a_Type_extent = new RelationshipSet();
        R407_ModelInst_is_a_Type_extent = new RelationshipSet();
        R407_UnresolvedType_is_a_Type_extent = new RelationshipSet();
        R407_UserDefinedType_is_a_Type_extent = new RelationshipSet();
        R408_ModelInst_forms_instance_population_of_ComponentDefinition_extent = new RelationshipSet();
        R409_ModelInst_ModelClass_extent = new RelationshipSet();
        R410_Attribute_abstracts_data_for_ModelInst_extent = new RelationshipSet();
        R414_O_ATTR_Attribute_extent = new RelationshipSet();
        R415_Enumerator_is_unique_value_of_EnumeratedType_extent = new RelationshipSet();
        R4160_Port_satisfies_provided_Port_extent = new RelationshipSet();
        R416_Operation_provided_by_ModelInst_extent = new RelationshipSet();
        R417_Port_passes_messages_for_ComponentDefinition_extent = new RelationshipSet();
        R418_Port_implements_Iface_extent = new RelationshipSet();
        R419_Message_defines_message_format_for_Iface_extent = new RelationshipSet();
        R4201_ComponentReference_represents_C_C_extent = new RelationshipSet();
        R4205_ComponentReference_nested_in_C_C_extent = new RelationshipSet();
        R420_PortMessage_is_implemented_within_Port_extent = new RelationshipSet();
        R420_PortMessage_provides_implementation_for_Message_extent = new RelationshipSet();
        R421_Iface_C_I_extent = new RelationshipSet();
        R422_Port_C_PO_extent = new RelationshipSet();
        R423_Type_DataType_extent = new RelationshipSet();
        R424_Attribute_is_typed_by_TypeReference_extent = new RelationshipSet();
        R426_ComponentInstantiation_is_broken_into_ComponentDefinition_extent = new RelationshipSet();
        R426_ComponentInstantiation_is_instantiated_by_Application_extent = new RelationshipSet();
        R427_AttributeDerivation_is_a_InvocableObject_extent = new RelationshipSet();
        R427_Event_is_a_InvocableObject_extent = new RelationshipSet();
        R427_Function_is_a_InvocableObject_extent = new RelationshipSet();
        R427_GenericInvocable_is_a_InvocableObject_extent = new RelationshipSet();
        R427_Operation_is_a_InvocableObject_extent = new RelationshipSet();
        R427_PortMessage_is_a_InvocableObject_extent = new RelationshipSet();
        R427_StateTransition_is_a_InvocableObject_extent = new RelationshipSet();
        R427_State_is_a_InvocableObject_extent = new RelationshipSet();
        R427_UtilityFunction_is_a_InvocableObject_extent = new RelationshipSet();
        R428_InvocableObject_return_value_is_typed_by_TypeReference_extent = new RelationshipSet();
        R429_FormalParameter_shapes_data_for_InvocableObject_extent = new RelationshipSet();
        R431_FormalParameter_is_typed_by_TypeReference_extent = new RelationshipSet();
        R432_InvocableObject_Body_extent = new RelationshipSet();
        R434_ClassRelationship_has_participating_ModelInst_extent = new RelationshipSet();
        R435_ClassRelationship_has_formalizing_ModelInst_extent = new RelationshipSet();
        R436_ClassRelationship_is_other_half_of_associative_ClassRelationship_extent = new RelationshipSet();
        R441_AttributeDerivation_calculates_value_for_AttributeAccessor_extent = new RelationshipSet();
        R442_InstanceSelector_navigates_from_ModelInst_extent = new RelationshipSet();
        R444_SetSelector_navigates_from_InstSet_extent = new RelationshipSet();
        R445_InstanceSelector_is_a_Selector_extent = new RelationshipSet();
        R445_SetSelector_is_a_Selector_extent = new RelationshipSet();
        R446_Selector_selects_instances_of_TypeReference_extent = new RelationshipSet();
        R447_InstancePopulationSelector_selects_instances_out_of_population_of_ComponentDefinition_extent = new RelationshipSet();
        R448_ClassRelationship_forms_relationship_population_of_ComponentDefinition_extent = new RelationshipSet();
        R449_InstancePopulationSelector_selects_instances_of_ModelInst_extent = new RelationshipSet();
        R44_StructureMember_has_parent_StructuredDataType_extent = new RelationshipSet();
        R4500_RequiredExecutableProperty_implements_ExecutableProperty_extent = new RelationshipSet();
        R4500_RequiredExecutableProperty_is_implemented_by_Requirement_extent = new RelationshipSet();
        R4501_ProvidedExecutableProperty_implements_ExecutableProperty_extent = new RelationshipSet();
        R4501_ProvidedExecutableProperty_is_implemented_by_Provision_extent = new RelationshipSet();
        R4502_RequiredOperation_is_a_RequiredExecutableProperty_extent = new RelationshipSet();
        R4502_RequiredSignal_is_a_RequiredExecutableProperty_extent = new RelationshipSet();
        R4503_ProvidedOperation_is_a_ProvidedExecutableProperty_extent = new RelationshipSet();
        R4503_ProvidedSignal_is_a_ProvidedExecutableProperty_extent = new RelationshipSet();
        R4505_SetSelector_invokes_InstanceSelector_extent = new RelationshipSet();
        R4506_AttributeReference_has_value_provided_by_Attribute_extent = new RelationshipSet();
        R4506_AttributeReference_provides_value_for_Attribute_extent = new RelationshipSet();
        R450_Statement_is_contained_by_CodeBlock_extent = new RelationshipSet();
        R4510_AttributeAccessor_gets_and_sets_Attribute_extent = new RelationshipSet();
        R4511_AttributeReference_refers_to_another_attribute_through_ClassRelationship_extent = new RelationshipSet();
        R4512_Selector_traverses_across_ClassRelationship_extent = new RelationshipSet();
        R451_BreakSmt_is_a_Statement_extent = new RelationshipSet();
        R451_ContinueSmt_is_a_Statement_extent = new RelationshipSet();
        R451_DeleteSmt_is_a_Statement_extent = new RelationshipSet();
        R451_ExpressionAsStatement_is_a_Statement_extent = new RelationshipSet();
        R451_ForSmt_is_a_Statement_extent = new RelationshipSet();
        R451_Generate_is_a_Statement_extent = new RelationshipSet();
        R451_Halt_is_a_Statement_extent = new RelationshipSet();
        R451_IfSmt_is_a_Statement_extent = new RelationshipSet();
        R451_NullSmt_is_a_Statement_extent = new RelationshipSet();
        R451_RelateSmt_is_a_Statement_extent = new RelationshipSet();
        R451_ReturnSmt_is_a_Statement_extent = new RelationshipSet();
        R451_UnrelateSmt_is_a_Statement_extent = new RelationshipSet();
        R451_WhileSmt_is_a_Statement_extent = new RelationshipSet();
        R453_IfSmt_has_then_CodeBlock_extent = new RelationshipSet();
        R454_IfSmt_has_else_CodeBlock_extent = new RelationshipSet();
        R4558_UtilityReference_contains_Utility_extent = new RelationshipSet();
        R4558_UtilityReference_used_within_context_of_ComponentDefinition_extent = new RelationshipSet();
        R4559_UtilityFunction_provided_by_Utility_extent = new RelationshipSet();
        R455_ForSmt_has_control_CodeBlock_extent = new RelationshipSet();
        R4561_ComponentDefinition_initialized_by_Function_extent = new RelationshipSet();
        R456_WhileSmt_has_control_CodeBlock_extent = new RelationshipSet();
        R4570_UtilityFunction_Bridge_extent = new RelationshipSet();
        R4571_RelationshipPopulationSelector_selects_relationships_out_of_population_of_ComponentDefinition_extent = new RelationshipSet();
        R4572_RelationshipPopulationSelector_selects_instances_of_ClassRelationship_extent = new RelationshipSet();
        R4573_ComponentDefinition_C_C_extent = new RelationshipSet();
        R457_Variable_is_declared_by_Statement_extent = new RelationshipSet();
        R458_VariableInScope_has_in_scope_Variable_extent = new RelationshipSet();
        R458_VariableInScope_is_in_scope_for_CodeBlock_extent = new RelationshipSet();
        R459_ForSmt_declares_as_iterator_Variable_extent = new RelationshipSet();
        R45_StructureMember_is_defined_by_DataType_extent = new RelationshipSet();
        R461_Variable_is_typed_by_TypeReference_extent = new RelationshipSet();
        R462_DeleteSmt_deletes_instance_specified_by_Expression_extent = new RelationshipSet();
        R46_StructureMember_succeeds_StructureMember_extent = new RelationshipSet();
        R4701_ImportedReference_imports_InterfaceReference_extent = new RelationshipSet();
        R4703_ImportedProvision_is_a_ImportedReference_extent = new RelationshipSet();
        R4703_ImportedRequirement_is_a_ImportedReference_extent = new RelationshipSet();
        R4704_ImportedReference_accepts_communication_through_Delegation_extent = new RelationshipSet();
        R4705_ImportedProvisionInSatisfaction_provides_satisfaction_through_Satisfaction_extent = new RelationshipSet();
        R4705_ImportedProvisionInSatisfaction_satisfaction_made_with_ImportedProvision_extent = new RelationshipSet();
        R4706_ImportedRequirement_provides_satisfaction_through_Satisfaction_extent = new RelationshipSet();
        R4707_PortReference_orginates_from_ComponentReference_extent = new RelationshipSet();
        R4708_ImportedReference_originates_from_PortReference_extent = new RelationshipSet();
        R4709_PortReference_references_C_PO_extent = new RelationshipSet();
        R471_IfSmt_executes_then_block_if_true_Expression_extent = new RelationshipSet();
        R472_WhileSmt_executes_block_while_true_Expression_extent = new RelationshipSet();
        R473_ReturnSmt_returns_value_specified_by_Expression_extent = new RelationshipSet();
        R4750_StateMachine_models_behavior_of_ModelInst_extent = new RelationshipSet();
        R4751_State_StateMachine_extent = new RelationshipSet();
        R4752_Event_StateMachine_extent = new RelationshipSet();
        R4753_TransitionTableRow_StateMachine_extent = new RelationshipSet();
        R4754_TransitionTableRow_State_extent = new RelationshipSet();
        R4755_TransitionTableCell_TransitionTableRow_extent = new RelationshipSet();
        R4756_TransitionTableCell_receives_Event_extent = new RelationshipSet();
        R4757_StateTransition_TransitionTableCell_extent = new RelationshipSet();
        R4757_StateTransition_transitions_to_State_extent = new RelationshipSet();
        R4758_StateMachineState_State_extent = new RelationshipSet();
        R4759_StateMachineEvent_Event_extent = new RelationshipSet();
        R476_ExpressionAsStatement_executes_as_statement_Expression_extent = new RelationshipSet();
        R477_Statement_executes_before_Statement_extent = new RelationshipSet();
        R478_ForSmt_iterates_over_Expression_extent = new RelationshipSet();
        R479_RelateSmt_relates_formalizing_Expression_extent = new RelationshipSet();
        R480_RelateSmt_relates_participating_Expression_extent = new RelationshipSet();
        R481_RelateSmt_creates_instances_of_ClassRelationship_extent = new RelationshipSet();
        R482_UnrelateSmt_unrelates_participating_Expression_extent = new RelationshipSet();
        R483_UnrelateSmt_unrelates_formalizing_Expression_extent = new RelationshipSet();
        R484_UnrelateSmt_deletes_instances_of_ClassRelationship_extent = new RelationshipSet();
        R485_Finalization_finalized_by_Statement_extent = new RelationshipSet();
        R485_Finalization_finalizes_Variable_extent = new RelationshipSet();
        R486_Generate_generates_Expression_extent = new RelationshipSet();
        R49_Dimensions_specifies_occurrences_of_BridgeParameter_extent = new RelationshipSet();
        R501_StateMachineState_SM_SM_extent = new RelationshipSet();
        R502_StateMachineEvent_SM_SM_extent = new RelationshipSet();
        R503_StateEventMatrixEntry_is_received_by_StateMachineState_extent = new RelationshipSet();
        R503_StateEventMatrixEntry_receives_SEMEvent_extent = new RelationshipSet();
        R504_CantHappen_is_a_StateEventMatrixEntry_extent = new RelationshipSet();
        R504_EventIgnored_is_a_StateEventMatrixEntry_extent = new RelationshipSet();
        R504_NewStateTransition_is_a_StateEventMatrixEntry_extent = new RelationshipSet();
        R505_Transition_SM_SM_extent = new RelationshipSet();
        R506_Transition_is_destined_to_StateMachineState_extent = new RelationshipSet();
        R507_CreationTransition_is_a_Transition_extent = new RelationshipSet();
        R507_NewStateTransition_is_a_Transition_extent = new RelationshipSet();
        R507_NoEventTransition_is_a_Transition_extent = new RelationshipSet();
        R508_NoEventTransition_originates_from_StateMachineState_extent = new RelationshipSet();
        R509_CreationTransition_is_assigned_to_LocalEvent_extent = new RelationshipSet();
        R50_Dimensions_defines_return_value_dimensions_for_Bridge_extent = new RelationshipSet();
        R510_MealyStateMachine_is_a_SM_SM_extent = new RelationshipSet();
        R510_MooreStateMachine_is_a_SM_SM_extent = new RelationshipSet();
        R511_MooreActionHome_MooreStateMachine_extent = new RelationshipSet();
        R511_MooreActionHome_StateMachineState_extent = new RelationshipSet();
        R512_MealyActionHome_MealyStateMachine_extent = new RelationshipSet();
        R512_MealyActionHome_Transition_extent = new RelationshipSet();
        R513_MealyActionHome_is_a_ActionHome_extent = new RelationshipSet();
        R513_MooreActionHome_is_a_ActionHome_extent = new RelationshipSet();
        R513_TransitionActionHome_is_a_ActionHome_extent = new RelationshipSet();
        R514_ActionHome_houses_Action_extent = new RelationshipSet();
        R515_Action_SM_SM_extent = new RelationshipSet();
        R516_StateMachineEventDataItem_is_carried_on_events_into_SM_SM_extent = new RelationshipSet();
        R517_ClassStateMachine_is_a_SM_SM_extent = new RelationshipSet();
        R517_InstanceStateMachine_is_a_SM_SM_extent = new RelationshipSet();
        R518_InstanceStateMachine_ModelClass_extent = new RelationshipSet();
        R519_ClassStateMachine_ModelClass_extent = new RelationshipSet();
        R51_Dimensions_defines_return_value_dimensions_for_S_SYNC_extent = new RelationshipSet();
        R524_StateMachineEventDataItem_is_defined_by_DataType_extent = new RelationshipSet();
        R525_PolymorphicEvent_is_a_StateMachineEvent_extent = new RelationshipSet();
        R525_SEMEvent_is_a_StateMachineEvent_extent = new RelationshipSet();
        R526_LocalEvent_is_a_SEMEvent_extent = new RelationshipSet();
        R526_NonLocalEvent_is_a_SEMEvent_extent = new RelationshipSet();
        R526_SignalEvent_is_a_SEMEvent_extent = new RelationshipSet();
        R527_NonLocalEvent_is_defined_by_PolymorphicEvent_extent = new RelationshipSet();
        R528_SignalEvent_ProvidedSignal_extent = new RelationshipSet();
        R529_SignalEvent_RequiredSignal_extent = new RelationshipSet();
        R52_Dimensions_specifies_occurrences_of_FunctionParameter_extent = new RelationshipSet();
        R530_TransitionActionHome_Transition_extent = new RelationshipSet();
        R531_Dimensions_specifies_occurrences_of_StateMachineEventDataItem_extent = new RelationshipSet();
        R532_StateMachineEventDataItem_carried_by_StateMachineEvent_extent = new RelationshipSet();
        R533_StateMachineEventDataItem_succeeds_StateMachineEventDataItem_extent = new RelationshipSet();
        R53_Dimensions_specifies_occurrences_of_StructureMember_extent = new RelationshipSet();
        R54_FunctionParameter_succeeds_FunctionParameter_extent = new RelationshipSet();
        R55_BridgeParameter_succeeds_BridgeParameter_extent = new RelationshipSet();
        R56_S_ENUM_succeeds_S_ENUM_extent = new RelationshipSet();
        R57_Range_spans_UserDataType_extent = new RelationshipSet();
        R601_Block_is_committed_from_Body_extent = new RelationshipSet();
        R602_ACT_SMT_contains_Block_extent = new RelationshipSet();
        R603_ACT_BRK_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_ACT_CON_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_ACT_FIO_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_ACT_SEL_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_AssignToMember_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_BridgeInvocation_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_Control_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_CreateNoVariable_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_Create_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_Delete_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_ElseIfStmt_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_ElseStmt_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_EventSpecificationStatement_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_ForStmt_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_FunctionInvocation_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_GeneratePreexistingEvent_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_IfStmt_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_InterfaceOperationInvocation_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_OperationInvocation_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_RelateUsing_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_Relate_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_ReturnStmt_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_SelectFromInstancesWhere_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_SignalInvocation_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_UnrelateUsing_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_Unrelate_is_a_ACT_SMT_extent = new RelationshipSet();
        R603_WhileStmt_is_a_ACT_SMT_extent = new RelationshipSet();
        R604_ChainLink_precedes_ChainLink_extent = new RelationshipSet();
        R605_ForStmt_controls_Block_extent = new RelationshipSet();
        R606_ElseStmt_controls_Block_extent = new RelationshipSet();
        R607_IfStmt_controls_Block_extent = new RelationshipSet();
        R608_WhileStmt_controls_Block_extent = new RelationshipSet();
        R609_AssignToMember_reads_Value_extent = new RelationshipSet();
        R610_SelectFromInstancesWhere_where_clause_Value_extent = new RelationshipSet();
        R611_SelectRelatedWhere_where_clause_Value_extent = new RelationshipSet();
        R612_Block_is_parsed_from_Body_extent = new RelationshipSet();
        R613_ACT_SEL_starting_point_Value_extent = new RelationshipSet();
        R614_ForStmt_loop_V_VAR_extent = new RelationshipSet();
        R615_Relate_one_V_VAR_extent = new RelationshipSet();
        R616_Relate_other_V_VAR_extent = new RelationshipSet();
        R617_RelateUsing_one_V_VAR_extent = new RelationshipSet();
        R618_RelateUsing_other_V_VAR_extent = new RelationshipSet();
        R619_RelateUsing_using_V_VAR_extent = new RelationshipSet();
        R620_Unrelate_one_V_VAR_extent = new RelationshipSet();
        R621_Unrelate_other_V_VAR_extent = new RelationshipSet();
        R622_UnrelateUsing_one_V_VAR_extent = new RelationshipSet();
        R623_UnrelateUsing_other_V_VAR_extent = new RelationshipSet();
        R624_UnrelateUsing_using_V_VAR_extent = new RelationshipSet();
        R625_IfStmt_test_result_Value_extent = new RelationshipSet();
        R626_WhileStmt_continue_result_Value_extent = new RelationshipSet();
        R627_V_PAR_OperationInvocation_extent = new RelationshipSet();
        R628_V_PAR_BridgeInvocation_extent = new RelationshipSet();
        R629_InterfaceOperationInvocation_has_target_Value_extent = new RelationshipSet();
        R630_SignalInvocation_has_target_Value_extent = new RelationshipSet();
        R633_Create_result_V_VAR_extent = new RelationshipSet();
        R634_Delete_destroys_V_VAR_extent = new RelationshipSet();
        R637_ChainLink_ACT_SEL_extent = new RelationshipSet();
        R638_ACT_SEL_selection_V_VAR_extent = new RelationshipSet();
        R639_ACT_FIO_selection_V_VAR_extent = new RelationshipSet();
        R640_BodyInElement_has_declared_Body_extent = new RelationshipSet();
        R640_BodyInElement_is_declared_in_PackageableElement_extent = new RelationshipSet();
        R650_Body_has_parsed_outer_Block_extent = new RelationshipSet();
        R652_ForStmt_set_V_VAR_extent = new RelationshipSet();
        R653_Relate_creates_Association_extent = new RelationshipSet();
        R654_RelateUsing_creates_Association_extent = new RelationshipSet();
        R655_Unrelate_destroys_Association_extent = new RelationshipSet();
        R656_UnrelateUsing_destroys_Association_extent = new RelationshipSet();
        R657_InterfaceOperationInvocation_is_invocation_of_RequiredOperation_extent = new RelationshipSet();
        R658_ElseIfStmt_controls_Block_extent = new RelationshipSet();
        R659_ElseIfStmt_test_result_Value_extent = new RelationshipSet();
        R660_SignalInvocation_is_invocation_of_RequiredSignal_extent = new RelationshipSet();
        R661_ACT_SMT_succeeds_ACT_SMT_extent = new RelationshipSet();
        R662_V_PAR_taken_by_SignalInvocation_extent = new RelationshipSet();
        R663_SignalInvocation_is_invocation_of_ProvidedSignal_extent = new RelationshipSet();
        R664_SelectRelatedBy_is_a_ACT_SEL_extent = new RelationshipSet();
        R664_SelectRelatedWhere_is_a_ACT_SEL_extent = new RelationshipSet();
        R665_SelectFromInstancesWhere_result_V_VAR_extent = new RelationshipSet();
        R666_Body_has_committed_outer_Block_extent = new RelationshipSet();
        R667_OperationInvocation_has_target_V_VAR_extent = new RelationshipSet();
        R668_ReturnStmt_has_Value_extent = new RelationshipSet();
        R669_V_PAR_FunctionInvocation_extent = new RelationshipSet();
        R670_ForStmt_iterates_a_set_of_ModelClass_extent = new RelationshipSet();
        R671_Create_instance_of_ModelClass_extent = new RelationshipSet();
        R672_CreateNoVariable_instance_of_ModelClass_extent = new RelationshipSet();
        R673_OperationInvocation_is_an_invocation_of_O_TFR_extent = new RelationshipSet();
        R674_BridgeInvocation_is_an_invocation_of_Bridge_extent = new RelationshipSet();
        R675_FunctionInvocation_is_an_invocation_of_S_SYNC_extent = new RelationshipSet();
        R676_SelectFromInstancesWhere_from_extent_of_ModelClass_extent = new RelationshipSet();
        R677_ACT_FIO_from_extent_of_ModelClass_extent = new RelationshipSet();
        R678_ChainLink_specifies_instances_of_ModelClass_extent = new RelationshipSet();
        R679_V_PAR_taken_by_InterfaceOperationInvocation_extent = new RelationshipSet();
        R680_InterfaceOperationInvocation_is_invocation_of_ProvidedOperation_extent = new RelationshipSet();
        R681_ChainLink_specifies_traversal_of_Association_extent = new RelationshipSet();
        R682_ElseIfStmt_IfStmt_extent = new RelationshipSet();
        R683_ElseStmt_IfStmt_extent = new RelationshipSet();
        R684_RequiredSignalBody_specifies_processing_for_RequiredSignal_extent = new RelationshipSet();
        R685_RequiredOperationBody_specifies_processing_for_RequiredOperation_extent = new RelationshipSet();
        R686_ProvidedSignalBody_specifies_processing_for_ProvidedSignal_extent = new RelationshipSet();
        R687_ProvidedOperationBody_specifies_processing_for_ProvidedOperation_extent = new RelationshipSet();
        R688_TransitionActionBody_specifies_processing_for_Action_extent = new RelationshipSet();
        R689_AssignToMember_writes_Value_extent = new RelationshipSet();
        R690_IfStmt_was_executing_when_halted_ElseIfStmt_extent = new RelationshipSet();
        R691_StateActionBody_specifies_processing_for_Action_extent = new RelationshipSet();
        R692_IfStmt_was_executing_when_halted_ElseStmt_extent = new RelationshipSet();
        R693_DerivedAttributeBody_specifies_processing_for_DerivedBaseAttribute_extent = new RelationshipSet();
        R694_BodyInComponent_has_declared_Body_extent = new RelationshipSet();
        R694_BodyInComponent_is_declared_in_C_C_extent = new RelationshipSet();
        R695_FunctionBody_specifies_processing_for_S_SYNC_extent = new RelationshipSet();
        R696_OperationBody_specifies_processing_for_O_TFR_extent = new RelationshipSet();
        R697_BridgeBody_specifies_processing_for_Bridge_extent = new RelationshipSet();
        R698_BridgeBody_is_a_Body_extent = new RelationshipSet();
        R698_DerivedAttributeBody_is_a_Body_extent = new RelationshipSet();
        R698_FunctionBody_is_a_Body_extent = new RelationshipSet();
        R698_OperationBody_is_a_Body_extent = new RelationshipSet();
        R698_ProvidedOperationBody_is_a_Body_extent = new RelationshipSet();
        R698_ProvidedSignalBody_is_a_Body_extent = new RelationshipSet();
        R698_RequiredOperationBody_is_a_Body_extent = new RelationshipSet();
        R698_RequiredSignalBody_is_a_Body_extent = new RelationshipSet();
        R698_StateActionBody_is_a_Body_extent = new RelationshipSet();
        R698_TransitionActionBody_is_a_Body_extent = new RelationshipSet();
        R699_Body_has_current_scope_Block_extent = new RelationshipSet();
        R700_V_PAR_EventSpecificationStatement_extent = new RelationshipSet();
        R701_CreateEventStatement_is_a_EventSpecificationStatement_extent = new RelationshipSet();
        R701_GenerateEventStatement_is_a_EventSpecificationStatement_extent = new RelationshipSet();
        R702_CreateSMEventStatement_is_a_CreateEventStatement_extent = new RelationshipSet();
        R703_GenerateSMEventStatement_is_a_GenerateEventStatement_extent = new RelationshipSet();
        R704_CreateEventToClass_is_a_CreateSMEventStatement_extent = new RelationshipSet();
        R704_CreateEventToCreator_is_a_CreateSMEventStatement_extent = new RelationshipSet();
        R704_CreateEventToInstance_is_a_CreateSMEventStatement_extent = new RelationshipSet();
        R705_E_GEN_is_a_GenerateSMEventStatement_extent = new RelationshipSet();
        R705_GenerateToClass_is_a_GenerateSMEventStatement_extent = new RelationshipSet();
        R705_GenerateToCreator_is_a_GenerateSMEventStatement_extent = new RelationshipSet();
        R706_CreateSMEventStatement_creates_StateMachineEvent_extent = new RelationshipSet();
        R707_GenerateSMEventStatement_generates_StateMachineEvent_extent = new RelationshipSet();
        R710_CreateEventStatement_result_V_VAR_extent = new RelationshipSet();
        R711_CreateEventToInstance_has_recipient_V_VAR_extent = new RelationshipSet();
        R712_E_GEN_has_recipient_V_VAR_extent = new RelationshipSet();
        R714_GeneratePreexistingEvent_generates_event_held_by_Value_extent = new RelationshipSet();
        R775_Expression_expressed_within_Statement_extent = new RelationshipSet();
        R776_Any_is_a_Expression_extent = new RelationshipSet();
        R776_ArrayElementReference_is_a_Expression_extent = new RelationshipSet();
        R776_ArrayLengthAccess_is_a_Expression_extent = new RelationshipSet();
        R776_AttributeAccess_is_a_Expression_extent = new RelationshipSet();
        R776_BinaryOperation_is_a_Expression_extent = new RelationshipSet();
        R776_ConstantReference_is_a_Expression_extent = new RelationshipSet();
        R776_Creation_is_a_Expression_extent = new RelationshipSet();
        R776_EnumeratorReference_is_a_Expression_extent = new RelationshipSet();
        R776_EventCreation_is_a_Expression_extent = new RelationshipSet();
        R776_Invocation_is_a_Expression_extent = new RelationshipSet();
        R776_Literal_is_a_Expression_extent = new RelationshipSet();
        R776_MemberReference_is_a_Expression_extent = new RelationshipSet();
        R776_NamedReference_is_a_Expression_extent = new RelationshipSet();
        R776_ParameterReference_is_a_Expression_extent = new RelationshipSet();
        R776_ParenthesizedExpression_is_a_Expression_extent = new RelationshipSet();
        R776_Promotion_is_a_Expression_extent = new RelationshipSet();
        R776_Select_is_a_Expression_extent = new RelationshipSet();
        R776_Selected_is_a_Expression_extent = new RelationshipSet();
        R776_UnaryOperation_is_a_Expression_extent = new RelationshipSet();
        R776_VariableReference_is_a_Expression_extent = new RelationshipSet();
        R776_Where_is_a_Expression_extent = new RelationshipSet();
        R777_UnaryOperation_has_single_operand_Expression_extent = new RelationshipSet();
        R778_BinaryOperation_has_right_Expression_extent = new RelationshipSet();
        R779_BinaryOperation_has_left_Expression_extent = new RelationshipSet();
        R780_Creation_creates_ModelInst_extent = new RelationshipSet();
        R781_ParameterReference_refers_to_FormalParameter_extent = new RelationshipSet();
        R782_VariableReference_refers_to_local_Variable_extent = new RelationshipSet();
        R783_Any_gets_an_arbitrary_element_from_Expression_extent = new RelationshipSet();
        R784_ParenthesizedExpression_parenthesizes_Expression_extent = new RelationshipSet();
        R785_AttributeAccess_refers_to_attribute_of_instance_expressed_by_Expression_extent = new RelationshipSet();
        R786_EnumeratorReference_refers_to_Enumerator_extent = new RelationshipSet();
        R787_MemberReference_refers_to_member_of_structured_value_expressed_by_Expression_extent = new RelationshipSet();
        R788_AttributeAccess_refers_to_Attribute_extent = new RelationshipSet();
        R789_SelectFromInstances_is_a_Select_extent = new RelationshipSet();
        R789_SelectRelated_is_a_Select_extent = new RelationshipSet();
        R790_Where_filters_Expression_extent = new RelationshipSet();
        R791_SelectRelated_selects_instances_linked_from_instance_expressed_by_Expression_extent = new RelationshipSet();
        R792_Invocation_invokes_InvocableObject_extent = new RelationshipSet();
        R793_ActualParameter_Invocation_extent = new RelationshipSet();
        R794_ActualParameter_parameter_value_specified_by_Expression_extent = new RelationshipSet();
        R795_Expression_expresses_value_of_TypeReference_extent = new RelationshipSet();
        R796_Where_has_condition_Expression_extent = new RelationshipSet();
        R797_SelectRelated_selects_instances_through_Selector_extent = new RelationshipSet();
        R798_Invocation_invokes_activity_on_Expression_extent = new RelationshipSet();
        R799_SelectFromInstances_selects_instances_through_InstancePopulationSelector_extent = new RelationshipSet();
        R8000_PackageableElement_contained_by_EP_PKG_extent = new RelationshipSet();
        R8001_ActivityEdge_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_ActivityNode_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_ActivityPartition_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_Association_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_C_C_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_C_I_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_ComponentReference_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_ConstantSpecification_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_DataType_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_Delegation_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_Deployment_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_EP_PKG_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_Exception_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_ExternalEntity_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_ImportedClass_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_InteractionParticipant_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_MSG_M_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_ModelClass_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_S_SYNC_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_Satisfaction_is_a_PackageableElement_extent = new RelationshipSet();
        R8001_UseCaseAssociation_is_a_PackageableElement_extent = new RelationshipSet();
        R8002_ElementVisibility_has_visibility_of_PackageableElement_extent = new RelationshipSet();
        R8002_ElementVisibility_is_visible_to_elements_in_EP_PKG_extent = new RelationshipSet();
        R8003_PackageableElement_contained_in_C_C_extent = new RelationshipSet();
        R8004_ComponentVisibility_has_visibility_of_PackageableElement_extent = new RelationshipSet();
        R8004_ComponentVisibility_is_visible_to_C_C_extent = new RelationshipSet();
        R8005_SearchResultSet_held_by_EP_PKG_extent = new RelationshipSet();
        R8006_ElementVisibility_SearchResultSet_extent = new RelationshipSet();
        R8007_ComponentResultSet_held_by_C_C_extent = new RelationshipSet();
        R8008_ComponentVisibility_makes_up_a_ComponentResultSet_extent = new RelationshipSet();
        R800_V_PAR_has_Value_extent = new RelationshipSet();
        R801_ArrayLengthValue_is_a_Value_extent = new RelationshipSet();
        R801_AttributeValueReference_is_a_Value_extent = new RelationshipSet();
        R801_BridgeValue_is_a_Value_extent = new RelationshipSet();
        R801_EventDatumValue_is_a_Value_extent = new RelationshipSet();
        R801_FunctionValue_is_a_Value_extent = new RelationshipSet();
        R801_InstanceReference_is_a_Value_extent = new RelationshipSet();
        R801_InstanceSetReference_is_a_Value_extent = new RelationshipSet();
        R801_LiteralBoolean_is_a_Value_extent = new RelationshipSet();
        R801_LiteralEnumerator_is_a_Value_extent = new RelationshipSet();
        R801_LiteralInteger_is_a_Value_extent = new RelationshipSet();
        R801_LiteralReal_is_a_Value_extent = new RelationshipSet();
        R801_LiteralString_is_a_Value_extent = new RelationshipSet();
        R801_MemberValueReference_is_a_Value_extent = new RelationshipSet();
        R801_MessageValue_is_a_Value_extent = new RelationshipSet();
        R801_OperationValue_is_a_Value_extent = new RelationshipSet();
        R801_ParameterValue_is_a_Value_extent = new RelationshipSet();
        R801_SelectedReference_is_a_Value_extent = new RelationshipSet();
        R801_SymbolicConstantValue_is_a_Value_extent = new RelationshipSet();
        R801_TransientValueReference_is_a_Value_extent = new RelationshipSet();
        R801_V_AER_is_a_Value_extent = new RelationshipSet();
        R801_V_BIN_is_a_Value_extent = new RelationshipSet();
        R801_V_UNY_is_a_Value_extent = new RelationshipSet();
        R802_V_BIN_has_left_Value_extent = new RelationshipSet();
        R803_V_BIN_has_right_Value_extent = new RelationshipSet();
        R804_V_UNY_has_operand_Value_extent = new RelationshipSet();
        R805_TransientValueReference_references_V_VAR_extent = new RelationshipSet();
        R806_AttributeValueReference_is_value_of_O_ATTR_extent = new RelationshipSet();
        R807_AttributeValueReference_has_root_Value_extent = new RelationshipSet();
        R808_InstanceReference_refers_to_V_VAR_extent = new RelationshipSet();
        R809_InstanceSetReference_refers_to_V_VAR_extent = new RelationshipSet();
        R810_V_PAR_BridgeValue_extent = new RelationshipSet();
        R811_V_PAR_OperationValue_extent = new RelationshipSet();
        R812_SelectedReference_member_O_ATTR_extent = new RelationshipSet();
        R814_InstanceHandle_is_a_V_VAR_extent = new RelationshipSet();
        R814_TransientVar_is_a_V_VAR_extent = new RelationshipSet();
        R814_V_INS_is_a_V_VAR_extent = new RelationshipSet();
        R816_V_PAR_precedes_V_PAR_extent = new RelationshipSet();
        R817_V_PAR_FunctionValue_extent = new RelationshipSet();
        R818_InstanceHandle_refers_to_ModelClass_extent = new RelationshipSet();
        R819_V_INS_refers_to_ModelClass_extent = new RelationshipSet();
        R820_Value_has_type_DataType_extent = new RelationshipSet();
        R821_TransientVar_has_DataType_extent = new RelationshipSet();
        R823_V_VAR_Block_extent = new RelationshipSet();
        R824_LiteralEnumerator_has_value_S_ENUM_extent = new RelationshipSet();
        R825_SelectedReference_value_OperationValue_extent = new RelationshipSet();
        R826_Value_has_scope_Block_extent = new RelationshipSet();
        R827_FunctionValue_S_SYNC_extent = new RelationshipSet();
        R828_BridgeValue_Bridge_extent = new RelationshipSet();
        R829_OperationValue_O_TFR_extent = new RelationshipSet();
        R830_OperationValue_V_VAR_extent = new RelationshipSet();
        R831_ParameterValue_is_a_value_of_BridgeParameter_extent = new RelationshipSet();
        R832_ParameterValue_is_a_value_of_FunctionParameter_extent = new RelationshipSet();
        R833_ParameterValue_is_a_value_of_OperationParameter_extent = new RelationshipSet();
        R834_EventParameterReference_EventDatumValue_extent = new RelationshipSet();
        R835_VariableLocation_V_VAR_extent = new RelationshipSet();
        R836_MemberValueReference_is_value_of_StructureMember_extent = new RelationshipSet();
        R837_MemberValueReference_Value_extent = new RelationshipSet();
        R838_V_AER_has_root_Value_extent = new RelationshipSet();
        R839_V_AER_has_index_Value_extent = new RelationshipSet();
        R840_ArrayLengthValue_returns_length_of_Value_extent = new RelationshipSet();
        R841_MessageValue_ProvidedExecutableProperty_extent = new RelationshipSet();
        R842_V_PAR_MessageValue_extent = new RelationshipSet();
        R843_ParameterValue_is_a_value_of_PropertyParameter_extent = new RelationshipSet();
        R844_Dimensions_specifies_occurrences_of_TransientVar_extent = new RelationshipSet();
        R845_MessageValue_RequiredExecutableProperty_extent = new RelationshipSet();
        R846_EventParameterReference_StateMachineEventDataItem_extent = new RelationshipSet();
        R847_EventParameterReference_PropertyParameter_extent = new RelationshipSet();
        R848_V_VAR_has_DataType_extent = new RelationshipSet();
        R849_Dimensions_specifies_occurrences_of_V_VAR_extent = new RelationshipSet();
        R850_SymbolicConstantValue_SymbolicConstant_extent = new RelationshipSet();
        R851_MessageValue_has_target_Value_extent = new RelationshipSet();
        R9000_SatisfactionInComponent_C_C_extent = new RelationshipSet();
        R9000_SatisfactionInComponent_Satisfaction_extent = new RelationshipSet();
        R9002_DelegationInComponent_C_C_extent = new RelationshipSet();
        R9002_DelegationInComponent_Delegation_extent = new RelationshipSet();
        R9100_GlobalElementInSystem_PackageableElement_extent = new RelationshipSet();
        R9100_GlobalElementInSystem_SystemModel_extent = new RelationshipSet();
        R930_ActorParticipant_is_a_InteractionParticipant_extent = new RelationshipSet();
        R930_ClassInstanceParticipant_is_a_InteractionParticipant_extent = new RelationshipSet();
        R930_ClassParticipant_is_a_InteractionParticipant_extent = new RelationshipSet();
        R930_ComponentParticipant_is_a_InteractionParticipant_extent = new RelationshipSet();
        R930_ExternalEntityParticipant_is_a_InteractionParticipant_extent = new RelationshipSet();
        R930_Lifespan_is_a_InteractionParticipant_extent = new RelationshipSet();
        R930_PackageParticipant_is_a_InteractionParticipant_extent = new RelationshipSet();
        R930_UseCaseParticipant_is_a_InteractionParticipant_extent = new RelationshipSet();
        R931_TimingMark_marks_a_point_in_time_Lifespan_extent = new RelationshipSet();
        R933_ExternalEntityParticipant_represents_ExternalEntity_extent = new RelationshipSet();
        R934_ClassInstanceParticipant_represents_ModelClass_extent = new RelationshipSet();
        R935_ClassParticipantAttribute_belongs_to_ClassParticipant_extent = new RelationshipSet();
        R936_InstanceAttributeValue_owns_informal_ClassInstanceParticipant_extent = new RelationshipSet();
        R937_InstanceAttributeValue_owns_formal_ClassInstanceParticipant_extent = new RelationshipSet();
        R938_InstanceAttributeValue_references_O_ATTR_extent = new RelationshipSet();
        R939_ClassParticipant_represents_ModelClass_extent = new RelationshipSet();
        R940_Lifespan_extends_from_InteractionParticipant_extent = new RelationshipSet();
        R941_TimeSpan_span_begins_at_TimingMark_extent = new RelationshipSet();
        R942_TimeSpan_span_ends_at_TimingMark_extent = new RelationshipSet();
        R947_FormalAttribute_is_a_ClassParticipantAttribute_extent = new RelationshipSet();
        R947_InformalAttribute_is_a_ClassParticipantAttribute_extent = new RelationshipSet();
        R948_FormalAttributeValue_is_a_InstanceAttributeValue_extent = new RelationshipSet();
        R948_InformalAttributeValue_is_a_InstanceAttributeValue_extent = new RelationshipSet();
        R949_ActorParticipant_life_is_bounded_by_Lifespan_extent = new RelationshipSet();
        R955_ComponentParticipant_represents_C_C_extent = new RelationshipSet();
        R956_PackageParticipant_represents_EP_PKG_extent = new RelationshipSet();
        R9_ExternalEntityInModel_is_a_presence_in_subsystem_model_of_ExternalEntity_extent = new RelationshipSet();
        CMD = null;
        T = null;
        CSV = null;
        LOG = null;
        STRING = null;
        C_UTIL = null;
        TIM = null;
        SQL = null;
        classDirectory = new TreeMap<>();
        classDirectory.put("ACT_BRK", ACT_BRKImpl.class);
        classDirectory.put("ACT_CON", ACT_CONImpl.class);
        classDirectory.put("ACT_FIO", ACT_FIOImpl.class);
        classDirectory.put("ACT_SEL", ACT_SELImpl.class);
        classDirectory.put("ACT_SMT", ACT_SMTImpl.class);
        classDirectory.put("A_AE", AcceptEventImpl.class);
        classDirectory.put("A_AEA", AcceptEventActionImpl.class);
        classDirectory.put("A_ATE", AcceptTimeEventActionImpl.class);
        classDirectory.put("SM_ACT", ActionImpl.class);
        classDirectory.put("SM_AH", ActionHomeImpl.class);
        classDirectory.put("A_ACT", ActionNodeImpl.class);
        classDirectory.put("A_GA", ActivityDiagramActionImpl.class);
        classDirectory.put("A_E", ActivityEdgeImpl.class);
        classDirectory.put("A_AF", ActivityFinalNodeImpl.class);
        classDirectory.put("A_N", ActivityNodeImpl.class);
        classDirectory.put("A_AP", ActivityPartitionImpl.class);
        classDirectory.put("SQ_AP", ActorParticipantImpl.class);
        classDirectory.put("ActualParameter", ActualParameterImpl.class);
        classDirectory.put("AnyExpr", AnyImpl.class);
        classDirectory.put("Application", ApplicationImpl.class);
        classDirectory.put("ApplicationExecutor", ApplicationExecutorImpl.class);
        classDirectory.put("ArrayElementReference", ArrayElementReferenceImpl.class);
        classDirectory.put("ArrayLengthAccess", ArrayLengthAccessImpl.class);
        classDirectory.put("V_ALV", ArrayLengthValueImpl.class);
        classDirectory.put("ArrayTypeReference", ArrayTypeReferenceImpl.class);
        classDirectory.put("ACT_AI", AssignToMemberImpl.class);
        classDirectory.put("R_REL", AssociationImpl.class);
        classDirectory.put("AssociationSerializerLoader", AssociationSerializerLoaderImpl.class);
        classDirectory.put("MSG_AM", AsynchronousMessageImpl.class);
        classDirectory.put("Attribute", AttributeImpl.class);
        classDirectory.put("AttributeAccess", AttributeAccessImpl.class);
        classDirectory.put("AttributeAccessor", AttributeAccessorImpl.class);
        classDirectory.put("Z_AttributeComparison", AttributeComparisonImpl.class);
        classDirectory.put("AttributeDerivation", AttributeDerivationImpl.class);
        classDirectory.put("Z_AttributeLoader", AttributeLoaderImpl.class);
        classDirectory.put("AttributeReference", AttributeReferenceImpl.class);
        classDirectory.put("O_REF", AttributeReferenceInClassImpl.class);
        classDirectory.put("Z_AttributeSerializer", AttributeSerializerImpl.class);
        classDirectory.put("I_AVL", AttributeValueImpl.class);
        classDirectory.put("V_AVL", AttributeValueReferenceImpl.class);
        classDirectory.put("O_BATTR", BaseAttributeImpl.class);
        classDirectory.put("BasicTypeReference", BasicTypeReferenceImpl.class);
        classDirectory.put("Z_BatchRelator", BatchRelatorImpl.class);
        classDirectory.put("UC_BA", BinaryAssociationImpl.class);
        classDirectory.put("BinaryOperation", BinaryOperationImpl.class);
        classDirectory.put("ACT_BLK", BlockImpl.class);
        classDirectory.put("I_BSF", BlockInStackFrameImpl.class);
        classDirectory.put("ACT_ACT", BodyImpl.class);
        classDirectory.put("ACT_BIC", BodyInComponentImpl.class);
        classDirectory.put("ACT_BIE", BodyInElementImpl.class);
        classDirectory.put("Z_BooleanLoader", BooleanLoaderImpl.class);
        classDirectory.put("BooleanSerializer", BooleanSerializerImpl.class);
        classDirectory.put("BreakSmt", BreakSmtImpl.class);
        classDirectory.put("S_BRG", BridgeImpl.class);
        classDirectory.put("MSG_BA", BridgeArgumentImpl.class);
        classDirectory.put("ACT_BRB", BridgeBodyImpl.class);
        classDirectory.put("ACT_BRG", BridgeInvocationImpl.class);
        classDirectory.put("MSG_B", BridgeMessageImpl.class);
        classDirectory.put("S_BPARM", BridgeParameterImpl.class);
        classDirectory.put("V_BRV", BridgeValueImpl.class);
        classDirectory.put("BuiltInType", BuiltInTypeImpl.class);
        classDirectory.put("C_C", C_CImpl.class);
        classDirectory.put("C_I", C_IImpl.class);
        classDirectory.put("C_PO", C_POImpl.class);
        classDirectory.put("SM_CH", CantHappenImpl.class);
        classDirectory.put("CardinalityCheck", CardinalityCheckImpl.class);
        classDirectory.put("ACT_LNK", ChainLinkImpl.class);
        classDirectory.put("R_AONE", ClassAsAssociatedOneSideImpl.class);
        classDirectory.put("R_AOTH", ClassAsAssociatedOtherSideImpl.class);
        classDirectory.put("R_CONE", ClassAsDerivedOneSideImpl.class);
        classDirectory.put("R_COTH", ClassAsDerivedOtherSideImpl.class);
        classDirectory.put("R_ASSR", ClassAsLinkImpl.class);
        classDirectory.put("R_FORM", ClassAsSimpleFormalizerImpl.class);
        classDirectory.put("R_PART", ClassAsSimpleParticipantImpl.class);
        classDirectory.put("R_SUB", ClassAsSubtypeImpl.class);
        classDirectory.put("R_SUPER", ClassAsSupertypeImpl.class);
        classDirectory.put("O_ID", ClassIdentifierImpl.class);
        classDirectory.put("O_OIDA", ClassIdentifierAttributeImpl.class);
        classDirectory.put("R_OIR", ClassInAssociationImpl.class);
        classDirectory.put("ClassInstanceLoader", ClassInstanceLoaderImpl.class);
        classDirectory.put("SQ_CIP", ClassInstanceParticipantImpl.class);
        classDirectory.put("ClassInstanceSerializer", ClassInstanceSerializerImpl.class);
        classDirectory.put("SQ_CP", ClassParticipantImpl.class);
        classDirectory.put("SQ_CPA", ClassParticipantAttributeImpl.class);
        classDirectory.put("Relationship", ClassRelationshipImpl.class);
        classDirectory.put("SM_ASM", ClassStateMachineImpl.class);
        classDirectory.put("CodeBlock", CodeBlockImpl.class);
        classDirectory.put("COMM_LNK", CommunicationLinkImpl.class);
        classDirectory.put("ComponentDefinition", ComponentDefinitionImpl.class);
        classDirectory.put("I_EXE", ComponentInstanceImpl.class);
        classDirectory.put("I_CIN", ComponentInstanceContainerImpl.class);
        classDirectory.put("ComponentInstantiation", ComponentInstantiationImpl.class);
        classDirectory.put("SQ_COP", ComponentParticipantImpl.class);
        classDirectory.put("CL_IC", ComponentReferenceImpl.class);
        classDirectory.put("PE_CRS", ComponentResultSetImpl.class);
        classDirectory.put("PE_CVS", ComponentVisibilityImpl.class);
        classDirectory.put("ConstantReference", ConstantReferenceImpl.class);
        classDirectory.put("CNST_CSP", ConstantSpecificationImpl.class);
        classDirectory.put("ContinueSmt", ContinueSmtImpl.class);
        classDirectory.put("ACT_CTL", ControlImpl.class);
        classDirectory.put("A_CTL", ControlNodeImpl.class);
        classDirectory.put("S_CDT", CoreDataTypeImpl.class);
        classDirectory.put("ACT_CR", CreateImpl.class);
        classDirectory.put("E_CES", CreateEventStatementImpl.class);
        classDirectory.put("E_CEA", CreateEventToClassImpl.class);
        classDirectory.put("E_CEC", CreateEventToCreatorImpl.class);
        classDirectory.put("E_CEI", CreateEventToInstanceImpl.class);
        classDirectory.put("ACT_CNV", CreateNoVariableImpl.class);
        classDirectory.put("E_CSME", CreateSMEventStatementImpl.class);
        classDirectory.put("Creation", CreationImpl.class);
        classDirectory.put("SM_CRTXN", CreationTransitionImpl.class);
        classDirectory.put("I_DIV", DataItemValueImpl.class);
        classDirectory.put("S_DT", DataTypeImpl.class);
        classDirectory.put("A_DM", DecisionMergeNodeImpl.class);
        classDirectory.put("O_DEF", DeferralImpl.class);
        classDirectory.put("C_DG", DelegationImpl.class);
        classDirectory.put("PA_DIC", DelegationInComponentImpl.class);
        classDirectory.put("ACT_DEL", DeleteImpl.class);
        classDirectory.put("DeleteSmt", DeleteSmtImpl.class);
        classDirectory.put("D_DEPL", DeploymentImpl.class);
        classDirectory.put("R_COMP", DerivedAssociationImpl.class);
        classDirectory.put("ACT_DAB", DerivedAttributeBodyImpl.class);
        classDirectory.put("O_DBATTR", DerivedBaseAttributeImpl.class);
        classDirectory.put("S_DIM", DimensionsImpl.class);
        classDirectory.put("EP_PKG", EP_PKGImpl.class);
        classDirectory.put("E_GEN", E_GENImpl.class);
        classDirectory.put("PE_VIS", ElementVisibilityImpl.class);
        classDirectory.put("ACT_EL", ElseIfStmtImpl.class);
        classDirectory.put("ACT_E", ElseStmtImpl.class);
        classDirectory.put("EnumeratedType", EnumeratedTypeImpl.class);
        classDirectory.put("S_EDT", EnumerationDataTypeImpl.class);
        classDirectory.put("Enumerator", EnumeratorImpl.class);
        classDirectory.put("Z_EnumeratorLoader", EnumeratorLoaderImpl.class);
        classDirectory.put("EnumeratorReference", EnumeratorReferenceImpl.class);
        classDirectory.put("Event", EventImpl.class);
        classDirectory.put("MSG_EA", EventArgumentImpl.class);
        classDirectory.put("EventCreation", EventCreationImpl.class);
        classDirectory.put("V_EDV", EventDatumValueImpl.class);
        classDirectory.put("SM_EIGN", EventIgnoredImpl.class);
        classDirectory.put("EventInstanceLoader", EventInstanceLoaderImpl.class);
        classDirectory.put("EventInstanceSerializer", EventInstanceSerializerImpl.class);
        classDirectory.put("MSG_E", EventMessageImpl.class);
        classDirectory.put("V_EPR", EventParameterReferenceImpl.class);
        classDirectory.put("I_EQE", EventQueueEntryImpl.class);
        classDirectory.put("E_ESS", EventSpecificationStatementImpl.class);
        classDirectory.put("S_EXP", ExceptionImpl.class);
        classDirectory.put("C_EP", ExecutablePropertyImpl.class);
        classDirectory.put("MSG_EPA", ExecutablePropertyArgumentImpl.class);
        classDirectory.put("Expression", ExpressionImpl.class);
        classDirectory.put("ExpressionAsStatement", ExpressionAsStatementImpl.class);
        classDirectory.put("UC_E", ExtendImpl.class);
        classDirectory.put("S_EE", ExternalEntityImpl.class);
        classDirectory.put("S_EEM", ExternalEntityInModelImpl.class);
        classDirectory.put("SQ_EEP", ExternalEntityParticipantImpl.class);
        classDirectory.put("Feature", FeatureImpl.class);
        classDirectory.put("File", FileImpl.class);
        classDirectory.put("Finalization", FinalizationImpl.class);
        classDirectory.put("A_FF", FlowFinalNodeImpl.class);
        classDirectory.put("ForSmt", ForSmtImpl.class);
        classDirectory.put("ACT_FOR", ForStmtImpl.class);
        classDirectory.put("A_FJ", ForkJoinNodeImpl.class);
        classDirectory.put("SQ_FA", FormalAttributeImpl.class);
        classDirectory.put("SQ_FAV", FormalAttributeValueImpl.class);
        classDirectory.put("FormalParameter", FormalParameterImpl.class);
        classDirectory.put("Function", FunctionImpl.class);
        classDirectory.put("MSG_FA", FunctionArgumentImpl.class);
        classDirectory.put("ACT_FNB", FunctionBodyImpl.class);
        classDirectory.put("ACT_FNC", FunctionInvocationImpl.class);
        classDirectory.put("MSG_F", FunctionMessageImpl.class);
        classDirectory.put("S_SPARM", FunctionParameterImpl.class);
        classDirectory.put("V_FNV", FunctionValueImpl.class);
        classDirectory.put("GeneralFile", GeneralFileImpl.class);
        classDirectory.put("Z_GeneralLoader", GeneralLoaderImpl.class);
        classDirectory.put("Z_GeneralSerializer", GeneralSerializerImpl.class);
        classDirectory.put("UC_G", GeneralizationImpl.class);
        classDirectory.put("Generate", GenerateImpl.class);
        classDirectory.put("E_GES", GenerateEventStatementImpl.class);
        classDirectory.put("E_GPR", GeneratePreexistingEventImpl.class);
        classDirectory.put("E_GSME", GenerateSMEventStatementImpl.class);
        classDirectory.put("E_GAR", GenerateToClassImpl.class);
        classDirectory.put("E_GEC", GenerateToCreatorImpl.class);
        classDirectory.put("GenericInvocable", GenericInvocableImpl.class);
        classDirectory.put("G_EIS", GlobalElementInSystemImpl.class);
        classDirectory.put("Halt", HaltImpl.class);
        classDirectory.put("I_INS", I_INSImpl.class);
        classDirectory.put("IfSmt", IfSmtImpl.class);
        classDirectory.put("ACT_IF", IfStmtImpl.class);
        classDirectory.put("Interface", IfaceImpl.class);
        classDirectory.put("O_IOBJ", ImportedClassImpl.class);
        classDirectory.put("CL_IP", ImportedProvisionImpl.class);
        classDirectory.put("CL_IPINS", ImportedProvisionInSatisfactionImpl.class);
        classDirectory.put("CL_IIR", ImportedReferenceImpl.class);
        classDirectory.put("CL_IR", ImportedRequirementImpl.class);
        classDirectory.put("UC_I", IncludeImpl.class);
        classDirectory.put("MSG_IA", InformalArgumentImpl.class);
        classDirectory.put("MSG_IAM", InformalAsynchronousMessageImpl.class);
        classDirectory.put("SQ_IA", InformalAttributeImpl.class);
        classDirectory.put("SQ_IAV", InformalAttributeValueImpl.class);
        classDirectory.put("MSG_ISM", InformalSynchronousMessageImpl.class);
        classDirectory.put("A_INI", InitialNodeImpl.class);
        classDirectory.put("ClassSet", InstSetImpl.class);
        classDirectory.put("SQ_AV", InstanceAttributeValueImpl.class);
        classDirectory.put("V_INT", InstanceHandleImpl.class);
        classDirectory.put("Z_InstanceLoader", InstanceLoaderImpl.class);
        classDirectory.put("InstancePopulationSelector", InstancePopulationSelectorImpl.class);
        classDirectory.put("V_IRF", InstanceReferenceImpl.class);
        classDirectory.put("S_IRDT", InstanceReferenceDataTypeImpl.class);
        classDirectory.put("InstanceSelector", InstanceSelectorImpl.class);
        classDirectory.put("Z_InstanceSerializer", InstanceSerializerImpl.class);
        classDirectory.put("V_ISR", InstanceSetReferenceImpl.class);
        classDirectory.put("SM_ISM", InstanceStateMachineImpl.class);
        classDirectory.put("Z_IntegerLoader", IntegerLoaderImpl.class);
        classDirectory.put("Z_IntegerSerializer", IntegerSerializerImpl.class);
        classDirectory.put("SQ_P", InteractionParticipantImpl.class);
        classDirectory.put("I_ICQE", IntercomponentQueueEntryImpl.class);
        classDirectory.put("C_IO", InterfaceOperationImpl.class);
        classDirectory.put("ACT_IOP", InterfaceOperationInvocationImpl.class);
        classDirectory.put("MSG_IOP", InterfaceOperationMessageImpl.class);
        classDirectory.put("C_IR", InterfaceReferenceImpl.class);
        classDirectory.put("C_RID", InterfaceReferenceInDelegationImpl.class);
        classDirectory.put("C_AS", InterfaceSignalImpl.class);
        classDirectory.put("InvocableObject", InvocableObjectImpl.class);
        classDirectory.put("Invocation", InvocationImpl.class);
        classDirectory.put("CNST_LFSC", LeafSymbolicConstantImpl.class);
        classDirectory.put("SQ_LS", LifespanImpl.class);
        classDirectory.put("I_LNK", LinkImpl.class);
        classDirectory.put("I_LIP", LinkParticipationImpl.class);
        classDirectory.put("R_ASSOC", LinkedAssociationImpl.class);
        classDirectory.put("Literal", LiteralImpl.class);
        classDirectory.put("V_LBO", LiteralBooleanImpl.class);
        classDirectory.put("V_LEN", LiteralEnumeratorImpl.class);
        classDirectory.put("V_LIN", LiteralIntegerImpl.class);
        classDirectory.put("V_LRL", LiteralRealImpl.class);
        classDirectory.put("V_LST", LiteralStringImpl.class);
        classDirectory.put("CNST_LSC", LiteralSymbolicConstantImpl.class);
        classDirectory.put("SM_LEVT", LocalEventImpl.class);
        classDirectory.put("MSG_M", MSG_MImpl.class);
        classDirectory.put("Mark", MarkImpl.class);
        classDirectory.put("Markable", MarkableElementTypeImpl.class);
        classDirectory.put("SM_MEAH", MealyActionHomeImpl.class);
        classDirectory.put("SM_MEALY", MealyStateMachineImpl.class);
        classDirectory.put("MemberReference", MemberReferenceImpl.class);
        classDirectory.put("V_MVL", MemberValueReferenceImpl.class);
        classDirectory.put("Message", MessageImpl.class);
        classDirectory.put("MSG_A", MessageArgumentImpl.class);
        classDirectory.put("V_MSV", MessageValueImpl.class);
        classDirectory.put("O_OBJ", ModelClassImpl.class);
        classDirectory.put("Class", ModelInstImpl.class);
        classDirectory.put("I_MON", MonitorImpl.class);
        classDirectory.put("SM_MOAH", MooreActionHomeImpl.class);
        classDirectory.put("SM_MOORE", MooreStateMachineImpl.class);
        classDirectory.put("MultiInstanceRef", MultiInstanceRefImpl.class);
        classDirectory.put("MultipleReferrerAssoc", MultipleReferrerAssocImpl.class);
        classDirectory.put("NamedReference", NamedReferenceImpl.class);
        classDirectory.put("O_NBATTR", NewBaseAttributeImpl.class);
        classDirectory.put("SM_NSTXN", NewStateTransitionImpl.class);
        classDirectory.put("SM_NETXN", NoEventTransitionImpl.class);
        classDirectory.put("SM_NLEVT", NonLocalEventImpl.class);
        classDirectory.put("NullSmt", NullSmtImpl.class);
        classDirectory.put("O_ATTR", O_ATTRImpl.class);
        classDirectory.put("O_TFR", O_TFRImpl.class);
        classDirectory.put("A_OBJ", ObjectNodeImpl.class);
        classDirectory.put("Operation", OperationImpl.class);
        classDirectory.put("MSG_OA", OperationArgumentImpl.class);
        classDirectory.put("ACT_OPB", OperationBodyImpl.class);
        classDirectory.put("ACT_TFM", OperationInvocationImpl.class);
        classDirectory.put("MSG_O", OperationMessageImpl.class);
        classDirectory.put("O_TPARM", OperationParameterImpl.class);
        classDirectory.put("V_TRV", OperationValueImpl.class);
        classDirectory.put("SQ_PP", PackageParticipantImpl.class);
        classDirectory.put("EP_PKGREF", PackageReferenceImpl.class);
        classDirectory.put("PE_PE", PackageableElementImpl.class);
        classDirectory.put("ParameterReference", ParameterReferenceImpl.class);
        classDirectory.put("V_PVL", ParameterValueImpl.class);
        classDirectory.put("ParenthesizedExpression", ParenthesizedExpressionImpl.class);
        classDirectory.put("I_EVI", PendingEventImpl.class);
        classDirectory.put("SM_PEVT", PolymorphicEventImpl.class);
        classDirectory.put("Z_PopulationLoader", PopulationLoaderImpl.class);
        classDirectory.put("Port", PortImpl.class);
        classDirectory.put("PortMessage", PortMessageImpl.class);
        classDirectory.put("CL_POR", PortReferenceImpl.class);
        classDirectory.put("Promotion", PromotionImpl.class);
        classDirectory.put("C_PP", PropertyParameterImpl.class);
        classDirectory.put("SPR_PEP", ProvidedExecutablePropertyImpl.class);
        classDirectory.put("SPR_PO", ProvidedOperationImpl.class);
        classDirectory.put("ACT_POB", ProvidedOperationBodyImpl.class);
        classDirectory.put("SPR_PS", ProvidedSignalImpl.class);
        classDirectory.put("ACT_PSB", ProvidedSignalBodyImpl.class);
        classDirectory.put("C_P", ProvisionImpl.class);
        classDirectory.put("S_RANGE", RangeImpl.class);
        classDirectory.put("Z_RealLoader", RealLoaderImpl.class);
        classDirectory.put("Z_RealSerializer", RealSerializerImpl.class);
        classDirectory.put("O_RATTR", ReferentialAttributeImpl.class);
        classDirectory.put("R_RTO", ReferredToClassInAssocImpl.class);
        classDirectory.put("ReferredToClassProxy", ReferredToClassProxyImpl.class);
        classDirectory.put("O_RTIDA", ReferredToIdentifierAttributeImpl.class);
        classDirectory.put("R_RGO", ReferringClassInAssocImpl.class);
        classDirectory.put("ReferringClassProxy", ReferringClassProxyImpl.class);
        classDirectory.put("ACT_REL", RelateImpl.class);
        classDirectory.put("RelateSmt", RelateSmtImpl.class);
        classDirectory.put("ACT_RU", RelateUsingImpl.class);
        classDirectory.put("RelationshipPopulationSelector", RelationshipPopulationSelectorImpl.class);
        classDirectory.put("SPR_REP", RequiredExecutablePropertyImpl.class);
        classDirectory.put("SPR_RO", RequiredOperationImpl.class);
        classDirectory.put("ACT_ROB", RequiredOperationBodyImpl.class);
        classDirectory.put("SPR_RS", RequiredSignalImpl.class);
        classDirectory.put("ACT_RSB", RequiredSignalBodyImpl.class);
        classDirectory.put("C_R", RequirementImpl.class);
        classDirectory.put("MSG_R", ReturnMessageImpl.class);
        classDirectory.put("ReturnSmt", ReturnSmtImpl.class);
        classDirectory.put("ACT_RET", ReturnStmtImpl.class);
        classDirectory.put("I_RCH", RuntimeChannelImpl.class);
        classDirectory.put("SM_SEVT", SEMEventImpl.class);
        classDirectory.put("SM_SM", SM_SMImpl.class);
        classDirectory.put("S_ENUM", S_ENUMImpl.class);
        classDirectory.put("S_SYNC", S_SYNCImpl.class);
        classDirectory.put("C_SF", SatisfactionImpl.class);
        classDirectory.put("PA_SIC", SatisfactionInComponentImpl.class);
        classDirectory.put("PE_SRS", SearchResultSetImpl.class);
        classDirectory.put("SelectExpr", SelectImpl.class);
        classDirectory.put("SelectFromInstances", SelectFromInstancesImpl.class);
        classDirectory.put("ACT_FIW", SelectFromInstancesWhereImpl.class);
        classDirectory.put("SelectRelated", SelectRelatedImpl.class);
        classDirectory.put("ACT_SR", SelectRelatedByImpl.class);
        classDirectory.put("ACT_SRW", SelectRelatedWhereImpl.class);
        classDirectory.put("SelectedExpr", SelectedImpl.class);
        classDirectory.put("V_SLR", SelectedReferenceImpl.class);
        classDirectory.put("Selector", SelectorImpl.class);
        classDirectory.put("I_SQE", SelfQueueEntryImpl.class);
        classDirectory.put("A_SS", SendSignalImpl.class);
        classDirectory.put("D_SIS", ServiceInSequenceImpl.class);
        classDirectory.put("SetSelector", SetSelectorImpl.class);
        classDirectory.put("SM_SGEVT", SignalEventImpl.class);
        classDirectory.put("ACT_SGN", SignalInvocationImpl.class);
        classDirectory.put("MSG_SIG", SignalMessageImpl.class);
        classDirectory.put("R_SIMP", SimpleAssociationImpl.class);
        classDirectory.put("SingleInstanceRef", SingleInstanceRefImpl.class);
        classDirectory.put("SingleReferrerAssoc", SingleReferrerAssocImpl.class);
        classDirectory.put("I_STACK", StackImpl.class);
        classDirectory.put("I_STF", StackFrameImpl.class);
        classDirectory.put("State", StateImpl.class);
        classDirectory.put("ACT_SAB", StateActionBodyImpl.class);
        classDirectory.put("SM_SEME", StateEventMatrixEntryImpl.class);
        classDirectory.put("StateMachine", StateMachineImpl.class);
        classDirectory.put("SM_EVT", StateMachineEventImpl.class);
        classDirectory.put("SM_EVTDI", StateMachineEventDataItemImpl.class);
        classDirectory.put("SM_STATE", StateMachineStateImpl.class);
        classDirectory.put("Transition", StateTransitionImpl.class);
        classDirectory.put("Statement", StatementImpl.class);
        classDirectory.put("Z_StringLoader", StringLoaderImpl.class);
        classDirectory.put("Z_StringSerializer", StringSerializerImpl.class);
        classDirectory.put("S_MBR", StructureMemberImpl.class);
        classDirectory.put("S_SDT", StructuredDataTypeImpl.class);
        classDirectory.put("R_SUBSUP", SubtypeSupertypeAssociationImpl.class);
        classDirectory.put("CNST_SYC", SymbolicConstantImpl.class);
        classDirectory.put("V_SCV", SymbolicConstantValueImpl.class);
        classDirectory.put("MSG_SM", SynchronousMessageImpl.class);
        classDirectory.put("S_SYS", SystemModelImpl.class);
        classDirectory.put("D_TERM", TerminatorImpl.class);
        classDirectory.put("D_TSVC", TerminatorServiceImpl.class);
        classDirectory.put("D_TSPARM", TerminatorServiceParameterImpl.class);
        classDirectory.put("D_TSS", TerminatorServiceSequenceImpl.class);
        classDirectory.put("SQ_TS", TimeSpanImpl.class);
        classDirectory.put("I_TIM", TimerImpl.class);
        classDirectory.put("TimerInstanceLoader", TimerInstanceLoaderImpl.class);
        classDirectory.put("TimerInstanceSerializer", TimerInstanceSerializerImpl.class);
        classDirectory.put("SQ_TM", TimingMarkImpl.class);
        classDirectory.put("V_TVL", TransientValueReferenceImpl.class);
        classDirectory.put("V_TRN", TransientVarImpl.class);
        classDirectory.put("SM_TXN", TransitionImpl.class);
        classDirectory.put("ACT_TAB", TransitionActionBodyImpl.class);
        classDirectory.put("SM_TAH", TransitionActionHomeImpl.class);
        classDirectory.put("TransitionTableCell", TransitionTableCellImpl.class);
        classDirectory.put("TransitionTableRow", TransitionTableRowImpl.class);
        classDirectory.put("Type", TypeImpl.class);
        classDirectory.put("TypeImport", TypeImportImpl.class);
        classDirectory.put("TypeImportReference", TypeImportReferenceImpl.class);
        classDirectory.put("TypeReference", TypeReferenceImpl.class);
        classDirectory.put("UnaryOperation", UnaryOperationImpl.class);
        classDirectory.put("UniqueIDSerializer", UniqueIDSerializerImpl.class);
        classDirectory.put("ACT_UNR", UnrelateImpl.class);
        classDirectory.put("UnrelateSmt", UnrelateSmtImpl.class);
        classDirectory.put("ACT_URU", UnrelateUsingImpl.class);
        classDirectory.put("UnresolvedType", UnresolvedTypeImpl.class);
        classDirectory.put("UC_UCA", UseCaseAssociationImpl.class);
        classDirectory.put("IA_UCP", UseCaseParticipantImpl.class);
        classDirectory.put("S_UDT", UserDataTypeImpl.class);
        classDirectory.put("UserDefinedType", UserDefinedTypeImpl.class);
        classDirectory.put("Utility", UtilityImpl.class);
        classDirectory.put("UtilityFunction", UtilityFunctionImpl.class);
        classDirectory.put("UtilityReference", UtilityReferenceImpl.class);
        classDirectory.put("V_AER", V_AERImpl.class);
        classDirectory.put("V_BIN", V_BINImpl.class);
        classDirectory.put("V_INS", V_INSImpl.class);
        classDirectory.put("V_PAR", V_PARImpl.class);
        classDirectory.put("V_UNY", V_UNYImpl.class);
        classDirectory.put("V_VAR", V_VARImpl.class);
        classDirectory.put("V_VAL", ValueImpl.class);
        classDirectory.put("I_VSF", ValueInStackFrameImpl.class);
        classDirectory.put("Variable", VariableImpl.class);
        classDirectory.put("VariableInScope", VariableInScopeImpl.class);
        classDirectory.put("V_LOC", VariableLocationImpl.class);
        classDirectory.put("VariableReference", VariableReferenceImpl.class);
        classDirectory.put("WhereExpr", WhereImpl.class);
        classDirectory.put("WhileSmt", WhileSmtImpl.class);
        classDirectory.put("ACT_WHL", WhileStmtImpl.class);
    }

    // domain functions
    public TypeReference TypeReference_getBuiltinTypeReference( final String p_name ) throws XtumlException {
        TypeReference type_ref = TypeReferenceImpl.EMPTY_TYPEREFERENCE;
        BuiltInType builtin_type = context().BuiltInType_instances().anyWhere(selected -> StringUtil.equality(((BuiltInType)selected).getName(), p_name));
        if ( !builtin_type.isEmpty() ) {
            type_ref = builtin_type.R407_is_a_Type().R3800_referred_to_by_TypeReference().R3801_is_a_BasicTypeReference().R3801_is_a_TypeReference().any();
            if ( type_ref.isEmpty() ) {
                Type type = builtin_type.R407_is_a_Type();
                type_ref = TypeReferenceImpl.create( context() );
                type_ref.setType_reference_name(type.getName());
                BasicTypeReference basic_type_ref = BasicTypeReferenceImpl.create( context() );
                context().relate_R3800_TypeReference_based_on_Type( type_ref, type );
                context().relate_R3801_BasicTypeReference_is_a_TypeReference( basic_type_ref, type_ref );
            }
        }
        return type_ref;
    }

    public TypeReference TypeReference_getInstanceWithDimString( final Type p_type,  final String p_dims ) throws XtumlException {
        Type type = p_type;
        String dims = p_dims;
        TypeReference type_ref = TypeReferenceImpl.EMPTY_TYPEREFERENCE;
        if ( !type.isEmpty() ) {
            if ( StringUtil.inequality("", dims) ) {
                ArrayTypeReference array_type_ref = type.R3800_referred_to_by_TypeReference().R3801_is_a_ArrayTypeReference().anyWhere(selected -> StringUtil.equality(((ArrayTypeReference)selected).getDims(), dims));
                type_ref = array_type_ref.R3801_is_a_TypeReference();
                if ( array_type_ref.isEmpty() ) {
                    type_ref = TypeReferenceImpl.create( context() );
                    type_ref.setType_reference_name(type.getName() + dims);
                    array_type_ref = ArrayTypeReferenceImpl.create( context() );
                    array_type_ref.setDims(dims);
                    context().relate_R3800_TypeReference_based_on_Type( type_ref, type );
                    context().relate_R3801_ArrayTypeReference_is_a_TypeReference( array_type_ref, type_ref );
                }
            }
            else {
                type_ref = type.R3800_referred_to_by_TypeReference().R3801_is_a_BasicTypeReference().R3801_is_a_TypeReference().any();
                if ( type_ref.isEmpty() ) {
                    type_ref = TypeReferenceImpl.create( context() );
                    type_ref.setType_reference_name(type.getName());
                    BasicTypeReference basic_type_ref = BasicTypeReferenceImpl.create( context() );
                    context().relate_R3800_TypeReference_based_on_Type( type_ref, type );
                    context().relate_R3801_BasicTypeReference_is_a_TypeReference( basic_type_ref, type_ref );
                }
            }
        }
        return type_ref;
    }

    public void addFileToImports( final File p_file,  final File p_file_to_import,  final ImportType p_type ) throws XtumlException {
        File file_to_import = p_file_to_import;
        String import_string = ( context().pathToPackage( file_to_import.getPath() ) + "." ) + file_to_import.getName();
        context().addStringToImports( p_file, import_string, p_type );
    }

    public void addStringToImports( final File p_file,  final String p_s,  final ImportType p_type ) throws XtumlException {
        File file = p_file;
        if ( StringUtil.inequality("", p_s) ) {
            TypeImportReference import_ref = file.R402_imports_type_via_TypeImportReference().anyWhere(selected -> StringUtil.equality(((TypeImportReference)selected).getFully_qualified_name(), p_s) && ((TypeImportReference)selected).getType().equality(p_type));
            if ( import_ref.isEmpty() ) {
                TypeImport type_import = new TypeImportImpl.CLASS(context()).get_import( p_s );
                import_ref = TypeImportReferenceImpl.create( context() );
                import_ref.setType(p_type);
                context().relate_R402_TypeImportReference_imports_type_via_TypeImport( import_ref, type_import );
                context().relate_R402_TypeImportReference_imports_type_into_context_of_File( import_ref, file );
            }
        }
    }

    public void addTypeToImports( final File p_file,  final Type p_type_to_import,  final ImportType p_type ) throws XtumlException {
        Type type_to_import = p_type_to_import;
        if ( !type_to_import.primitive() && StringUtil.inequality("", type_to_import.getPackage()) ) {
            context().addStringToImports( p_file, ( type_to_import.getPackage() + "." ) + type_to_import.getName(), p_type );
        }
    }

    public String camelCaseName( final String p_name,  final boolean p_start_lower ) throws XtumlException {
        String name = p_name;
        int underscore_index = context().STRING().indexof( name, "_" );
        while ( -1 != underscore_index ) {
            String left = context().STRING().substr( name, 0, underscore_index );
            String right = context().STRING().substr( name, underscore_index + 1, -1 );
            name = ( left + "  " ) + right;
            underscore_index = context().STRING().indexof( name, "_" );
        }
        name = context().T().sub( "c", name );
        int dblspc_index = context().STRING().indexof( name, "  " );
        while ( -1 != dblspc_index ) {
            String left = context().STRING().substr( name, 0, dblspc_index );
            String right = context().STRING().substr( name, dblspc_index + 1, -1 );
            name = ( left + "_" ) + right;
            dblspc_index = context().STRING().indexof( name, "  " );
        }
        if ( p_start_lower ) {
            String left = context().STRING().substr( name, 0, 1 );
            String right = context().STRING().substr( name, 1, -1 );
            name = context().T().sub( "l", left ) + right;
        }
        return context().T().sub( "r", name );
    }

    public void configure_features() throws XtumlException {
        MarkableElementType universal_markable = MarkableElementTypeImpl.create( context() );
        universal_markable.setName("*");
        MarkableElementType class_markable = MarkableElementTypeImpl.create( context() );
        class_markable.setName("Model Class");
        MarkableElementType attr_markable = MarkableElementTypeImpl.create( context() );
        attr_markable.setName("Attribute");
        MarkableElementType pkg_markable = MarkableElementTypeImpl.create( context() );
        pkg_markable.setName("Package");
        MarkableElementType comp_markable = MarkableElementTypeImpl.create( context() );
        comp_markable.setName("Component");
        Feature no_inst_ids = FeatureImpl.create( context() );
        no_inst_ids.setName("NoInstanceIdsForLoad");
        context().relate_R2822_MarkableElementType_makes_available_Feature( comp_markable, no_inst_ids );
        Feature non_persistent_ids = FeatureImpl.create( context() );
        non_persistent_ids.setName("NonPersistentInstanceIds");
        context().relate_R2822_MarkableElementType_makes_available_Feature( universal_markable, non_persistent_ids );
        Feature no_serialize = FeatureImpl.create( context() );
        no_serialize.setName("DoNotSerialize");
        context().relate_R2822_MarkableElementType_makes_available_Feature( pkg_markable, no_serialize );
        Feature non_persistent = FeatureImpl.create( context() );
        non_persistent.setName("NonPersistent");
        context().relate_R2822_MarkableElementType_makes_available_Feature( attr_markable, non_persistent );
        context().relate_R2822_MarkableElementType_makes_available_Feature( class_markable, non_persistent );
        Feature project_root = FeatureImpl.create( context() );
        project_root.setName("ProjectRoot");
        context().relate_R2822_MarkableElementType_makes_available_Feature( universal_markable, project_root );
        Feature root_package = FeatureImpl.create( context() );
        root_package.setName("RootPackage");
        context().relate_R2822_MarkableElementType_makes_available_Feature( universal_markable, root_package );
    }

    public String containerMarkingPath2( final PackageableElement p_pe ) throws XtumlException {
        PackageableElement pe = p_pe;
        String path = "";
        EP_PKG ep_pkg = pe.R8000_contained_by_EP_PKG();
        if ( !ep_pkg.isEmpty() ) {
            path = ep_pkg.getName();
        }
        else {
            C_C c_c = pe.R8003_contained_in_C_C();
            if ( !c_c.isEmpty() ) {
                path = c_c.getName();
            }
        }
        PackageableElement containing_pe = pe.R8000_contained_by_EP_PKG().R8001_is_a_PackageableElement();
        if ( containing_pe.isEmpty() ) {
            containing_pe = pe.R8003_contained_in_C_C().R8001_is_a_PackageableElement();
        }
        if ( !containing_pe.isEmpty() ) {
            String container_path = context().containerMarkingPath2( containing_pe );
            if ( StringUtil.inequality("", container_path) ) {
                return ( container_path + "::" ) + path;
            }
            else {
                return path;
            }
        }
        else {
            return path;
        }
    }

    public String formatPath( final String p_path ) throws XtumlException {
        String s = p_path;
        int dot_index = context().STRING().indexof( s, "." );
        while ( -1 != dot_index ) {
            String left = context().STRING().substr( s, 0, dot_index );
            String right = context().STRING().substr( s, dot_index + 1, -1 );
            s = ( left + "/" ) + right;
            dot_index = context().STRING().indexof( s, "." );
        }
        return s;
    }

    public File getFileForInvocable( final InvocableObject p_invocable ) throws XtumlException {
        InvocableObject invocable = p_invocable;
        File file = invocable.R427_is_a_Function().R405_can_execute_synchronously_within_ComponentDefinition().R401_is_a_File();
        if ( file.isEmpty() ) {
            file = invocable.R427_is_a_PortMessage().R420_is_implemented_within_Port().R401_is_a_File();
            if ( file.isEmpty() ) {
                file = invocable.R427_is_a_Operation().R416_provided_by_ModelInst().R401_is_a_File();
                if ( file.isEmpty() ) {
                    file = invocable.R427_is_a_AttributeDerivation().R441_calculates_value_for_AttributeAccessor().R4510_gets_and_sets_Attribute().R410_abstracts_data_for_ModelInst().R401_is_a_File();
                    if ( file.isEmpty() ) {
                        file = invocable.R427_is_a_UtilityFunction().R4559_provided_by_Utility().R401_is_a_File();
                        if ( file.isEmpty() ) {
                            file = invocable.R427_is_a_State().R4751_StateMachine().R401_is_a_File();
                            if ( file.isEmpty() ) {
                                file = invocable.R427_is_a_StateTransition().R4757_transitions_to_State().R4751_StateMachine().R401_is_a_File();
                            }
                        }
                    }
                }
            }
        }
        return file;
    }

    public File getFileForStatement( final Statement p_smt ) throws XtumlException {
        Statement smt = p_smt;
        InvocableObject invocable = smt.R450_is_contained_by_CodeBlock().R4000_is_invoked_in_InvocableObject();
        return context().getFileForInvocable( invocable );
    }

    public String getIndent( final int p_tab_depth ) throws XtumlException {
        Mark tab_width_mark = context().Mark_instances().anyWhere(selected -> ( StringUtil.equality(((Mark)selected).getMarkable_name(), "*") && StringUtil.equality(((Mark)selected).getPath(), "*") ) && StringUtil.equality(((Mark)selected).getFeature_name(), "TabWidth"));
        String indent = "";
        int default_tab_width = 4;
        int tab_width = 0;
        if ( !tab_width_mark.isEmpty() ) {
            tab_width = context().STRING().atoi( tab_width_mark.getValue() );
        }
        else {
            tab_width = default_tab_width;
        }
        int i = 0;
        while ( i < p_tab_depth ) {
            int j = 0;
            while ( j < tab_width ) {
                indent = indent + " ";
                j = j + 1;
            }
            i = i + 1;
        }
        return indent;
    }

    public String getNextBlockNumber( final CodeBlock p_upper_block ) throws XtumlException {
        CodeBlock upper_block = p_upper_block;
        CodeBlockSet then_blocks = upper_block.R450_is_scope_for_Statement().R451_is_a_IfSmt().R453_has_then_CodeBlock();
        CodeBlockSet else_blocks = upper_block.R450_is_scope_for_Statement().R451_is_a_IfSmt().R454_has_else_CodeBlock();
        CodeBlockSet while_blocks = upper_block.R450_is_scope_for_Statement().R451_is_a_WhileSmt().R456_has_control_CodeBlock();
        CodeBlockSet for_blocks = upper_block.R450_is_scope_for_Statement().R451_is_a_ForSmt().R455_has_control_CodeBlock();
        CodeBlockSet child_blocks = ((CodeBlockSet)( ((CodeBlockSet)( ((CodeBlockSet)then_blocks.union(else_blocks)) ).union(while_blocks)) ).union(for_blocks));
        String block_number = "0";
        int int_block_number = 0;
        if ( !child_blocks.isEmpty() ) {
            CodeBlock child_block;
            for ( Iterator _child_block_iter = child_blocks.elements().iterator(); _child_block_iter.hasNext(); ) {
                child_block = _child_block_iter.next();
                int child_block_number = context().STRING().atoi( context().STRING().substr( child_block.getBlock_number(), context().STRING().strlen( upper_block.getBlock_number() ) + 1, -1 ) );
                if ( child_block_number > int_block_number ) {
                    int_block_number = child_block_number;
                }
            }
            block_number = ( upper_block.getBlock_number() + "." ) + context().STRING().itoa( int_block_number + 1 );
        }
        else {
            block_number = upper_block.getBlock_number() + ".1";
        }
        return block_number;
    }

    public void init() throws XtumlException {
        context().CMD().register_value( "cwd", "root_dir", "base working directory", ".", false );
        context().CMD().register_value( "i", "input_file", "input file", "", false );
        context().CMD().register_value( "o", "output_file", "output file", "", false );
        context().CMD().register_value( "gendir", "gen_dir", "generated output directory", ".", false );
        context().CMD().read_command_line();
        context().configure_features();
        MarkableElementType universal_markable = context().MarkableElementType_instances().anyWhere(selected -> StringUtil.equality(((MarkableElementType)selected).getName(), "*"));
        Feature project_root_feature = universal_markable.R2822_makes_available_Feature().anyWhere(selected -> StringUtil.equality(((Feature)selected).getName(), "ProjectRoot"));
        Mark project_root = MarkImpl.create( context() );
        project_root.setPath("*");
        project_root.setValue(context().CMD().get_value( "cwd" ));
        context().relate_R2821_Mark_is_marked_by_Feature( project_root, project_root_feature );
        context().relate_R2821_Mark_marks_MarkableElementType( project_root, universal_markable );
        context().T().set_output_directory( ( project_root.getValue() + "/" ) + context().CMD().get_value( "gendir" ) );
        String input_file = context().CMD().get_value( "i" );
        if ( StringUtil.inequality("", input_file) ) {
            context().SQL().load_file( ( project_root.getValue() + "/" ) + input_file );
            context().load_marks();
            context().translate();
            String output_file = context().CMD().get_value( "o" );
            if ( StringUtil.inequality("", output_file) ) {
                context().SQL().serialize_file( ( project_root.getValue() + "/" ) + output_file );
            }
        }
        else {
            context().LOG().LogInfo( "No input file." );
        }
        getRunContext().execute( new HaltExecutionTask() );
    }

    public void load_marks() throws XtumlException {
        Mark project_root = context().Mark_instances().anyWhere(selected -> ( StringUtil.equality(((Mark)selected).getMarkable_name(), "*") && StringUtil.equality(((Mark)selected).getPath(), "*") ) && StringUtil.equality(((Mark)selected).getFeature_name(), "ProjectRoot"));
        if ( StringUtil.inequality("", project_root.getValue()) ) {
            int i = 0;
            String[] values = new String[7+1];
            values[7] = "";
            while ( i < 8 ) {
                values[i] = "                                                                                                                                                                                          ";
                i = i + 1;
            }
            context().LOG().LogInfo( "Loading marking data." );
            new MarkImpl.CLASS(context()).load( project_root.getValue() + "/gen/application.mark", values );
        }
        else {
            context().LOG().LogInfo( "No project root specified." );
        }
    }

    public String pathToPackage( final String p_path ) throws XtumlException {
        String s = p_path;
        int slash_index = context().STRING().indexof( s, "/" );
        while ( -1 != slash_index ) {
            String left = context().STRING().substr( s, 0, slash_index );
            String right = context().STRING().substr( s, slash_index + 1, -1 );
            s = ( left + "." ) + right;
            slash_index = context().STRING().indexof( s, "/" );
        }
        return s;
    }

    public void resolveTypeImports() throws XtumlException {
        TypeSet types = context().Type_instances();
        Type type;
        for ( Iterator _type_iter = types.elements().iterator(); _type_iter.hasNext(); ) {
            type = _type_iter.next();
            FileSet impl_files = new FileSetImpl();
            FileSet both_files = new FileSetImpl();
            FileSet files = type.R3800_referred_to_by_TypeReference().R424_defines_type_for_Attribute().R410_abstracts_data_for_ModelInst().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R424_defines_type_for_Attribute().R410_abstracts_data_for_ModelInst().R406_is_type_of_single_element_in_InstSet().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R431_defines_type_for_FormalParameter().R429_shapes_data_for_InvocableObject().R427_is_a_Function().R405_can_execute_synchronously_within_ComponentDefinition().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            OperationSet inst_ops = ((OperationSet)type.R3800_referred_to_by_TypeReference().R431_defines_type_for_FormalParameter().R429_shapes_data_for_InvocableObject().R427_is_a_Operation().where(selected -> !((Operation)selected).getIs_class_based()));
            files = inst_ops.R416_provided_by_ModelInst().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            OperationSet class_ops = ((OperationSet)type.R3800_referred_to_by_TypeReference().R431_defines_type_for_FormalParameter().R429_shapes_data_for_InvocableObject().R427_is_a_Operation().where(selected -> ((Operation)selected).getIs_class_based()));
            files = class_ops.R416_provided_by_ModelInst().R401_is_a_File();
            impl_files = ((FileSet)impl_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R431_defines_type_for_FormalParameter().R429_shapes_data_for_InvocableObject().R427_is_a_PortMessage().R420_provides_implementation_for_Message().R419_defines_message_format_for_Iface().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R431_defines_type_for_FormalParameter().R429_shapes_data_for_InvocableObject().R427_is_a_PortMessage().R420_is_implemented_within_Port().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R431_defines_type_for_FormalParameter().R429_shapes_data_for_InvocableObject().R427_is_a_UtilityFunction().R4559_provided_by_Utility().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R431_defines_type_for_FormalParameter().R429_shapes_data_for_InvocableObject().R427_is_a_Event().R4756_TransitionTableCell().R4757_transitions_to_StateTransition().R4757_transitions_to_State().R4751_StateMachine().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R431_defines_type_for_FormalParameter().R429_shapes_data_for_InvocableObject().R427_is_a_Event().R4752_StateMachine().R4750_models_behavior_of_ModelInst().R401_is_a_File();
            impl_files = ((FileSet)impl_files.union(files));
            inst_ops = ((OperationSet)type.R3800_referred_to_by_TypeReference().R428_defines_return_type_for_InvocableObject().R427_is_a_Operation().where(selected -> !((Operation)selected).getIs_class_based()));
            files = inst_ops.R416_provided_by_ModelInst().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            class_ops = ((OperationSet)type.R3800_referred_to_by_TypeReference().R428_defines_return_type_for_InvocableObject().R427_is_a_Operation().where(selected -> ((Operation)selected).getIs_class_based()));
            files = class_ops.R416_provided_by_ModelInst().R401_is_a_File();
            impl_files = ((FileSet)impl_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R428_defines_return_type_for_InvocableObject().R427_is_a_PortMessage().R420_provides_implementation_for_Message().R419_defines_message_format_for_Iface().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R428_defines_return_type_for_InvocableObject().R427_is_a_PortMessage().R420_is_implemented_within_Port().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R428_defines_return_type_for_InvocableObject().R427_is_a_UtilityFunction().R4559_provided_by_Utility().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R446_shapes_return_of_Selector().R445_is_a_InstanceSelector().R442_navigates_from_ModelInst().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            files = type.R3800_referred_to_by_TypeReference().R446_shapes_return_of_Selector().R445_is_a_SetSelector().R444_navigates_from_InstSet().R401_is_a_File();
            both_files = ((FileSet)both_files.union(files));
            File file;
            for ( Iterator _file_iter = impl_files.elements().iterator(); _file_iter.hasNext(); ) {
                file = _file_iter.next();
                type.addToImports( file, ImportType.IMPL );
            }
            for ( Iterator _file_iter = both_files.elements().iterator(); _file_iter.hasNext(); ) {
                file = _file_iter.next();
                type.addToImports( file, ImportType.BOTH );
            }
        }
    }

    public void transformAttributeComparison( final AttributeReference p_attr_ref,  final BatchRelator p_batch_relator,  final AttributeComparison p_prev_attr_comp ) throws XtumlException {
        AttributeReference attr_ref = p_attr_ref;
        BatchRelator batch_relator = p_batch_relator;
        AttributeComparison prev_attr_comp = p_prev_attr_comp;
        AttributeComparison attr_comp = AttributeComparisonImpl.create( context() );
        context().relate_R3012_AttributeComparison_evaluated_by_BatchRelator( attr_comp, batch_relator );
        attr_comp.setPart_attr_name(attr_ref.getReferred_to_attribute_name());
        if ( !prev_attr_comp.isEmpty() ) {
            context().relate_R3018_AttributeComparison_succeeds_AttributeComparison( attr_comp, prev_attr_comp );
        }
        AttributeAccessor form_accessor = attr_ref.R4506_provides_value_for_Attribute().R4510_value_accessed_through_AttributeAccessor().anyWhere(selected -> ((AttributeAccessor)selected).getAccessor_type().equality(AttributeAccessorType.GETTER));
        attr_comp.setForm_accessor(form_accessor.getName() + "()");
        AttributeAccessor part_accessor = attr_ref.R4506_has_value_provided_by_Attribute().R4510_value_accessed_through_AttributeAccessor().anyWhere(selected -> ((AttributeAccessor)selected).getAccessor_type().equality(AttributeAccessorType.GETTER));
        attr_comp.setPart_accessor(part_accessor.getName() + "()");
        TypeReference type_ref = attr_ref.R4506_has_value_provided_by_Attribute().R424_is_typed_by_TypeReference();
        Type type = type_ref.R3800_based_on_Type();
        attr_comp.setPrimitive(type.primitive());
        BasicTypeReference basic_ref = type_ref.R3801_is_a_BasicTypeReference();
        attr_comp.setIs_string(( !basic_ref.isEmpty() && StringUtil.equality("String", type.getName()) ) && StringUtil.equality("", type.getPackage()));
        if ( attr_comp.getIs_string() && 0 == batch_relator.getId_num() ) {
            File file = batch_relator.R3011_invoked_by_PopulationLoader().R3009_GeneralFile().R401_is_a_File();
            context().addStringToImports( file, "io.ciera.runtime.summit.types.StringUtil", ImportType.IMPL );
        }
    }

    public void transformAttributeLoader( final Attribute p_attr,  final InstanceLoader p_inst_loader,  final AttributeLoader p_prev_attr_loader,  final Mark p_non_persistent,  final int p_value_index ) throws XtumlException {
        Attribute attr = p_attr;
        InstanceLoader inst_loader = p_inst_loader;
        AttributeLoader prev_attr_loader = p_prev_attr_loader;
        Mark non_persistent = p_non_persistent;
        int value_index = p_value_index;
        File file = inst_loader.R3005_invoked_by_PopulationLoader().R3009_GeneralFile().R401_is_a_File();
        AttributeLoader attr_loader = AttributeLoaderImpl.create( context() );
        context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader, inst_loader );
        if ( prev_attr_loader.isEmpty() ) {
            attr_loader.setIndex(0);
        }
        else {
            context().relate_R3007_AttributeLoader_follows_AttributeLoader( attr_loader, prev_attr_loader );
            attr_loader.setIndex(prev_attr_loader.getIndex() + 1);
        }
        attr_loader.setAttr_name(attr.getName());
        attr_loader.setValue_index(value_index);
        if ( !non_persistent.isEmpty() ) {
            GeneralLoader general_loader = GeneralLoaderImpl.create( context() );
            context().relate_R3008_GeneralLoader_is_a_AttributeLoader( general_loader, attr_loader );
            Type type = attr.R424_is_typed_by_TypeReference().R3800_based_on_Type();
            context().relate_R3013_GeneralLoader_Type( general_loader, type );
            context().addTypeToImports( file, type, ImportType.IMPL );
            general_loader.setLoad_value(StringUtil.equality(non_persistent.getValue(), "load_only"));
        }
        else {
            Type type = attr.R424_is_typed_by_TypeReference().R3800_based_on_Type();
            BuiltInType builtin = type.R407_is_a_BuiltInType();
            if ( !builtin.isEmpty() ) {
                if ( StringUtil.equality("boolean", builtin.getName()) ) {
                    BooleanLoader boolean_loader = BooleanLoaderImpl.create( context() );
                    context().relate_R3008_BooleanLoader_is_a_AttributeLoader( boolean_loader, attr_loader );
                }
                else if ( StringUtil.equality("int", builtin.getName()) ) {
                    IntegerLoader int_loader = IntegerLoaderImpl.create( context() );
                    int_loader.setIs_long(false);
                    context().relate_R3008_IntegerLoader_is_a_AttributeLoader( int_loader, attr_loader );
                }
                else if ( StringUtil.equality("double", builtin.getName()) ) {
                    RealLoader real_loader = RealLoaderImpl.create( context() );
                    context().relate_R3008_RealLoader_is_a_AttributeLoader( real_loader, attr_loader );
                }
                else if ( StringUtil.equality("String", builtin.getName()) ) {
                    StringLoader string_loader = StringLoaderImpl.create( context() );
                    context().relate_R3008_StringLoader_is_a_AttributeLoader( string_loader, attr_loader );
                }
                else {
                    GeneralLoader general_loader = GeneralLoaderImpl.create( context() );
                    context().relate_R3008_GeneralLoader_is_a_AttributeLoader( general_loader, attr_loader );
                    context().relate_R3013_GeneralLoader_Type( general_loader, type );
                    context().addTypeToImports( file, type, ImportType.IMPL );
                    general_loader.setLoad_value(true);
                }
            }
            else {
                EnumeratedType edt = type.R407_is_a_EnumeratedType();
                if ( !edt.isEmpty() ) {
                    EnumeratorLoader enumerator_loader = EnumeratorLoaderImpl.create( context() );
                    context().relate_R3008_EnumeratorLoader_is_a_AttributeLoader( enumerator_loader, attr_loader );
                    context().relate_R3010_EnumeratorLoader_EnumeratedType( enumerator_loader, edt );
                    File edt_file = edt.R401_is_a_File();
                    context().addFileToImports( file, edt_file, ImportType.IMPL );
                }
                else {
                    UserDefinedType udt = type.R407_is_a_UserDefinedType();
                    if ( !udt.isEmpty() ) {
                        GeneralLoader general_loader = GeneralLoaderImpl.create( context() );
                        context().relate_R3008_GeneralLoader_is_a_AttributeLoader( general_loader, attr_loader );
                        context().relate_R3013_GeneralLoader_Type( general_loader, type );
                        context().addTypeToImports( file, type, ImportType.IMPL );
                        general_loader.setLoad_value(true);
                    }
                    else {
                    }
                }
            }
        }
    }

    public void transformAttributeSerializer( final Attribute p_attr,  final InstanceSerializer p_inst_serializer,  final AttributeSerializer p_prev_attr_serializer ) throws XtumlException {
        Attribute attr = p_attr;
        InstanceSerializer inst_serializer = p_inst_serializer;
        AttributeSerializer prev_attr_serializer = p_prev_attr_serializer;
        AttributeSerializer attr_serializer = AttributeSerializerImpl.create( context() );
        context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer, inst_serializer );
        attr_serializer.setAttr_name(attr.getName());
        attr_serializer.setCast("");
        if ( !prev_attr_serializer.isEmpty() ) {
            context().relate_R3003_AttributeSerializer_follows_AttributeSerializer( attr_serializer, prev_attr_serializer );
        }
        AttributeAccessor accessor = attr.R4510_value_accessed_through_AttributeAccessor().anyWhere(selected -> ((AttributeAccessor)selected).getAccessor_type().equality(AttributeAccessorType.GETTER));
        String accessor_name = accessor.getName() + "()";
        Type type = attr.R424_is_typed_by_TypeReference().R3800_based_on_Type();
        BuiltInType builtin = type.R407_is_a_BuiltInType();
        if ( !builtin.isEmpty() ) {
            if ( StringUtil.equality("boolean", builtin.getName()) ) {
                BooleanSerializer int_serializer = BooleanSerializerImpl.create( context() );
                context().relate_R3004_BooleanSerializer_is_a_AttributeSerializer( int_serializer, attr_serializer );
                int_serializer.setValue(accessor_name);
            }
            else if ( StringUtil.equality("int", builtin.getName()) ) {
                IntegerSerializer int_serializer = IntegerSerializerImpl.create( context() );
                context().relate_R3004_IntegerSerializer_is_a_AttributeSerializer( int_serializer, attr_serializer );
                int_serializer.setValue(accessor_name);
                int_serializer.setValue2("");
            }
            else if ( StringUtil.equality("double", builtin.getName()) ) {
                RealSerializer real_serializer = RealSerializerImpl.create( context() );
                context().relate_R3004_RealSerializer_is_a_AttributeSerializer( real_serializer, attr_serializer );
                real_serializer.setValue(accessor_name);
            }
            else if ( StringUtil.equality("String", builtin.getName()) ) {
                StringSerializer string_serializer = StringSerializerImpl.create( context() );
                context().relate_R3004_StringSerializer_is_a_AttributeSerializer( string_serializer, attr_serializer );
                string_serializer.setValue(accessor_name);
            }
            else if ( ( StringUtil.equality("UniqueId", builtin.getName()) || StringUtil.equality("EventHandle", builtin.getName()) ) || StringUtil.equality("TimerHandle", builtin.getName()) ) {
                UniqueIDSerializer uniqueid_serializer = UniqueIDSerializerImpl.create( context() );
                context().relate_R3004_UniqueIDSerializer_is_a_AttributeSerializer( uniqueid_serializer, attr_serializer );
                uniqueid_serializer.setValue(accessor_name);
            }
            else {
                GeneralSerializer general_serializer = GeneralSerializerImpl.create( context() );
                context().relate_R3004_GeneralSerializer_is_a_AttributeSerializer( general_serializer, attr_serializer );
                general_serializer.setValue(accessor_name);
                context().relate_R3014_GeneralSerializer_Type( general_serializer, type );
            }
        }
        else {
            EnumeratedType edt = type.R407_is_a_EnumeratedType();
            if ( !edt.isEmpty() ) {
                IntegerSerializer int_serializer = IntegerSerializerImpl.create( context() );
                context().relate_R3004_IntegerSerializer_is_a_AttributeSerializer( int_serializer, attr_serializer );
                int_serializer.setValue(accessor_name + ".getValue()");
                int_serializer.setValue2("");
            }
            else {
                UserDefinedType udt = type.R407_is_a_UserDefinedType();
                if ( !udt.isEmpty() ) {
                    GeneralSerializer general_serializer = GeneralSerializerImpl.create( context() );
                    context().relate_R3004_GeneralSerializer_is_a_AttributeSerializer( general_serializer, attr_serializer );
                    general_serializer.setValue(accessor_name);
                    context().relate_R3014_GeneralSerializer_Type( general_serializer, type );
                }
                else {
                }
            }
        }
    }

    public void transformBatchRelator( final ClassRelationship p_rel,  final PopulationLoader p_pop_loader ) throws XtumlException {
        ClassRelationship rel = p_rel;
        PopulationLoader pop_loader = p_pop_loader;
        BatchRelator batch_relator = BatchRelatorImpl.create( context() );
        context().relate_R3011_BatchRelator_invoked_by_PopulationLoader( batch_relator, pop_loader );
        batch_relator.setRel_name(rel.getName());
        batch_relator.setForm_name(rel.getForm_name());
        batch_relator.setPart_name(rel.getPart_name());
        batch_relator.setUnconditional(Cond.UNCONDITIONAL.equality(rel.getPart_cond()));
        batch_relator.setId_num(rel.getId_num());
        int index = 0;
        AttributeComparison prev_attr_comp = AttributeComparisonImpl.EMPTY_ATTRIBUTECOMPARISON;
        final int _final0_index = index;
        Attribute attribute = rel.R4511_provides_link_for_AttributeReference().R4506_has_value_provided_by_Attribute().R410_abstracts_data_for_ModelInst().R410_data_abstracted_by_Attribute().anyWhere(selected -> _final0_index == ((Attribute)selected).getOrder());
        AttributeReferenceSet attr_refs = rel.R4511_provides_link_for_AttributeReference();
        while ( !attribute.isEmpty() ) {
            AttributeReference attr_ref;
            for ( Iterator _attr_ref_iter = attr_refs.elements().iterator(); _attr_ref_iter.hasNext(); ) {
                attr_ref = _attr_ref_iter.next();
                Attribute attr = attr_ref.R4506_has_value_provided_by_Attribute();
                if ( ( StringUtil.equality(attribute.getClass_name(), attr.getClass_name()) && StringUtil.equality(attribute.getClass_package(), attr.getClass_package()) ) && StringUtil.equality(attribute.getName(), attr.getName()) ) {
                    context().transformAttributeComparison( attr_ref, batch_relator, prev_attr_comp );
                    if ( prev_attr_comp.isEmpty() ) {
                        prev_attr_comp = batch_relator.R3012_selects_participant_by_evaluating_AttributeComparison().any();
                    }
                    else {
                        prev_attr_comp = prev_attr_comp.R3018_precedes_AttributeComparison();
                    }
                    break;
                }
            }
            index = index + 1;
            final int _final1_index = index;
            attribute = rel.R4511_provides_link_for_AttributeReference().R4506_has_value_provided_by_Attribute().R410_abstracts_data_for_ModelInst().R410_data_abstracted_by_Attribute().anyWhere(selected -> _final1_index == ((Attribute)selected).getOrder());
        }
        File file = pop_loader.R3009_GeneralFile().R401_is_a_File();
        context().addStringToImports( file, "io.ciera.runtime.summit.classes.InstanceIdentifier", ImportType.IMPL );
    }

    public void transformClassInstanceLoaderSerializer( final ModelInst p_obj,  final PopulationLoader p_pop_loader ) throws XtumlException {
        ModelInst obj = p_obj;
        PopulationLoader pop_loader = p_pop_loader;
        PackageableElement pe = obj.R409_ModelClass().R8001_is_a_PackageableElement();
        File file = pop_loader.R3009_GeneralFile().R401_is_a_File();
        InstanceLoader inst_loader = InstanceLoaderImpl.create( context() );
        context().relate_R3005_InstanceLoader_invoked_by_PopulationLoader( inst_loader, pop_loader );
        inst_loader.setClass_name(obj.getName());
        ClassInstanceLoader class_inst_loader = ClassInstanceLoaderImpl.create( context() );
        class_inst_loader.setClass_package(obj.getPackage());
        class_inst_loader.setClass_key_letters(obj.getKey_letters());
        context().relate_R3016_ClassInstanceLoader_is_a_InstanceLoader( class_inst_loader, inst_loader );
        InstanceSerializer inst_serializer = InstanceSerializerImpl.EMPTY_INSTANCESERIALIZER;
        final PackageableElement _final0_pe = pe;
        Mark do_not_serialize_mark = context().Mark_instances().anyWhere(selected -> ( StringUtil.equality(((Mark)selected).getMarkable_name(), "Package") && StringUtil.equality(((Mark)selected).getPath(), context().containerMarkingPath2( _final0_pe )) ) && StringUtil.equality(((Mark)selected).getFeature_name(), "DoNotSerialize"));
        if ( do_not_serialize_mark.isEmpty() ) {
            inst_serializer = InstanceSerializerImpl.create( context() );
            context().relate_R3001_InstanceSerializer_invoked_by_PopulationLoader( inst_serializer, pop_loader );
            inst_serializer.setClass_name(obj.getName());
            ClassInstanceSerializer class_inst_serializer = ClassInstanceSerializerImpl.create( context() );
            class_inst_serializer.setClass_package(obj.getPackage());
            class_inst_serializer.setClass_key_letters(obj.getKey_letters());
            context().relate_R3015_ClassInstanceSerializer_is_a_InstanceSerializer( class_inst_serializer, inst_serializer );
        }
        Mark non_persistent_instance_ids_mark = context().Mark_instances().anyWhere(selected -> ( StringUtil.equality(((Mark)selected).getMarkable_name(), "*") && StringUtil.equality(((Mark)selected).getPath(), "*") ) && StringUtil.equality(((Mark)selected).getFeature_name(), "NonPersistentInstanceIds"));
        int index_diff = 0;
        int index = 0;
        int value_index = 0;
        AttributeLoader prev_attr_loader = AttributeLoaderImpl.EMPTY_ATTRIBUTELOADER;
        AttributeSerializer prev_attr_serializer = AttributeSerializerImpl.EMPTY_ATTRIBUTESERIALIZER;
        TypeReference unique_id_type_ref = context().TypeReference_getBuiltinTypeReference( "UniqueId" );
        Type unique_id_type = unique_id_type_ref.R3800_based_on_Type();
        if ( non_persistent_instance_ids_mark.isEmpty() ) {
            if ( !inst_serializer.isEmpty() ) {
                AttributeSerializer attr_serializer1 = AttributeSerializerImpl.create( context() );
                context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer1, inst_serializer );
                attr_serializer1.setAttr_name("instanceId");
                attr_serializer1.setCast("");
                UniqueIDSerializer uniqueid_serializer1 = UniqueIDSerializerImpl.create( context() );
                context().relate_R3004_UniqueIDSerializer_is_a_AttributeSerializer( uniqueid_serializer1, attr_serializer1 );
                uniqueid_serializer1.setValue("getInstanceId()");
                uniqueid_serializer1.setPrimary_key(true);
                prev_attr_serializer = attr_serializer1;
            }
            ComponentDefinition comp_def = context().ComponentDefinition_instances().anyWhere(selected -> StringUtil.equality(((ComponentDefinition)selected).getName(), pop_loader.getComp_name()));
            C_C c_c = comp_def.R4573_C_C();
            PackageableElement c_c_pe = c_c.R8001_is_a_PackageableElement();
            Mark no_instanceId_mark = context().Mark_instances().anyWhere(selected -> ( StringUtil.equality(((Mark)selected).getMarkable_name(), "Component") && StringUtil.equality(((Mark)selected).getPath(), ( context().containerMarkingPath2( c_c_pe ) + "::" ) + c_c.getName()) ) && StringUtil.equality(((Mark)selected).getFeature_name(), "NoInstanceIdsForLoad"));
            if ( no_instanceId_mark.isEmpty() ) {
                AttributeLoader attr_loader1 = AttributeLoaderImpl.create( context() );
                context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader1, inst_loader );
                attr_loader1.setAttr_name("instanceId");
                attr_loader1.setIndex(0);
                attr_loader1.setValue_index(0);
                GeneralLoader general_loader1 = GeneralLoaderImpl.create( context() );
                context().relate_R3008_GeneralLoader_is_a_AttributeLoader( general_loader1, attr_loader1 );
                context().relate_R3013_GeneralLoader_Type( general_loader1, unique_id_type );
                general_loader1.setLoad_value(true);
                prev_attr_loader = attr_loader1;
                index = 1;
                value_index = 1;
                index_diff = 1;
            }
        }
        final int _final0_index = index;
        final int _final0_index_diff = index_diff;
        Attribute attribute = obj.R410_data_abstracted_by_Attribute().anyWhere(selected -> _final0_index - _final0_index_diff == ((Attribute)selected).getOrder());
        while ( !attribute.isEmpty() ) {
            O_ATTR o_attr = attribute.R414_O_ATTR();
            ModelClass o_obj = o_attr.R102_abstracts_characteristics_of_ModelClass();
            pe = o_obj.R8001_is_a_PackageableElement();
            String marking_path = ( ( ( context().containerMarkingPath2( pe ) + "::" ) + o_obj.getName() ) + "::" ) + o_attr.getName();
            Mark non_persistent_mark = context().Mark_instances().anyWhere(selected -> ( StringUtil.equality(((Mark)selected).getMarkable_name(), "Attribute") && StringUtil.equality(((Mark)selected).getPath(), marking_path) ) && StringUtil.equality(((Mark)selected).getFeature_name(), "NonPersistent"));
            if ( non_persistent_mark.isEmpty() && !inst_serializer.isEmpty() ) {
                context().transformAttributeSerializer( attribute, inst_serializer, prev_attr_serializer );
                final Attribute _final0_attribute = attribute;
                prev_attr_serializer = inst_serializer.R3002_serializes_data_value_using_AttributeSerializer().anyWhere(selected -> StringUtil.equality(((AttributeSerializer)selected).getAttr_name(), _final0_attribute.getName()));
            }
            context().transformAttributeLoader( attribute, inst_loader, prev_attr_loader, non_persistent_mark, value_index );
            if ( non_persistent_mark.isEmpty() || StringUtil.equality(non_persistent_mark.getValue(), "load_only") ) {
                value_index = value_index + 1;
            }
            final int _final2_index = index;
            prev_attr_loader = inst_loader.R3006_loads_data_value_using_AttributeLoader().anyWhere(selected -> ((AttributeLoader)selected).getIndex() == _final2_index);
            index = index + 1;
            final int _final1_index_diff = index_diff;
            final int _final1_index = index;
            attribute = obj.R410_data_abstracted_by_Attribute().anyWhere(selected -> _final1_index - _final1_index_diff == ((Attribute)selected).getOrder());
        }
        StateMachine sm = obj.R4750_behavior_modeled_by_StateMachine();
        if ( !sm.isEmpty() ) {
            if ( !inst_serializer.isEmpty() ) {
                AttributeSerializer attr_serializer = AttributeSerializerImpl.create( context() );
                context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer, inst_serializer );
                attr_serializer.setAttr_name("currentState");
                attr_serializer.setCast("");
                if ( !prev_attr_serializer.isEmpty() ) {
                    context().relate_R3003_AttributeSerializer_follows_AttributeSerializer( attr_serializer, prev_attr_serializer );
                }
                String accessor_name = "getCurrentState()";
                IntegerSerializer int_serializer = IntegerSerializerImpl.create( context() );
                context().relate_R3004_IntegerSerializer_is_a_AttributeSerializer( int_serializer, attr_serializer );
                int_serializer.setValue(accessor_name);
                int_serializer.setValue2("");
            }
            AttributeLoader attr_loader = AttributeLoaderImpl.create( context() );
            context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader, inst_loader );
            attr_loader.setAttr_name("currentState");
            if ( !prev_attr_loader.isEmpty() ) {
                context().relate_R3007_AttributeLoader_follows_AttributeLoader( attr_loader, prev_attr_loader );
                attr_loader.setIndex(prev_attr_loader.getIndex() + 1);
            }
            attr_loader.setValue_index(value_index);
            IntegerLoader int_loader = IntegerLoaderImpl.create( context() );
            int_loader.setIs_long(false);
            context().relate_R3008_IntegerLoader_is_a_AttributeLoader( int_loader, attr_loader );
        }
        File class_file = obj.R401_is_a_File();
        context().addFileToImports( file, class_file, ImportType.IMPL );
        context().addTypeToImports( file, unique_id_type, ImportType.IMPL );
        context().addStringToImports( file, ( ( context().pathToPackage( class_file.getPath() ) + ".impl." ) + class_file.getName() ) + "Impl", ImportType.IMPL );
    }

    public void transformEventDataLoader( final FormalParameter p_parameter,  final InstanceLoader p_inst_loader,  final AttributeLoader p_prev_attr_loader ) throws XtumlException {
        FormalParameter parameter = p_parameter;
        InstanceLoader inst_loader = p_inst_loader;
        AttributeLoader prev_attr_loader = p_prev_attr_loader;
        File file = inst_loader.R3005_invoked_by_PopulationLoader().R3009_GeneralFile().R401_is_a_File();
        AttributeLoader attr_loader = AttributeLoaderImpl.create( context() );
        context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader, inst_loader );
        if ( prev_attr_loader.isEmpty() ) {
            attr_loader.setIndex(0);
        }
        else {
            context().relate_R3007_AttributeLoader_follows_AttributeLoader( attr_loader, prev_attr_loader );
            attr_loader.setIndex(prev_attr_loader.getIndex() + 1);
        }
        attr_loader.setAttr_name(parameter.getName());
        attr_loader.setValue_index(attr_loader.getIndex());
        Type type = parameter.R431_is_typed_by_TypeReference().R3800_based_on_Type();
        BuiltInType builtin = type.R407_is_a_BuiltInType();
        if ( !builtin.isEmpty() ) {
            if ( StringUtil.equality("boolean", builtin.getName()) ) {
                BooleanLoader boolean_loader = BooleanLoaderImpl.create( context() );
                context().relate_R3008_BooleanLoader_is_a_AttributeLoader( boolean_loader, attr_loader );
            }
            else if ( StringUtil.equality("int", builtin.getName()) ) {
                IntegerLoader int_loader = IntegerLoaderImpl.create( context() );
                int_loader.setIs_long(false);
                context().relate_R3008_IntegerLoader_is_a_AttributeLoader( int_loader, attr_loader );
            }
            else if ( StringUtil.equality("double", builtin.getName()) ) {
                RealLoader real_loader = RealLoaderImpl.create( context() );
                context().relate_R3008_RealLoader_is_a_AttributeLoader( real_loader, attr_loader );
            }
            else if ( StringUtil.equality("String", builtin.getName()) ) {
                StringLoader string_loader = StringLoaderImpl.create( context() );
                context().relate_R3008_StringLoader_is_a_AttributeLoader( string_loader, attr_loader );
            }
            else {
                GeneralLoader general_loader = GeneralLoaderImpl.create( context() );
                context().relate_R3008_GeneralLoader_is_a_AttributeLoader( general_loader, attr_loader );
                context().relate_R3013_GeneralLoader_Type( general_loader, type );
                context().addTypeToImports( file, type, ImportType.IMPL );
                general_loader.setLoad_value(true);
            }
        }
        else {
            EnumeratedType edt = type.R407_is_a_EnumeratedType();
            if ( !edt.isEmpty() ) {
                EnumeratorLoader enumerator_loader = EnumeratorLoaderImpl.create( context() );
                context().relate_R3008_EnumeratorLoader_is_a_AttributeLoader( enumerator_loader, attr_loader );
                context().relate_R3010_EnumeratorLoader_EnumeratedType( enumerator_loader, edt );
                File edt_file = edt.R401_is_a_File();
                context().addFileToImports( file, edt_file, ImportType.IMPL );
            }
            else {
                UserDefinedType udt = type.R407_is_a_UserDefinedType();
                if ( !udt.isEmpty() ) {
                    GeneralLoader general_loader = GeneralLoaderImpl.create( context() );
                    context().relate_R3008_GeneralLoader_is_a_AttributeLoader( general_loader, attr_loader );
                    context().relate_R3013_GeneralLoader_Type( general_loader, type );
                    context().addTypeToImports( file, type, ImportType.IMPL );
                    general_loader.setLoad_value(true);
                }
                else {
                }
            }
        }
    }

    public void transformEventDataSerializer( final FormalParameter p_parameter,  final InstanceSerializer p_inst_serializer,  final AttributeSerializer p_prev_attr_serializer ) throws XtumlException {
        FormalParameter parameter = p_parameter;
        InstanceSerializer inst_serializer = p_inst_serializer;
        AttributeSerializer prev_attr_serializer = p_prev_attr_serializer;
        AttributeSerializer attr_serializer = AttributeSerializerImpl.create( context() );
        context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer, inst_serializer );
        attr_serializer.setAttr_name(parameter.getName());
        attr_serializer.setCast("");
        if ( !prev_attr_serializer.isEmpty() ) {
            context().relate_R3003_AttributeSerializer_follows_AttributeSerializer( attr_serializer, prev_attr_serializer );
        }
        int index = -3;
        while ( !prev_attr_serializer.isEmpty() ) {
            index = index + 1;
            prev_attr_serializer = prev_attr_serializer.R3003_follows_AttributeSerializer();
        }
        String accessor_name = ( "get(" + context().STRING().itoa( index ) ) + ")";
        Type type = parameter.R431_is_typed_by_TypeReference().R3800_based_on_Type();
        BuiltInType builtin = type.R407_is_a_BuiltInType();
        if ( !builtin.isEmpty() ) {
            if ( StringUtil.equality("boolean", builtin.getName()) ) {
                BooleanSerializer int_serializer = BooleanSerializerImpl.create( context() );
                context().relate_R3004_BooleanSerializer_is_a_AttributeSerializer( int_serializer, attr_serializer );
                int_serializer.setValue(accessor_name);
            }
            else if ( StringUtil.equality("int", builtin.getName()) ) {
                IntegerSerializer int_serializer = IntegerSerializerImpl.create( context() );
                context().relate_R3004_IntegerSerializer_is_a_AttributeSerializer( int_serializer, attr_serializer );
                int_serializer.setValue(accessor_name);
                int_serializer.setValue2("");
            }
            else if ( StringUtil.equality("double", builtin.getName()) ) {
                RealSerializer real_serializer = RealSerializerImpl.create( context() );
                context().relate_R3004_RealSerializer_is_a_AttributeSerializer( real_serializer, attr_serializer );
                real_serializer.setValue(accessor_name);
            }
            else if ( StringUtil.equality("String", builtin.getName()) ) {
                StringSerializer string_serializer = StringSerializerImpl.create( context() );
                context().relate_R3004_StringSerializer_is_a_AttributeSerializer( string_serializer, attr_serializer );
                string_serializer.setValue(accessor_name);
            }
            else if ( ( StringUtil.equality("UniqueId", builtin.getName()) || StringUtil.equality("EventHandle", builtin.getName()) ) || StringUtil.equality("TimerHandle", builtin.getName()) ) {
                UniqueIDSerializer uniqueid_serializer = UniqueIDSerializerImpl.create( context() );
                context().relate_R3004_UniqueIDSerializer_is_a_AttributeSerializer( uniqueid_serializer, attr_serializer );
                uniqueid_serializer.setValue(accessor_name);
            }
            else {
                GeneralSerializer general_serializer = GeneralSerializerImpl.create( context() );
                context().relate_R3004_GeneralSerializer_is_a_AttributeSerializer( general_serializer, attr_serializer );
                general_serializer.setValue(accessor_name);
                attr_serializer.setCast(( "(" + type.getName() ) + ")");
                context().relate_R3014_GeneralSerializer_Type( general_serializer, type );
            }
        }
        else {
            EnumeratedType edt = type.R407_is_a_EnumeratedType();
            if ( !edt.isEmpty() ) {
                IntegerSerializer int_serializer = IntegerSerializerImpl.create( context() );
                context().relate_R3004_IntegerSerializer_is_a_AttributeSerializer( int_serializer, attr_serializer );
                int_serializer.setValue(accessor_name);
                int_serializer.setValue2("getValue()");
                attr_serializer.setCast(( "(" + type.getName() ) + ")");
            }
            else {
                UserDefinedType udt = type.R407_is_a_UserDefinedType();
                if ( !udt.isEmpty() ) {
                    GeneralSerializer general_serializer = GeneralSerializerImpl.create( context() );
                    context().relate_R3004_GeneralSerializer_is_a_AttributeSerializer( general_serializer, attr_serializer );
                    general_serializer.setValue(accessor_name);
                    attr_serializer.setCast(( "(" + type.getName() ) + ")");
                    context().relate_R3014_GeneralSerializer_Type( general_serializer, type );
                }
                else {
                }
            }
        }
    }

    public void transformEventInstanceLoaderSerializer( final Event p_evt,  final PopulationLoader p_pop_loader ) throws XtumlException {
        Event evt = p_evt;
        PopulationLoader pop_loader = p_pop_loader;
        ModelInst obj = evt.R4752_StateMachine().R4750_models_behavior_of_ModelInst();
        InstanceLoader inst_loader = InstanceLoaderImpl.create( context() );
        context().relate_R3005_InstanceLoader_invoked_by_PopulationLoader( inst_loader, pop_loader );
        inst_loader.setClass_name(( obj.getName() + "_" ) + evt.getName());
        EventInstanceLoader evt_inst_loader = EventInstanceLoaderImpl.create( context() );
        context().relate_R3016_EventInstanceLoader_is_a_InstanceLoader( evt_inst_loader, inst_loader );
        context().relate_R3017_EventInstanceLoader_ModelInst( evt_inst_loader, obj );
        InstanceSerializer inst_serializer = InstanceSerializerImpl.create( context() );
        context().relate_R3001_InstanceSerializer_invoked_by_PopulationLoader( inst_serializer, pop_loader );
        inst_serializer.setClass_name(( obj.getName() + "_" ) + evt.getName());
        EventInstanceSerializer evt_inst_serializer = EventInstanceSerializerImpl.create( context() );
        context().relate_R3015_EventInstanceSerializer_is_a_InstanceSerializer( evt_inst_serializer, inst_serializer );
        TypeReference event_handle_type_ref = context().TypeReference_getBuiltinTypeReference( "EventHandle" );
        Type event_handle_type = event_handle_type_ref.R3800_based_on_Type();
        AttributeSerializer attr_serializer1 = AttributeSerializerImpl.create( context() );
        context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer1, inst_serializer );
        attr_serializer1.setAttr_name("instanceId");
        attr_serializer1.setCast("");
        UniqueIDSerializer uniqueid_serializer1 = UniqueIDSerializerImpl.create( context() );
        context().relate_R3004_UniqueIDSerializer_is_a_AttributeSerializer( uniqueid_serializer1, attr_serializer1 );
        uniqueid_serializer1.setValue("getEventHandle()");
        uniqueid_serializer1.setPrimary_key(true);
        AttributeLoader attr_loader1 = AttributeLoaderImpl.create( context() );
        context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader1, inst_loader );
        attr_loader1.setAttr_name("instanceId");
        attr_loader1.setIndex(0);
        attr_loader1.setValue_index(0);
        GeneralLoader general_loader1 = GeneralLoaderImpl.create( context() );
        context().relate_R3008_GeneralLoader_is_a_AttributeLoader( general_loader1, attr_loader1 );
        context().relate_R3013_GeneralLoader_Type( general_loader1, event_handle_type );
        general_loader1.setLoad_value(true);
        AttributeSerializer attr_serializer2 = AttributeSerializerImpl.create( context() );
        context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer2, inst_serializer );
        attr_serializer2.setAttr_name("populationId");
        attr_serializer2.setCast("");
        context().relate_R3003_AttributeSerializer_follows_AttributeSerializer( attr_serializer2, attr_serializer1 );
        IntegerSerializer int_serializer2 = IntegerSerializerImpl.create( context() );
        context().relate_R3004_IntegerSerializer_is_a_AttributeSerializer( int_serializer2, attr_serializer2 );
        int_serializer2.setValue("getPopulationId()");
        AttributeLoader attr_loader2 = AttributeLoaderImpl.create( context() );
        context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader2, inst_loader );
        context().relate_R3007_AttributeLoader_follows_AttributeLoader( attr_loader2, attr_loader1 );
        attr_loader2.setAttr_name("populationId");
        attr_loader2.setIndex(attr_loader1.getIndex() + 1);
        attr_loader2.setValue_index(attr_loader1.getIndex() + 1);
        IntegerLoader int_loader2 = IntegerLoaderImpl.create( context() );
        int_loader2.setIs_long(false);
        context().relate_R3008_IntegerLoader_is_a_AttributeLoader( int_loader2, attr_loader2 );
        TypeReference unique_id_type_ref = context().TypeReference_getBuiltinTypeReference( "UniqueId" );
        Type unique_id_type = unique_id_type_ref.R3800_based_on_Type();
        AttributeSerializer attr_serializer3 = AttributeSerializerImpl.create( context() );
        context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer3, inst_serializer );
        attr_serializer3.setAttr_name("eventTarget");
        attr_serializer3.setCast("");
        context().relate_R3003_AttributeSerializer_follows_AttributeSerializer( attr_serializer3, attr_serializer2 );
        UniqueIDSerializer uniqueid_serializer3 = UniqueIDSerializerImpl.create( context() );
        context().relate_R3004_UniqueIDSerializer_is_a_AttributeSerializer( uniqueid_serializer3, attr_serializer3 );
        uniqueid_serializer3.setValue("getTarget().getInstanceId()");
        AttributeLoader attr_loader3 = AttributeLoaderImpl.create( context() );
        context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader3, inst_loader );
        context().relate_R3007_AttributeLoader_follows_AttributeLoader( attr_loader3, attr_loader2 );
        attr_loader3.setAttr_name("eventTarget");
        attr_loader3.setIndex(attr_loader2.getIndex() + 1);
        attr_loader3.setValue_index(attr_loader2.getIndex() + 1);
        GeneralLoader general_loader3 = GeneralLoaderImpl.create( context() );
        context().relate_R3008_GeneralLoader_is_a_AttributeLoader( general_loader3, attr_loader3 );
        context().relate_R3013_GeneralLoader_Type( general_loader3, unique_id_type );
        general_loader3.setLoad_value(true);
        int index = attr_loader3.getIndex() + 1;
        FormalParameter data_item = evt.R427_is_a_InvocableObject().R429_declares_signature_with_FormalParameter().any();
        FormalParameter prev_data_item = data_item.R404_follows_FormalParameter();
        while ( !prev_data_item.isEmpty() ) {
            data_item = prev_data_item;
            prev_data_item = data_item.R404_follows_FormalParameter();
        }
        AttributeLoader prev_attr_loader = attr_loader3;
        AttributeSerializer prev_attr_serializer = attr_serializer3;
        while ( !data_item.isEmpty() ) {
            context().transformEventDataSerializer( data_item, inst_serializer, prev_attr_serializer );
            final FormalParameter _final0_data_item = data_item;
            prev_attr_serializer = inst_serializer.R3002_serializes_data_value_using_AttributeSerializer().anyWhere(selected -> StringUtil.equality(((AttributeSerializer)selected).getAttr_name(), _final0_data_item.getName()));
            context().transformEventDataLoader( data_item, inst_loader, prev_attr_loader );
            final int _final0_index = index;
            prev_attr_loader = inst_loader.R3006_loads_data_value_using_AttributeLoader().anyWhere(selected -> ((AttributeLoader)selected).getIndex() == _final0_index);
            index = index + 1;
            data_item = data_item.R404_precedes_FormalParameter();
        }
        File file = pop_loader.R3009_GeneralFile().R401_is_a_File();
        context().addStringToImports( file, "io.ciera.runtime.summit.statemachine.IEvent", ImportType.IMPL );
    }

    public void transformLinkSerializer( final ClassRelationship p_rel,  final PopulationLoader p_pop_loader ) throws XtumlException {
        ClassRelationship relation = p_rel;
        PopulationLoader pop_loader = p_pop_loader;
        ModelInst formclass = relation.R435_has_formalizing_ModelInst();
        ModelInst partclass = relation.R434_has_participating_ModelInst();
        if ( relation.getRel_type().equality(RelationshipType.BINARY) ) {
            InstanceSelector iselector = relation.R4512_traversed_by_Selector().R445_is_a_InstanceSelector().anyWhere(selected -> ((InstanceSelector)selected).getFormalizer());
            Selector selector = iselector.R445_is_a_Selector();
            SingleReferrerAssoc sreferrer = new SingleReferrerAssocImpl.CLASS(context()).create( relation.getNum(), formclass.getName(), pop_loader );
            ReferredToClassProxy ref2 = new ReferredToClassProxyImpl.CLASS(context()).create( selector.getName(), partclass.getName(), relation.getName() );
            context().relate_R3030_ReferredToClassProxy_supplies_2nd_ID_code_for_SingleReferrerAssoc( ref2, sreferrer );
            if ( selector.getMultiplicity().equality(Mult.ONE) ) {
                SingleInstanceRef single = SingleInstanceRefImpl.create( context() );
                context().relate_R3028_SingleInstanceRef_is_a_ReferredToClassProxy( single, ref2 );
            }
            else {
                MultiInstanceRef multi = MultiInstanceRefImpl.create( context() );
                TypeReference set_typ = selector.R446_selects_instances_of_TypeReference();
                multi.setSet_type_name(set_typ.getType_name());
                context().relate_R3028_MultiInstanceRef_is_a_ReferredToClassProxy( multi, ref2 );
                File file = pop_loader.R3009_GeneralFile().R401_is_a_File();
                context().addStringToImports( file, ( set_typ.getType_package() + "." ) + set_typ.getType_name(), ImportType.INT );
                context().addStringToImports( file, ( ( set_typ.getType_package() + ".impl." ) + set_typ.getType_name() ) + "Impl", ImportType.IMPL );
            }
        }
        else if ( relation.getRel_type().equality(RelationshipType.ASSOCIATIVE) ) {
            ClassRelationship peer = relation.R436_is_one_half_of_associative_ClassRelationship();
            if ( !peer.isEmpty() ) {
                ModelInst otherpartclass = peer.R434_has_participating_ModelInst();
                if ( StringUtil.equality(otherpartclass.getName(), partclass.getName()) ) {
                    if ( StringUtil.lessThan(relation.getForm_phrase(), peer.getForm_phrase()) ) {
                        partclass = otherpartclass;
                        otherpartclass = relation.R434_has_participating_ModelInst();
                    }
                }
                InstanceSelector iselector = relation.R4512_traversed_by_Selector().R445_is_a_InstanceSelector().anyWhere(selected -> ((InstanceSelector)selected).getFormalizer());
                Selector selector = iselector.R445_is_a_Selector();
                SingleReferrerAssoc sreferrer = new SingleReferrerAssocImpl.CLASS(context()).create( relation.getNum(), formclass.getName(), pop_loader );
                ReferredToClassProxy ref2 = new ReferredToClassProxyImpl.CLASS(context()).create( selector.getName(), partclass.getName(), relation.getName() );
                context().relate_R3030_ReferredToClassProxy_supplies_2nd_ID_code_for_SingleReferrerAssoc( ref2, sreferrer );
                SingleInstanceRef single = SingleInstanceRefImpl.create( context() );
                context().relate_R3028_SingleInstanceRef_is_a_ReferredToClassProxy( single, ref2 );
                iselector = peer.R4512_traversed_by_Selector().R445_is_a_InstanceSelector().anyWhere(selected -> ((InstanceSelector)selected).getFormalizer());
                selector = iselector.R445_is_a_Selector();
                ReferredToClassProxy ref3 = new ReferredToClassProxyImpl.CLASS(context()).create( selector.getName(), otherpartclass.getName(), peer.getName() );
                context().relate_R3035_ReferredToClassProxy_supplies_3rd_ID_code_for_SingleReferrerAssoc( ref3, sreferrer );
                single = SingleInstanceRefImpl.create( context() );
                context().relate_R3028_SingleInstanceRef_is_a_ReferredToClassProxy( single, ref3 );
            }
        }
        else if ( relation.getRel_type().equality(RelationshipType.SUPERSUBTYPE) ) {
            AssociationSerializerLoader ss_asl = pop_loader.R3019_renders_association_serializer_loaders_with_AssociationSerializerLoader().anyWhere(selected -> ((AssociationSerializerLoader)selected).getRel_num() == relation.getNum());
            if ( ss_asl.isEmpty() ) {
                ss_asl = new AssociationSerializerLoaderImpl.CLASS(context()).create( relation.getNum(), pop_loader );
                MultipleReferrerAssoc mrefferer = MultipleReferrerAssocImpl.create( context() );
                mrefferer.setReferred_to_class_name(partclass.getName());
                context().relate_R3029_MultipleReferrerAssoc_is_a_AssociationSerializerLoader( mrefferer, ss_asl );
                ClassRelationshipSet relations = ((ClassRelationshipSet)context().ClassRelationship_instances().where(selected -> ((ClassRelationship)selected).getNum() == relation.getNum()));
                ClassRelationship srel;
                for ( Iterator _srel_iter = relations.elements().iterator(); _srel_iter.hasNext(); ) {
                    srel = _srel_iter.next();
                    formclass = srel.R435_has_formalizing_ModelInst();
                    InstanceSelector iselector = srel.R4512_traversed_by_Selector().R445_is_a_InstanceSelector().anyWhere(selected -> ((InstanceSelector)selected).getFormalizer());
                    Selector selector = iselector.R445_is_a_Selector();
                    ReferringClassProxy referrer = ReferringClassProxyImpl.create( context() );
                    context().relate_R3036_ReferringClassProxy_renders_code_for_both_IDs_using_MultipleReferrerAssoc( referrer, mrefferer );
                    referrer.setReferring_class_name(formclass.getName());
                    referrer.setReference_name(selector.getName());
                    referrer.setRel_name(srel.getName());
                }
                File file = pop_loader.R3009_GeneralFile().R401_is_a_File();
                context().addStringToImports( file, "io.ciera.runtime.summit.classes.ModelInstance", ImportType.IMPL );
            }
        }
    }

    public void transformSQLLoader( final ComponentDefinition p_comp_def ) throws XtumlException {
        ComponentDefinition comp_def = p_comp_def;
        File comp_def_file = comp_def.R401_is_a_File();
        File file = FileImpl.create( context() );
        file.setName(comp_def.getName() + "SqlLoader");
        file.setPath(comp_def_file.getPath());
        file.setPackage(context().pathToPackage( file.getPath() ));
        file.setExtension(".java");
        file.setExclude(false);
        GeneralFile general_file = GeneralFileImpl.create( context() );
        context().relate_R401_GeneralFile_is_a_File( general_file, file );
        PopulationLoader pop_loader = PopulationLoaderImpl.create( context() );
        context().relate_R3009_PopulationLoader_GeneralFile( pop_loader, general_file );
        pop_loader.setComp_name(comp_def.getName());
        ModelInstSet objs = comp_def.R408_maintains_instances_of_ModelInst();
        ModelInst obj;
        for ( Iterator _obj_iter = objs.elements().iterator(); _obj_iter.hasNext(); ) {
            obj = _obj_iter.next();
            ModelClass o_obj = obj.R409_ModelClass();
            PackageableElement pe = o_obj.R8001_is_a_PackageableElement();
            String marking_path = ( context().containerMarkingPath2( pe ) + "::" ) + o_obj.getName();
            Mark non_persistent_mark = context().Mark_instances().anyWhere(selected -> ( StringUtil.equality(((Mark)selected).getMarkable_name(), "Model Class") && StringUtil.equality(((Mark)selected).getPath(), marking_path) ) && StringUtil.equality(((Mark)selected).getFeature_name(), "NonPersistent"));
            if ( non_persistent_mark.isEmpty() ) {
                context().transformClassInstanceLoaderSerializer( obj, pop_loader );
            }
        }
        EventSet evts = objs.R4750_behavior_modeled_by_StateMachine().R4752_declares_Event();
        if ( !evts.isEmpty() ) {
            context().transformTimerLoaderSerializer( pop_loader );
            Event evt;
            for ( Iterator _evt_iter = evts.elements().iterator(); _evt_iter.hasNext(); ) {
                evt = _evt_iter.next();
                context().transformEventInstanceLoaderSerializer( evt, pop_loader );
            }
        }
        ClassRelationshipSet rels = comp_def.R448_maintains_instances_of_ClassRelationship();
        ClassRelationship rel;
        for ( Iterator _rel_iter = rels.elements().iterator(); _rel_iter.hasNext(); ) {
            rel = _rel_iter.next();
            ModelClass part_o_obj = rel.R434_has_participating_ModelInst().R409_ModelClass();
            PackageableElement part_pe = part_o_obj.R8001_is_a_PackageableElement();
            Mark part_non_persistent_mark = context().Mark_instances().anyWhere(selected -> ( StringUtil.equality(((Mark)selected).getMarkable_name(), "Model Class") && StringUtil.equality(((Mark)selected).getPath(), ( context().containerMarkingPath2( part_pe ) + "::" ) + part_o_obj.getName()) ) && StringUtil.equality(((Mark)selected).getFeature_name(), "NonPersistent"));
            ModelClass form_o_obj = rel.R435_has_formalizing_ModelInst().R409_ModelClass();
            PackageableElement form_pe = form_o_obj.R8001_is_a_PackageableElement();
            Mark form_non_persistent_mark = context().Mark_instances().anyWhere(selected -> ( StringUtil.equality(((Mark)selected).getMarkable_name(), "Model Class") && StringUtil.equality(((Mark)selected).getPath(), ( context().containerMarkingPath2( form_pe ) + "::" ) + form_o_obj.getName()) ) && StringUtil.equality(((Mark)selected).getFeature_name(), "NonPersistent"));
            if ( part_non_persistent_mark.isEmpty() && form_non_persistent_mark.isEmpty() ) {
                context().transformLinkSerializer( rel, pop_loader );
                context().transformBatchRelator( rel, pop_loader );
            }
        }
        context().addStringToImports( file, "io.ciera.runtime.instanceloading.sql.SqlLoader", ImportType.IMPL );
        context().addStringToImports( file, "io.ciera.runtime.summit.exceptions.XtumlException", ImportType.IMPL );
        context().addStringToImports( file, "io.ciera.runtime.summit.classes.IInstanceSet", ImportType.INT );
        context().addStringToImports( file, "java.io.PrintStream", ImportType.IMPL );
        context().addStringToImports( file, "java.util.List", ImportType.IMPL );
    }

    public void transformSQLLoaders() throws XtumlException {
        ComponentDefinitionSet comp_defs = context().ComponentDefinition_instances();
        ComponentDefinition comp_def;
        for ( Iterator _comp_def_iter = comp_defs.elements().iterator(); _comp_def_iter.hasNext(); ) {
            comp_def = _comp_def_iter.next();
            ModelInst obj = comp_def.R408_maintains_instances_of_ModelInst().any();
            if ( !obj.isEmpty() ) {
                context().transformSQLLoader( comp_def );
            }
        }
    }

    public void transformTimerLoaderSerializer( final PopulationLoader p_pop_loader ) throws XtumlException {
        PopulationLoader pop_loader = p_pop_loader;
        InstanceLoader inst_loader = InstanceLoaderImpl.create( context() );
        context().relate_R3005_InstanceLoader_invoked_by_PopulationLoader( inst_loader, pop_loader );
        inst_loader.setClass_name("CIERA_TIMER");
        TimerInstanceLoader timer_inst_loader = TimerInstanceLoaderImpl.create( context() );
        context().relate_R3016_TimerInstanceLoader_is_a_InstanceLoader( timer_inst_loader, inst_loader );
        InstanceSerializer inst_serializer = InstanceSerializerImpl.create( context() );
        context().relate_R3001_InstanceSerializer_invoked_by_PopulationLoader( inst_serializer, pop_loader );
        inst_serializer.setClass_name("CIERA_TIMER");
        TimerInstanceSerializer timer_inst_serializer = TimerInstanceSerializerImpl.create( context() );
        context().relate_R3015_TimerInstanceSerializer_is_a_InstanceSerializer( timer_inst_serializer, inst_serializer );
        TypeReference timer_handle_type_ref = context().TypeReference_getBuiltinTypeReference( "TimerHandle" );
        Type timer_handle_type = timer_handle_type_ref.R3800_based_on_Type();
        AttributeSerializer attr_serializer1 = AttributeSerializerImpl.create( context() );
        context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer1, inst_serializer );
        attr_serializer1.setAttr_name("instanceId");
        attr_serializer1.setCast("");
        UniqueIDSerializer uniqueid_serializer1 = UniqueIDSerializerImpl.create( context() );
        context().relate_R3004_UniqueIDSerializer_is_a_AttributeSerializer( uniqueid_serializer1, attr_serializer1 );
        uniqueid_serializer1.setValue("getId()");
        uniqueid_serializer1.setPrimary_key(true);
        AttributeLoader attr_loader1 = AttributeLoaderImpl.create( context() );
        context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader1, inst_loader );
        attr_loader1.setAttr_name("instanceId");
        attr_loader1.setIndex(0);
        attr_loader1.setValue_index(0);
        GeneralLoader general_loader1 = GeneralLoaderImpl.create( context() );
        context().relate_R3008_GeneralLoader_is_a_AttributeLoader( general_loader1, attr_loader1 );
        context().relate_R3013_GeneralLoader_Type( general_loader1, timer_handle_type );
        general_loader1.setLoad_value(true);
        AttributeSerializer attr_serializer2 = AttributeSerializerImpl.create( context() );
        context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer2, inst_serializer );
        attr_serializer2.setAttr_name("populationId");
        attr_serializer2.setCast("");
        context().relate_R3003_AttributeSerializer_follows_AttributeSerializer( attr_serializer2, attr_serializer1 );
        IntegerSerializer int_serializer2 = IntegerSerializerImpl.create( context() );
        context().relate_R3004_IntegerSerializer_is_a_AttributeSerializer( int_serializer2, attr_serializer2 );
        int_serializer2.setValue("getPopulationId()");
        AttributeLoader attr_loader2 = AttributeLoaderImpl.create( context() );
        context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader2, inst_loader );
        context().relate_R3007_AttributeLoader_follows_AttributeLoader( attr_loader2, attr_loader1 );
        attr_loader2.setAttr_name("populationId");
        attr_loader2.setIndex(attr_loader1.getIndex() + 1);
        attr_loader2.setValue_index(attr_loader1.getIndex() + 1);
        IntegerLoader int_loader2 = IntegerLoaderImpl.create( context() );
        int_loader2.setIs_long(false);
        context().relate_R3008_IntegerLoader_is_a_AttributeLoader( int_loader2, attr_loader2 );
        TypeReference event_handle_type_ref = context().TypeReference_getBuiltinTypeReference( "EventHandle" );
        Type event_handle_type = event_handle_type_ref.R3800_based_on_Type();
        AttributeSerializer attr_serializer3 = AttributeSerializerImpl.create( context() );
        context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer3, inst_serializer );
        attr_serializer3.setAttr_name("eventToGenerate");
        attr_serializer3.setCast("");
        context().relate_R3003_AttributeSerializer_follows_AttributeSerializer( attr_serializer3, attr_serializer2 );
        UniqueIDSerializer uniqueid_serializer3 = UniqueIDSerializerImpl.create( context() );
        context().relate_R3004_UniqueIDSerializer_is_a_AttributeSerializer( uniqueid_serializer3, attr_serializer3 );
        uniqueid_serializer3.setValue("getEventToGenerate()");
        AttributeLoader attr_loader3 = AttributeLoaderImpl.create( context() );
        context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader3, inst_loader );
        context().relate_R3007_AttributeLoader_follows_AttributeLoader( attr_loader3, attr_loader2 );
        attr_loader3.setAttr_name("eventToGenerate");
        attr_loader3.setIndex(attr_loader2.getIndex() + 1);
        attr_loader3.setValue_index(attr_loader2.getIndex() + 1);
        GeneralLoader general_loader3 = GeneralLoaderImpl.create( context() );
        context().relate_R3008_GeneralLoader_is_a_AttributeLoader( general_loader3, attr_loader3 );
        context().relate_R3013_GeneralLoader_Type( general_loader3, event_handle_type );
        general_loader3.setLoad_value(true);
        AttributeSerializer attr_serializer4 = AttributeSerializerImpl.create( context() );
        context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer4, inst_serializer );
        attr_serializer4.setAttr_name("wakeUpTime");
        attr_serializer4.setCast("");
        context().relate_R3003_AttributeSerializer_follows_AttributeSerializer( attr_serializer4, attr_serializer3 );
        IntegerSerializer int_serializer4 = IntegerSerializerImpl.create( context() );
        context().relate_R3004_IntegerSerializer_is_a_AttributeSerializer( int_serializer4, attr_serializer4 );
        int_serializer4.setValue("getWakeUpTime()");
        int_serializer4.setValue2("");
        AttributeLoader attr_loader4 = AttributeLoaderImpl.create( context() );
        context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader4, inst_loader );
        context().relate_R3007_AttributeLoader_follows_AttributeLoader( attr_loader4, attr_loader3 );
        attr_loader4.setAttr_name("wakeUpTime");
        attr_loader4.setIndex(attr_loader3.getIndex() + 1);
        attr_loader4.setValue_index(attr_loader3.getIndex() + 1);
        IntegerLoader int_loader4 = IntegerLoaderImpl.create( context() );
        int_loader4.setIs_long(true);
        context().relate_R3008_IntegerLoader_is_a_AttributeLoader( int_loader4, attr_loader4 );
        AttributeSerializer attr_serializer5 = AttributeSerializerImpl.create( context() );
        context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer5, inst_serializer );
        attr_serializer5.setAttr_name("period");
        attr_serializer5.setCast("");
        context().relate_R3003_AttributeSerializer_follows_AttributeSerializer( attr_serializer5, attr_serializer4 );
        IntegerSerializer int_serializer5 = IntegerSerializerImpl.create( context() );
        context().relate_R3004_IntegerSerializer_is_a_AttributeSerializer( int_serializer5, attr_serializer5 );
        int_serializer5.setValue("getPeriod()");
        int_serializer5.setValue2("");
        AttributeLoader attr_loader5 = AttributeLoaderImpl.create( context() );
        context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader5, inst_loader );
        context().relate_R3007_AttributeLoader_follows_AttributeLoader( attr_loader5, attr_loader4 );
        attr_loader5.setAttr_name("period");
        attr_loader5.setIndex(attr_loader4.getIndex() + 1);
        attr_loader5.setValue_index(attr_loader4.getIndex() + 1);
        IntegerLoader int_loader5 = IntegerLoaderImpl.create( context() );
        int_loader5.setIs_long(false);
        context().relate_R3008_IntegerLoader_is_a_AttributeLoader( int_loader5, attr_loader5 );
        AttributeSerializer attr_serializer6 = AttributeSerializerImpl.create( context() );
        context().relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( attr_serializer6, inst_serializer );
        attr_serializer6.setAttr_name("recurring");
        attr_serializer6.setCast("");
        context().relate_R3003_AttributeSerializer_follows_AttributeSerializer( attr_serializer6, attr_serializer5 );
        BooleanSerializer bool_serializer6 = BooleanSerializerImpl.create( context() );
        context().relate_R3004_BooleanSerializer_is_a_AttributeSerializer( bool_serializer6, attr_serializer6 );
        bool_serializer6.setValue("isRecurring()");
        AttributeLoader attr_loader6 = AttributeLoaderImpl.create( context() );
        context().relate_R3006_AttributeLoader_invoked_by_InstanceLoader( attr_loader6, inst_loader );
        context().relate_R3007_AttributeLoader_follows_AttributeLoader( attr_loader6, attr_loader5 );
        attr_loader6.setAttr_name("recurring");
        attr_loader6.setIndex(attr_loader5.getIndex() + 1);
        attr_loader6.setValue_index(attr_loader5.getIndex() + 1);
        BooleanLoader bool_loader6 = BooleanLoaderImpl.create( context() );
        context().relate_R3008_BooleanLoader_is_a_AttributeLoader( bool_loader6, attr_loader6 );
        File file = pop_loader.R3009_GeneralFile().R401_is_a_File();
        context().addStringToImports( file, "io.ciera.runtime.summit.statemachine.EventHandle", ImportType.IMPL );
        context().addStringToImports( file, "io.ciera.runtime.summit.time.Timer", ImportType.IMPL );
        context().addStringToImports( file, "io.ciera.runtime.summit.time.TimerHandle", ImportType.IMPL );
    }

    public void translate() throws XtumlException {
        long start_time = context().TIM().current_clock();
        context().LOG().LogInfo( "Translating in tool-sql..." );
        context().LOG().LogInfo( "  Translating application package..." );
        Mark root_package_mark = context().Mark_instances().anyWhere(selected -> ( StringUtil.equality(((Mark)selected).getMarkable_name(), "*") && StringUtil.equality(((Mark)selected).getPath(), "*") ) && StringUtil.equality(((Mark)selected).getFeature_name(), "RootPackage"));
        if ( !root_package_mark.isEmpty() ) {
            EP_PKG root_package = EP_PKGImpl.EMPTY_EP_PKG;
            SystemModelSet s_syss = context().SystemModel_instances();
            SystemModel s_sys;
            for ( Iterator _s_sys_iter = s_syss.elements().iterator(); _s_sys_iter.hasNext(); ) {
                s_sys = _s_sys_iter.next();
                final SystemModel _final0_s_sys = s_sys;
                root_package = _final0_s_sys.R1401_contains_EP_PKG().anyWhere(selected -> StringUtil.equality(root_package_mark.getValue(), ( _final0_s_sys.getName() + "::" ) + ((EP_PKG)selected).getName()));
                if ( !root_package.isEmpty() ) {
                    break;
                }
            }
            if ( !root_package.isEmpty() ) {
                context().transformSQLLoaders();
            }
            else {
                context().LOG().LogInfo( "No root package found" );
            }
        }
        else {
            context().LOG().LogInfo( "No root package specified" );
        }
        context().LOG().LogInfo( "  done." );
        context().LOG().LogTime( "  Elapsed time:", context().TIM().current_clock() - start_time );
        context().LOG().LogInfo( "  Rendering instance population loaders..." );
        PopulationLoaderSet pop_loaders = context().PopulationLoader_instances();
        PopulationLoader pop_loader;
        for ( Iterator _pop_loader_iter = pop_loaders.elements().iterator(); _pop_loader_iter.hasNext(); ) {
            pop_loader = _pop_loader_iter.next();
            context().LOG().LogInfo( ( ( "Rendering: " + pop_loader.getComp_name() ) + ": " ) + pop_loader.getName() );
            pop_loader.render();
        }
        context().LOG().LogInfo( "  done." );
        context().LOG().LogTime( "  Elapsed time:", context().TIM().current_clock() - start_time );
        context().LOG().LogInfo( "Done." );
        long elapsed_time = context().TIM().current_clock() - start_time;
        context().LOG().LogTime( "Elapsed time:", elapsed_time );
    }



    // relates and unrelates
    public void relate_R1000_MessageArgument_belongs_to_informal_MSG_M( MessageArgument form, MSG_M part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1000_MessageArgument_belongs_to_informal_MSG_M_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1000_has_an_informal_MessageArgument(form);
            form.setR1000_belongs_to_informal_MSG_M(part);
            form.setInformal_Msg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1000_MessageArgument_belongs_to_informal_MSG_M( MessageArgument form, MSG_M part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1000_MessageArgument_belongs_to_informal_MSG_M_extent.remove( R1000_MessageArgument_belongs_to_informal_MSG_M_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1000_has_an_informal_MessageArgument(form);
            form.setR1000_belongs_to_informal_MSG_M(MSG_MImpl.EMPTY_MSG_M);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1001_MessageArgument_belongs_to_formal_MSG_M( MessageArgument form, MSG_M part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1001_MessageArgument_belongs_to_formal_MSG_M_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1001_has_a_formal_MessageArgument(form);
            form.setR1001_belongs_to_formal_MSG_M(part);
            form.setFormal_Msg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1001_MessageArgument_belongs_to_formal_MSG_M( MessageArgument form, MSG_M part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1001_MessageArgument_belongs_to_formal_MSG_M_extent.remove( R1001_MessageArgument_belongs_to_formal_MSG_M_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1001_has_a_formal_MessageArgument(form);
            form.setR1001_belongs_to_formal_MSG_M(MSG_MImpl.EMPTY_MSG_M);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1007_MSG_M_has_destination_InteractionParticipant( MSG_M form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1007_MSG_M_has_destination_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1007_receives_MSG_M(form);
            form.setR1007_has_destination_InteractionParticipant(part);
            form.setSender_Part_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1007_MSG_M_has_destination_InteractionParticipant( MSG_M form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1007_MSG_M_has_destination_InteractionParticipant_extent.remove( R1007_MSG_M_has_destination_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1007_receives_MSG_M(form);
            form.setR1007_has_destination_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1008_MSG_M_has_source_InteractionParticipant( MSG_M form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1008_MSG_M_has_source_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1008_sends_MSG_M(form);
            form.setR1008_has_source_InteractionParticipant(part);
            form.setReceiver_Part_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1008_MSG_M_has_source_InteractionParticipant( MSG_M form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1008_MSG_M_has_source_InteractionParticipant_extent.remove( R1008_MSG_M_has_source_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1008_sends_MSG_M(form);
            form.setR1008_has_source_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1009_EventMessage_generates_StateMachineEvent( EventMessage form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1009_EventMessage_generates_StateMachineEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1009_is_generated_by_EventMessage(form);
            form.setR1009_generates_StateMachineEvent(part);
            form.setSMevt_ID( part.getSMevt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1009_EventMessage_generates_StateMachineEvent( EventMessage form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1009_EventMessage_generates_StateMachineEvent_extent.remove( R1009_EventMessage_generates_StateMachineEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1009_is_generated_by_EventMessage(form);
            form.setR1009_generates_StateMachineEvent(StateMachineEventImpl.EMPTY_STATEMACHINEEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1010_FunctionMessage_is_invocation_of_S_SYNC( FunctionMessage form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1010_FunctionMessage_is_invocation_of_S_SYNC_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1010_is_invoked_by_FunctionMessage(form);
            form.setR1010_is_invocation_of_S_SYNC(part);
            form.setSync_ID( part.getSync_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1010_FunctionMessage_is_invocation_of_S_SYNC( FunctionMessage form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1010_FunctionMessage_is_invocation_of_S_SYNC_extent.remove( R1010_FunctionMessage_is_invocation_of_S_SYNC_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1010_is_invoked_by_FunctionMessage(form);
            form.setR1010_is_invocation_of_S_SYNC(S_SYNCImpl.EMPTY_S_SYNC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1011_OperationMessage_is_invocation_of_O_TFR( OperationMessage form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1011_OperationMessage_is_invocation_of_O_TFR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1011_is_invoked_by_OperationMessage(form);
            form.setR1011_is_invocation_of_O_TFR(part);
            form.setTfr_ID( part.getTfr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1011_OperationMessage_is_invocation_of_O_TFR( OperationMessage form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1011_OperationMessage_is_invocation_of_O_TFR_extent.remove( R1011_OperationMessage_is_invocation_of_O_TFR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1011_is_invoked_by_OperationMessage(form);
            form.setR1011_is_invocation_of_O_TFR(O_TFRImpl.EMPTY_O_TFR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1012_BridgeMessage_is_invocation_of_Bridge( BridgeMessage form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1012_BridgeMessage_is_invocation_of_Bridge_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1012_is_invoked_by_BridgeMessage(form);
            form.setR1012_is_invocation_of_Bridge(part);
            form.setBrg_ID( part.getBrg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1012_BridgeMessage_is_invocation_of_Bridge( BridgeMessage form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1012_BridgeMessage_is_invocation_of_Bridge_extent.remove( R1012_BridgeMessage_is_invocation_of_Bridge_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1012_is_invoked_by_BridgeMessage(form);
            form.setR1012_is_invocation_of_Bridge(BridgeImpl.EMPTY_BRIDGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1013_BridgeArgument_is_a_MessageArgument( BridgeArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1013_BridgeArgument_is_a_MessageArgument_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_BridgeArgument(form);
            form.setR1013_is_a_MessageArgument(part);
            form.setArg_ID( part.getArg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1013_BridgeArgument_is_a_MessageArgument( BridgeArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1013_BridgeArgument_is_a_MessageArgument_extent.remove( R1013_BridgeArgument_is_a_MessageArgument_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_BridgeArgument(BridgeArgumentImpl.EMPTY_BRIDGEARGUMENT);
            form.setR1013_is_a_MessageArgument(MessageArgumentImpl.EMPTY_MESSAGEARGUMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1013_EventArgument_is_a_MessageArgument( EventArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1013_EventArgument_is_a_MessageArgument_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_EventArgument(form);
            form.setR1013_is_a_MessageArgument(part);
            form.setArg_ID( part.getArg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1013_EventArgument_is_a_MessageArgument( EventArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1013_EventArgument_is_a_MessageArgument_extent.remove( R1013_EventArgument_is_a_MessageArgument_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_EventArgument(EventArgumentImpl.EMPTY_EVENTARGUMENT);
            form.setR1013_is_a_MessageArgument(MessageArgumentImpl.EMPTY_MESSAGEARGUMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1013_ExecutablePropertyArgument_is_a_MessageArgument( ExecutablePropertyArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1013_ExecutablePropertyArgument_is_a_MessageArgument_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_ExecutablePropertyArgument(form);
            form.setR1013_is_a_MessageArgument(part);
            form.setArg_ID( part.getArg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1013_ExecutablePropertyArgument_is_a_MessageArgument( ExecutablePropertyArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1013_ExecutablePropertyArgument_is_a_MessageArgument_extent.remove( R1013_ExecutablePropertyArgument_is_a_MessageArgument_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_ExecutablePropertyArgument(ExecutablePropertyArgumentImpl.EMPTY_EXECUTABLEPROPERTYARGUMENT);
            form.setR1013_is_a_MessageArgument(MessageArgumentImpl.EMPTY_MESSAGEARGUMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1013_FunctionArgument_is_a_MessageArgument( FunctionArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1013_FunctionArgument_is_a_MessageArgument_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_FunctionArgument(form);
            form.setR1013_is_a_MessageArgument(part);
            form.setArg_ID( part.getArg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1013_FunctionArgument_is_a_MessageArgument( FunctionArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1013_FunctionArgument_is_a_MessageArgument_extent.remove( R1013_FunctionArgument_is_a_MessageArgument_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_FunctionArgument(FunctionArgumentImpl.EMPTY_FUNCTIONARGUMENT);
            form.setR1013_is_a_MessageArgument(MessageArgumentImpl.EMPTY_MESSAGEARGUMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1013_InformalArgument_is_a_MessageArgument( InformalArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1013_InformalArgument_is_a_MessageArgument_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_InformalArgument(form);
            form.setR1013_is_a_MessageArgument(part);
            form.setArg_ID( part.getArg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1013_InformalArgument_is_a_MessageArgument( InformalArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1013_InformalArgument_is_a_MessageArgument_extent.remove( R1013_InformalArgument_is_a_MessageArgument_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_InformalArgument(InformalArgumentImpl.EMPTY_INFORMALARGUMENT);
            form.setR1013_is_a_MessageArgument(MessageArgumentImpl.EMPTY_MESSAGEARGUMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1013_OperationArgument_is_a_MessageArgument( OperationArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1013_OperationArgument_is_a_MessageArgument_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_OperationArgument(form);
            form.setR1013_is_a_MessageArgument(part);
            form.setArg_ID( part.getArg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1013_OperationArgument_is_a_MessageArgument( OperationArgument form, MessageArgument part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1013_OperationArgument_is_a_MessageArgument_extent.remove( R1013_OperationArgument_is_a_MessageArgument_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1013_is_a_OperationArgument(OperationArgumentImpl.EMPTY_OPERATIONARGUMENT);
            form.setR1013_is_a_MessageArgument(MessageArgumentImpl.EMPTY_MESSAGEARGUMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1014_BridgeArgument_is_represented_by_BridgeParameter( BridgeArgument form, BridgeParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1014_BridgeArgument_is_represented_by_BridgeParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1014_represents_BridgeArgument(form);
            form.setR1014_is_represented_by_BridgeParameter(part);
            form.setBParm_ID( part.getBParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1014_BridgeArgument_is_represented_by_BridgeParameter( BridgeArgument form, BridgeParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1014_BridgeArgument_is_represented_by_BridgeParameter_extent.remove( R1014_BridgeArgument_is_represented_by_BridgeParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1014_represents_BridgeArgument(form);
            form.setR1014_is_represented_by_BridgeParameter(BridgeParameterImpl.EMPTY_BRIDGEPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1015_OperationArgument_is_represented_by_OperationParameter( OperationArgument form, OperationParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1015_OperationArgument_is_represented_by_OperationParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1015_represents_OperationArgument(form);
            form.setR1015_is_represented_by_OperationParameter(part);
            form.setTParm_ID( part.getTParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1015_OperationArgument_is_represented_by_OperationParameter( OperationArgument form, OperationParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1015_OperationArgument_is_represented_by_OperationParameter_extent.remove( R1015_OperationArgument_is_represented_by_OperationParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1015_represents_OperationArgument(form);
            form.setR1015_is_represented_by_OperationParameter(OperationParameterImpl.EMPTY_OPERATIONPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1016_FunctionArgument_is_represented_by_FunctionParameter( FunctionArgument form, FunctionParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1016_FunctionArgument_is_represented_by_FunctionParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1016_represents_FunctionArgument(form);
            form.setR1016_is_represented_by_FunctionParameter(part);
            form.setSParm_ID( part.getSParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1016_FunctionArgument_is_represented_by_FunctionParameter( FunctionArgument form, FunctionParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1016_FunctionArgument_is_represented_by_FunctionParameter_extent.remove( R1016_FunctionArgument_is_represented_by_FunctionParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1016_represents_FunctionArgument(form);
            form.setR1016_is_represented_by_FunctionParameter(FunctionParameterImpl.EMPTY_FUNCTIONPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1017_EventArgument_is_represented_by_StateMachineEventDataItem( EventArgument form, StateMachineEventDataItem part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1017_EventArgument_is_represented_by_StateMachineEventDataItem_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1017_represents_EventArgument(form);
            form.setR1017_is_represented_by_StateMachineEventDataItem(part);
            form.setSM_ID( part.getSM_ID() );
            form.setSMedi_ID( part.getSMedi_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1017_EventArgument_is_represented_by_StateMachineEventDataItem( EventArgument form, StateMachineEventDataItem part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1017_EventArgument_is_represented_by_StateMachineEventDataItem_extent.remove( R1017_EventArgument_is_represented_by_StateMachineEventDataItem_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1017_represents_EventArgument(form);
            form.setR1017_is_represented_by_StateMachineEventDataItem(StateMachineEventDataItemImpl.EMPTY_STATEMACHINEEVENTDATAITEM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1018_AsynchronousMessage_is_a_MSG_M( AsynchronousMessage form, MSG_M part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1018_AsynchronousMessage_is_a_MSG_M_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1018_is_a_AsynchronousMessage(form);
            form.setR1018_is_a_MSG_M(part);
            form.setMsg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1018_AsynchronousMessage_is_a_MSG_M( AsynchronousMessage form, MSG_M part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1018_AsynchronousMessage_is_a_MSG_M_extent.remove( R1018_AsynchronousMessage_is_a_MSG_M_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1018_is_a_AsynchronousMessage(AsynchronousMessageImpl.EMPTY_ASYNCHRONOUSMESSAGE);
            form.setR1018_is_a_MSG_M(MSG_MImpl.EMPTY_MSG_M);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1018_ReturnMessage_is_a_MSG_M( ReturnMessage form, MSG_M part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1018_ReturnMessage_is_a_MSG_M_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1018_is_a_ReturnMessage(form);
            form.setR1018_is_a_MSG_M(part);
            form.setMsg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1018_ReturnMessage_is_a_MSG_M( ReturnMessage form, MSG_M part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1018_ReturnMessage_is_a_MSG_M_extent.remove( R1018_ReturnMessage_is_a_MSG_M_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1018_is_a_ReturnMessage(ReturnMessageImpl.EMPTY_RETURNMESSAGE);
            form.setR1018_is_a_MSG_M(MSG_MImpl.EMPTY_MSG_M);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1018_SynchronousMessage_is_a_MSG_M( SynchronousMessage form, MSG_M part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1018_SynchronousMessage_is_a_MSG_M_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1018_is_a_SynchronousMessage(form);
            form.setR1018_is_a_MSG_M(part);
            form.setMsg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1018_SynchronousMessage_is_a_MSG_M( SynchronousMessage form, MSG_M part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1018_SynchronousMessage_is_a_MSG_M_extent.remove( R1018_SynchronousMessage_is_a_MSG_M_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1018_is_a_SynchronousMessage(SynchronousMessageImpl.EMPTY_SYNCHRONOUSMESSAGE);
            form.setR1018_is_a_MSG_M(MSG_MImpl.EMPTY_MSG_M);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1019_EventMessage_is_a_AsynchronousMessage( EventMessage form, AsynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1019_EventMessage_is_a_AsynchronousMessage_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1019_is_a_EventMessage(form);
            form.setR1019_is_a_AsynchronousMessage(part);
            form.setMsg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1019_EventMessage_is_a_AsynchronousMessage( EventMessage form, AsynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1019_EventMessage_is_a_AsynchronousMessage_extent.remove( R1019_EventMessage_is_a_AsynchronousMessage_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1019_is_a_EventMessage(EventMessageImpl.EMPTY_EVENTMESSAGE);
            form.setR1019_is_a_AsynchronousMessage(AsynchronousMessageImpl.EMPTY_ASYNCHRONOUSMESSAGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1019_InformalAsynchronousMessage_is_a_AsynchronousMessage( InformalAsynchronousMessage form, AsynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1019_InformalAsynchronousMessage_is_a_AsynchronousMessage_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1019_is_a_InformalAsynchronousMessage(form);
            form.setR1019_is_a_AsynchronousMessage(part);
            form.setMsg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1019_InformalAsynchronousMessage_is_a_AsynchronousMessage( InformalAsynchronousMessage form, AsynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1019_InformalAsynchronousMessage_is_a_AsynchronousMessage_extent.remove( R1019_InformalAsynchronousMessage_is_a_AsynchronousMessage_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1019_is_a_InformalAsynchronousMessage(InformalAsynchronousMessageImpl.EMPTY_INFORMALASYNCHRONOUSMESSAGE);
            form.setR1019_is_a_AsynchronousMessage(AsynchronousMessageImpl.EMPTY_ASYNCHRONOUSMESSAGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1019_SignalMessage_is_a_AsynchronousMessage( SignalMessage form, AsynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1019_SignalMessage_is_a_AsynchronousMessage_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1019_is_a_SignalMessage(form);
            form.setR1019_is_a_AsynchronousMessage(part);
            form.setMsg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1019_SignalMessage_is_a_AsynchronousMessage( SignalMessage form, AsynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1019_SignalMessage_is_a_AsynchronousMessage_extent.remove( R1019_SignalMessage_is_a_AsynchronousMessage_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1019_is_a_SignalMessage(SignalMessageImpl.EMPTY_SIGNALMESSAGE);
            form.setR1019_is_a_AsynchronousMessage(AsynchronousMessageImpl.EMPTY_ASYNCHRONOUSMESSAGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R101_ImportedClass_represents_ModelClass( ImportedClass form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R101_ImportedClass_represents_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR101_has_presence_in_other_subsystems_ImportedClass(form);
            form.setR101_represents_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R101_ImportedClass_represents_ModelClass( ImportedClass form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R101_ImportedClass_represents_ModelClass_extent.remove( R101_ImportedClass_represents_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR101_has_presence_in_other_subsystems_ImportedClass(form);
            form.setR101_represents_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1020_BridgeMessage_is_a_SynchronousMessage( BridgeMessage form, SynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1020_BridgeMessage_is_a_SynchronousMessage_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1020_is_a_BridgeMessage(form);
            form.setR1020_is_a_SynchronousMessage(part);
            form.setMsg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1020_BridgeMessage_is_a_SynchronousMessage( BridgeMessage form, SynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1020_BridgeMessage_is_a_SynchronousMessage_extent.remove( R1020_BridgeMessage_is_a_SynchronousMessage_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1020_is_a_BridgeMessage(BridgeMessageImpl.EMPTY_BRIDGEMESSAGE);
            form.setR1020_is_a_SynchronousMessage(SynchronousMessageImpl.EMPTY_SYNCHRONOUSMESSAGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1020_FunctionMessage_is_a_SynchronousMessage( FunctionMessage form, SynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1020_FunctionMessage_is_a_SynchronousMessage_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1020_is_a_FunctionMessage(form);
            form.setR1020_is_a_SynchronousMessage(part);
            form.setMsg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1020_FunctionMessage_is_a_SynchronousMessage( FunctionMessage form, SynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1020_FunctionMessage_is_a_SynchronousMessage_extent.remove( R1020_FunctionMessage_is_a_SynchronousMessage_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1020_is_a_FunctionMessage(FunctionMessageImpl.EMPTY_FUNCTIONMESSAGE);
            form.setR1020_is_a_SynchronousMessage(SynchronousMessageImpl.EMPTY_SYNCHRONOUSMESSAGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1020_InformalSynchronousMessage_is_a_SynchronousMessage( InformalSynchronousMessage form, SynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1020_InformalSynchronousMessage_is_a_SynchronousMessage_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1020_is_a_InformalSynchronousMessage(form);
            form.setR1020_is_a_SynchronousMessage(part);
            form.setMsg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1020_InformalSynchronousMessage_is_a_SynchronousMessage( InformalSynchronousMessage form, SynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1020_InformalSynchronousMessage_is_a_SynchronousMessage_extent.remove( R1020_InformalSynchronousMessage_is_a_SynchronousMessage_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1020_is_a_InformalSynchronousMessage(InformalSynchronousMessageImpl.EMPTY_INFORMALSYNCHRONOUSMESSAGE);
            form.setR1020_is_a_SynchronousMessage(SynchronousMessageImpl.EMPTY_SYNCHRONOUSMESSAGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1020_InterfaceOperationMessage_is_a_SynchronousMessage( InterfaceOperationMessage form, SynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1020_InterfaceOperationMessage_is_a_SynchronousMessage_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1020_is_a_InterfaceOperationMessage(form);
            form.setR1020_is_a_SynchronousMessage(part);
            form.setMsg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1020_InterfaceOperationMessage_is_a_SynchronousMessage( InterfaceOperationMessage form, SynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1020_InterfaceOperationMessage_is_a_SynchronousMessage_extent.remove( R1020_InterfaceOperationMessage_is_a_SynchronousMessage_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1020_is_a_InterfaceOperationMessage(InterfaceOperationMessageImpl.EMPTY_INTERFACEOPERATIONMESSAGE);
            form.setR1020_is_a_SynchronousMessage(SynchronousMessageImpl.EMPTY_SYNCHRONOUSMESSAGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1020_OperationMessage_is_a_SynchronousMessage( OperationMessage form, SynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1020_OperationMessage_is_a_SynchronousMessage_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1020_is_a_OperationMessage(form);
            form.setR1020_is_a_SynchronousMessage(part);
            form.setMsg_ID( part.getMsg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1020_OperationMessage_is_a_SynchronousMessage( OperationMessage form, SynchronousMessage part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1020_OperationMessage_is_a_SynchronousMessage_extent.remove( R1020_OperationMessage_is_a_SynchronousMessage_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1020_is_a_OperationMessage(OperationMessageImpl.EMPTY_OPERATIONMESSAGE);
            form.setR1020_is_a_SynchronousMessage(SynchronousMessageImpl.EMPTY_SYNCHRONOUSMESSAGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1021_SignalMessage_sends_InterfaceSignal( SignalMessage form, InterfaceSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1021_SignalMessage_sends_InterfaceSignal_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1021_sent_by_SignalMessage(form);
            form.setR1021_sends_InterfaceSignal(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1021_SignalMessage_sends_InterfaceSignal( SignalMessage form, InterfaceSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1021_SignalMessage_sends_InterfaceSignal_extent.remove( R1021_SignalMessage_sends_InterfaceSignal_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1021_sent_by_SignalMessage(form);
            form.setR1021_sends_InterfaceSignal(InterfaceSignalImpl.EMPTY_INTERFACESIGNAL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1022_InterfaceOperationMessage_sends_InterfaceOperation( InterfaceOperationMessage form, InterfaceOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1022_InterfaceOperationMessage_sends_InterfaceOperation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1022_sent_by_InterfaceOperationMessage(form);
            form.setR1022_sends_InterfaceOperation(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1022_InterfaceOperationMessage_sends_InterfaceOperation( InterfaceOperationMessage form, InterfaceOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1022_InterfaceOperationMessage_sends_InterfaceOperation_extent.remove( R1022_InterfaceOperationMessage_sends_InterfaceOperation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1022_sent_by_InterfaceOperationMessage(form);
            form.setR1022_sends_InterfaceOperation(InterfaceOperationImpl.EMPTY_INTERFACEOPERATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1023_ExecutablePropertyArgument_is_represented_by_PropertyParameter( ExecutablePropertyArgument form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1023_ExecutablePropertyArgument_is_represented_by_PropertyParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1023_represents_ExecutablePropertyArgument(form);
            form.setR1023_is_represented_by_PropertyParameter(part);
            form.setPP_Id( part.getPP_Id() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1023_ExecutablePropertyArgument_is_represented_by_PropertyParameter( ExecutablePropertyArgument form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1023_ExecutablePropertyArgument_is_represented_by_PropertyParameter_extent.remove( R1023_ExecutablePropertyArgument_is_represented_by_PropertyParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1023_represents_ExecutablePropertyArgument(form);
            form.setR1023_is_represented_by_PropertyParameter(PropertyParameterImpl.EMPTY_PROPERTYPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R102_O_ATTR_abstracts_characteristics_of_ModelClass( O_ATTR form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R102_O_ATTR_abstracts_characteristics_of_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR102_has_characteristics_abstracted_by_O_ATTR(form);
            form.setR102_abstracts_characteristics_of_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R102_O_ATTR_abstracts_characteristics_of_ModelClass( O_ATTR form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R102_O_ATTR_abstracts_characteristics_of_ModelClass_extent.remove( R102_O_ATTR_abstracts_characteristics_of_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR102_has_characteristics_abstracted_by_O_ATTR(form);
            form.setR102_abstracts_characteristics_of_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R103_O_ATTR_succeeds_O_ATTR( O_ATTR form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R103_O_ATTR_succeeds_O_ATTR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR103_precedes_O_ATTR(form);
            form.setR103_succeeds_O_ATTR(part);
            form.setPAttr_ID( part.getAttr_ID() );
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R103_O_ATTR_succeeds_O_ATTR( O_ATTR form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R103_O_ATTR_succeeds_O_ATTR_extent.remove( R103_O_ATTR_succeeds_O_ATTR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR103_precedes_O_ATTR(O_ATTRImpl.EMPTY_O_ATTR);
            form.setR103_succeeds_O_ATTR(O_ATTRImpl.EMPTY_O_ATTR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R104_ClassIdentifier_identifies_ModelClass( ClassIdentifier form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R104_ClassIdentifier_identifies_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR104_is_identified_by_ClassIdentifier(form);
            form.setR104_identifies_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R104_ClassIdentifier_identifies_ModelClass( ClassIdentifier form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R104_ClassIdentifier_identifies_ModelClass_extent.remove( R104_ClassIdentifier_identifies_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR104_is_identified_by_ClassIdentifier(form);
            form.setR104_identifies_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R105_ClassIdentifierAttribute_is_made_up_of__O_ATTR( ClassIdentifierAttribute form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R105_ClassIdentifierAttribute_is_made_up_of__O_ATTR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR105_is_part_of__ClassIdentifierAttribute(form);
            form.setR105_is_made_up_of__O_ATTR(part);
            form.setObj_ID( part.getObj_ID() );
            form.setAttr_ID( part.getAttr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R105_ClassIdentifierAttribute_is_made_up_of__O_ATTR( ClassIdentifierAttribute form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R105_ClassIdentifierAttribute_is_made_up_of__O_ATTR_extent.remove( R105_ClassIdentifierAttribute_is_made_up_of__O_ATTR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR105_is_part_of__ClassIdentifierAttribute(form);
            form.setR105_is_made_up_of__O_ATTR(O_ATTRImpl.EMPTY_O_ATTR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R105_ClassIdentifierAttribute_is_part_of__ClassIdentifier( ClassIdentifierAttribute form, ClassIdentifier part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R105_ClassIdentifierAttribute_is_part_of__ClassIdentifier_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR105_is_made_up_of__ClassIdentifierAttribute(form);
            form.setR105_is_part_of__ClassIdentifier(part);
            form.setObj_ID( part.getObj_ID() );
            form.setOid_ID( part.getOid_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R105_ClassIdentifierAttribute_is_part_of__ClassIdentifier( ClassIdentifierAttribute form, ClassIdentifier part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R105_ClassIdentifierAttribute_is_part_of__ClassIdentifier_extent.remove( R105_ClassIdentifierAttribute_is_part_of__ClassIdentifier_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR105_is_made_up_of__ClassIdentifierAttribute(form);
            form.setR105_is_part_of__ClassIdentifier(ClassIdentifierImpl.EMPTY_CLASSIDENTIFIER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R106_BaseAttribute_is_a_O_ATTR( BaseAttribute form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R106_BaseAttribute_is_a_O_ATTR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR106_is_a_BaseAttribute(form);
            form.setR106_is_a_O_ATTR(part);
            form.setObj_ID( part.getObj_ID() );
            form.setAttr_ID( part.getAttr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R106_BaseAttribute_is_a_O_ATTR( BaseAttribute form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R106_BaseAttribute_is_a_O_ATTR_extent.remove( R106_BaseAttribute_is_a_O_ATTR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR106_is_a_BaseAttribute(BaseAttributeImpl.EMPTY_BASEATTRIBUTE);
            form.setR106_is_a_O_ATTR(O_ATTRImpl.EMPTY_O_ATTR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R106_ReferentialAttribute_is_a_O_ATTR( ReferentialAttribute form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R106_ReferentialAttribute_is_a_O_ATTR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR106_is_a_ReferentialAttribute(form);
            form.setR106_is_a_O_ATTR(part);
            form.setObj_ID( part.getObj_ID() );
            form.setAttr_ID( part.getAttr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R106_ReferentialAttribute_is_a_O_ATTR( ReferentialAttribute form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R106_ReferentialAttribute_is_a_O_ATTR_extent.remove( R106_ReferentialAttribute_is_a_O_ATTR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR106_is_a_ReferentialAttribute(ReferentialAttributeImpl.EMPTY_REFERENTIALATTRIBUTE);
            form.setR106_is_a_O_ATTR(O_ATTRImpl.EMPTY_O_ATTR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R107_DerivedBaseAttribute_is_a_BaseAttribute( DerivedBaseAttribute form, BaseAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R107_DerivedBaseAttribute_is_a_BaseAttribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR107_is_a_DerivedBaseAttribute(form);
            form.setR107_is_a_BaseAttribute(part);
            form.setAttr_ID( part.getAttr_ID() );
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R107_DerivedBaseAttribute_is_a_BaseAttribute( DerivedBaseAttribute form, BaseAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R107_DerivedBaseAttribute_is_a_BaseAttribute_extent.remove( R107_DerivedBaseAttribute_is_a_BaseAttribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR107_is_a_DerivedBaseAttribute(DerivedBaseAttributeImpl.EMPTY_DERIVEDBASEATTRIBUTE);
            form.setR107_is_a_BaseAttribute(BaseAttributeImpl.EMPTY_BASEATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R107_NewBaseAttribute_is_a_BaseAttribute( NewBaseAttribute form, BaseAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R107_NewBaseAttribute_is_a_BaseAttribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR107_is_a_NewBaseAttribute(form);
            form.setR107_is_a_BaseAttribute(part);
            form.setAttr_ID( part.getAttr_ID() );
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R107_NewBaseAttribute_is_a_BaseAttribute( NewBaseAttribute form, BaseAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R107_NewBaseAttribute_is_a_BaseAttribute_extent.remove( R107_NewBaseAttribute_is_a_BaseAttribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR107_is_a_NewBaseAttribute(NewBaseAttributeImpl.EMPTY_NEWBASEATTRIBUTE);
            form.setR107_is_a_BaseAttribute(BaseAttributeImpl.EMPTY_BASEATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R108_AttributeReferenceInClass_is_resolved_by_ReferentialAttribute( AttributeReferenceInClass form, ReferentialAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R108_AttributeReferenceInClass_is_resolved_by_ReferentialAttribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR108_resolves__AttributeReferenceInClass(form);
            form.setR108_is_resolved_by_ReferentialAttribute(part);
            form.setAttr_ID( part.getAttr_ID() );
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R108_AttributeReferenceInClass_is_resolved_by_ReferentialAttribute( AttributeReferenceInClass form, ReferentialAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R108_AttributeReferenceInClass_is_resolved_by_ReferentialAttribute_extent.remove( R108_AttributeReferenceInClass_is_resolved_by_ReferentialAttribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR108_resolves__AttributeReferenceInClass(form);
            form.setR108_is_resolved_by_ReferentialAttribute(ReferentialAttributeImpl.EMPTY_REFERENTIALATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R109_ReferredToClassInAssoc_is_identified_in_this_association_by_ClassIdentifier( ReferredToClassInAssoc form, ClassIdentifier part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R109_ReferredToClassInAssoc_is_identified_in_this_association_by_ClassIdentifier_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR109_identifies_for_this_association__ReferredToClassInAssoc(form);
            form.setR109_is_identified_in_this_association_by_ClassIdentifier(part);
            form.setObj_ID( part.getObj_ID() );
            form.setOid_ID( part.getOid_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R109_ReferredToClassInAssoc_is_identified_in_this_association_by_ClassIdentifier( ReferredToClassInAssoc form, ClassIdentifier part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R109_ReferredToClassInAssoc_is_identified_in_this_association_by_ClassIdentifier_extent.remove( R109_ReferredToClassInAssoc_is_identified_in_this_association_by_ClassIdentifier_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR109_identifies_for_this_association__ReferredToClassInAssoc(form);
            form.setR109_is_identified_in_this_association_by_ClassIdentifier(ClassIdentifierImpl.EMPTY_CLASSIDENTIFIER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1103_ActivityEdge_target_ActivityNode( ActivityEdge form, ActivityNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1103_ActivityEdge_target_ActivityNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1103_incoming_ActivityEdge(form);
            form.setR1103_target_ActivityNode(part);
            form.setTargetId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1103_ActivityEdge_target_ActivityNode( ActivityEdge form, ActivityNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1103_ActivityEdge_target_ActivityNode_extent.remove( R1103_ActivityEdge_target_ActivityNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1103_incoming_ActivityEdge(form);
            form.setR1103_target_ActivityNode(ActivityNodeImpl.EMPTY_ACTIVITYNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1104_ActivityEdge_source_ActivityNode( ActivityEdge form, ActivityNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1104_ActivityEdge_source_ActivityNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1104_outgoing_ActivityEdge(form);
            form.setR1104_source_ActivityNode(part);
            form.setSourceId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1104_ActivityEdge_source_ActivityNode( ActivityEdge form, ActivityNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1104_ActivityEdge_source_ActivityNode_extent.remove( R1104_ActivityEdge_source_ActivityNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1104_outgoing_ActivityEdge(form);
            form.setR1104_source_ActivityNode(ActivityNodeImpl.EMPTY_ACTIVITYNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1105_ActionNode_is_a_ActivityNode( ActionNode form, ActivityNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1105_ActionNode_is_a_ActivityNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1105_is_a_ActionNode(form);
            form.setR1105_is_a_ActivityNode(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1105_ActionNode_is_a_ActivityNode( ActionNode form, ActivityNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1105_ActionNode_is_a_ActivityNode_extent.remove( R1105_ActionNode_is_a_ActivityNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1105_is_a_ActionNode(ActionNodeImpl.EMPTY_ACTIONNODE);
            form.setR1105_is_a_ActivityNode(ActivityNodeImpl.EMPTY_ACTIVITYNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1105_ControlNode_is_a_ActivityNode( ControlNode form, ActivityNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1105_ControlNode_is_a_ActivityNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1105_is_a_ControlNode(form);
            form.setR1105_is_a_ActivityNode(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1105_ControlNode_is_a_ActivityNode( ControlNode form, ActivityNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1105_ControlNode_is_a_ActivityNode_extent.remove( R1105_ControlNode_is_a_ActivityNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1105_is_a_ControlNode(ControlNodeImpl.EMPTY_CONTROLNODE);
            form.setR1105_is_a_ActivityNode(ActivityNodeImpl.EMPTY_ACTIVITYNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1105_ObjectNode_is_a_ActivityNode( ObjectNode form, ActivityNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1105_ObjectNode_is_a_ActivityNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1105_is_a_ObjectNode(form);
            form.setR1105_is_a_ActivityNode(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1105_ObjectNode_is_a_ActivityNode( ObjectNode form, ActivityNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1105_ObjectNode_is_a_ActivityNode_extent.remove( R1105_ObjectNode_is_a_ActivityNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1105_is_a_ObjectNode(ObjectNodeImpl.EMPTY_OBJECTNODE);
            form.setR1105_is_a_ActivityNode(ActivityNodeImpl.EMPTY_ACTIVITYNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1106_ActivityFinalNode_is_a_ControlNode( ActivityFinalNode form, ControlNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1106_ActivityFinalNode_is_a_ControlNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1106_is_a_ActivityFinalNode(form);
            form.setR1106_is_a_ControlNode(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1106_ActivityFinalNode_is_a_ControlNode( ActivityFinalNode form, ControlNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1106_ActivityFinalNode_is_a_ControlNode_extent.remove( R1106_ActivityFinalNode_is_a_ControlNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1106_is_a_ActivityFinalNode(ActivityFinalNodeImpl.EMPTY_ACTIVITYFINALNODE);
            form.setR1106_is_a_ControlNode(ControlNodeImpl.EMPTY_CONTROLNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1106_DecisionMergeNode_is_a_ControlNode( DecisionMergeNode form, ControlNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1106_DecisionMergeNode_is_a_ControlNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1106_is_a_DecisionMergeNode(form);
            form.setR1106_is_a_ControlNode(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1106_DecisionMergeNode_is_a_ControlNode( DecisionMergeNode form, ControlNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1106_DecisionMergeNode_is_a_ControlNode_extent.remove( R1106_DecisionMergeNode_is_a_ControlNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1106_is_a_DecisionMergeNode(DecisionMergeNodeImpl.EMPTY_DECISIONMERGENODE);
            form.setR1106_is_a_ControlNode(ControlNodeImpl.EMPTY_CONTROLNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1106_FlowFinalNode_is_a_ControlNode( FlowFinalNode form, ControlNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1106_FlowFinalNode_is_a_ControlNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1106_is_a_FlowFinalNode(form);
            form.setR1106_is_a_ControlNode(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1106_FlowFinalNode_is_a_ControlNode( FlowFinalNode form, ControlNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1106_FlowFinalNode_is_a_ControlNode_extent.remove( R1106_FlowFinalNode_is_a_ControlNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1106_is_a_FlowFinalNode(FlowFinalNodeImpl.EMPTY_FLOWFINALNODE);
            form.setR1106_is_a_ControlNode(ControlNodeImpl.EMPTY_CONTROLNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1106_ForkJoinNode_is_a_ControlNode( ForkJoinNode form, ControlNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1106_ForkJoinNode_is_a_ControlNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1106_is_a_ForkJoinNode(form);
            form.setR1106_is_a_ControlNode(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1106_ForkJoinNode_is_a_ControlNode( ForkJoinNode form, ControlNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1106_ForkJoinNode_is_a_ControlNode_extent.remove( R1106_ForkJoinNode_is_a_ControlNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1106_is_a_ForkJoinNode(ForkJoinNodeImpl.EMPTY_FORKJOINNODE);
            form.setR1106_is_a_ControlNode(ControlNodeImpl.EMPTY_CONTROLNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1106_InitialNode_is_a_ControlNode( InitialNode form, ControlNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1106_InitialNode_is_a_ControlNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1106_is_a_InitialNode(form);
            form.setR1106_is_a_ControlNode(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1106_InitialNode_is_a_ControlNode( InitialNode form, ControlNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1106_InitialNode_is_a_ControlNode_extent.remove( R1106_InitialNode_is_a_ControlNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1106_is_a_InitialNode(InitialNodeImpl.EMPTY_INITIALNODE);
            form.setR1106_is_a_ControlNode(ControlNodeImpl.EMPTY_CONTROLNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1107_AcceptEvent_is_a_ActionNode( AcceptEvent form, ActionNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1107_AcceptEvent_is_a_ActionNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1107_is_a_AcceptEvent(form);
            form.setR1107_is_a_ActionNode(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1107_AcceptEvent_is_a_ActionNode( AcceptEvent form, ActionNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1107_AcceptEvent_is_a_ActionNode_extent.remove( R1107_AcceptEvent_is_a_ActionNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1107_is_a_AcceptEvent(AcceptEventImpl.EMPTY_ACCEPTEVENT);
            form.setR1107_is_a_ActionNode(ActionNodeImpl.EMPTY_ACTIONNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1107_ActivityDiagramAction_is_a_ActionNode( ActivityDiagramAction form, ActionNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1107_ActivityDiagramAction_is_a_ActionNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1107_is_a_ActivityDiagramAction(form);
            form.setR1107_is_a_ActionNode(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1107_ActivityDiagramAction_is_a_ActionNode( ActivityDiagramAction form, ActionNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1107_ActivityDiagramAction_is_a_ActionNode_extent.remove( R1107_ActivityDiagramAction_is_a_ActionNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1107_is_a_ActivityDiagramAction(ActivityDiagramActionImpl.EMPTY_ACTIVITYDIAGRAMACTION);
            form.setR1107_is_a_ActionNode(ActionNodeImpl.EMPTY_ACTIONNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1107_SendSignal_is_a_ActionNode( SendSignal form, ActionNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1107_SendSignal_is_a_ActionNode_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1107_is_a_SendSignal(form);
            form.setR1107_is_a_ActionNode(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1107_SendSignal_is_a_ActionNode( SendSignal form, ActionNode part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1107_SendSignal_is_a_ActionNode_extent.remove( R1107_SendSignal_is_a_ActionNode_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1107_is_a_SendSignal(SendSignalImpl.EMPTY_SENDSIGNAL);
            form.setR1107_is_a_ActionNode(ActionNodeImpl.EMPTY_ACTIONNODE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R110_ReferredToIdentifierAttribute_identifies_for_this_association_ReferredToClassInAssoc( ReferredToIdentifierAttribute form, ReferredToClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R110_ReferredToIdentifierAttribute_identifies_for_this_association_ReferredToClassInAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR110_is_identified_in_this_association_by_ReferredToIdentifierAttribute(form);
            form.setR110_identifies_for_this_association_ReferredToClassInAssoc(part);
            form.setRel_ID( part.getRel_ID() );
            form.setObj_ID( part.getObj_ID() );
            form.setOIR_ID( part.getOIR_ID() );
            form.setOid_ID( part.getOid_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R110_ReferredToIdentifierAttribute_identifies_for_this_association_ReferredToClassInAssoc( ReferredToIdentifierAttribute form, ReferredToClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R110_ReferredToIdentifierAttribute_identifies_for_this_association_ReferredToClassInAssoc_extent.remove( R110_ReferredToIdentifierAttribute_identifies_for_this_association_ReferredToClassInAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR110_is_identified_in_this_association_by_ReferredToIdentifierAttribute(form);
            form.setR110_identifies_for_this_association_ReferredToClassInAssoc(ReferredToClassInAssocImpl.EMPTY_REFERREDTOCLASSINASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R110_ReferredToIdentifierAttribute_is_identified_in_this_association_by_ClassIdentifierAttribute( ReferredToIdentifierAttribute form, ClassIdentifierAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R110_ReferredToIdentifierAttribute_is_identified_in_this_association_by_ClassIdentifierAttribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR110_identifies_for_this_association_ReferredToIdentifierAttribute(form);
            form.setR110_is_identified_in_this_association_by_ClassIdentifierAttribute(part);
            form.setAttr_ID( part.getAttr_ID() );
            form.setObj_ID( part.getObj_ID() );
            form.setOid_ID( part.getOid_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R110_ReferredToIdentifierAttribute_is_identified_in_this_association_by_ClassIdentifierAttribute( ReferredToIdentifierAttribute form, ClassIdentifierAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R110_ReferredToIdentifierAttribute_is_identified_in_this_association_by_ClassIdentifierAttribute_extent.remove( R110_ReferredToIdentifierAttribute_is_identified_in_this_association_by_ClassIdentifierAttribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR110_identifies_for_this_association_ReferredToIdentifierAttribute(form);
            form.setR110_is_identified_in_this_association_by_ClassIdentifierAttribute(ClassIdentifierAttributeImpl.EMPTY_CLASSIDENTIFIERATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1112_AcceptEventAction_is_a_AcceptEvent( AcceptEventAction form, AcceptEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1112_AcceptEventAction_is_a_AcceptEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1112_is_a_AcceptEventAction(form);
            form.setR1112_is_a_AcceptEvent(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1112_AcceptEventAction_is_a_AcceptEvent( AcceptEventAction form, AcceptEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1112_AcceptEventAction_is_a_AcceptEvent_extent.remove( R1112_AcceptEventAction_is_a_AcceptEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1112_is_a_AcceptEventAction(AcceptEventActionImpl.EMPTY_ACCEPTEVENTACTION);
            form.setR1112_is_a_AcceptEvent(AcceptEventImpl.EMPTY_ACCEPTEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1112_AcceptTimeEventAction_is_a_AcceptEvent( AcceptTimeEventAction form, AcceptEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1112_AcceptTimeEventAction_is_a_AcceptEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1112_is_a_AcceptTimeEventAction(form);
            form.setR1112_is_a_AcceptEvent(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1112_AcceptTimeEventAction_is_a_AcceptEvent( AcceptTimeEventAction form, AcceptEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1112_AcceptTimeEventAction_is_a_AcceptEvent_extent.remove( R1112_AcceptTimeEventAction_is_a_AcceptEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1112_is_a_AcceptTimeEventAction(AcceptTimeEventActionImpl.EMPTY_ACCEPTTIMEEVENTACTION);
            form.setR1112_is_a_AcceptEvent(AcceptEventImpl.EMPTY_ACCEPTEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R111_AttributeReferenceInClass_is_used_to_refer_class_by_ReferringClassInAssoc( AttributeReferenceInClass form, ReferringClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R111_AttributeReferenceInClass_is_used_to_refer_class_by_ReferringClassInAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR111_refers_across_association_via_AttributeReferenceInClass(form);
            form.setR111_is_used_to_refer_class_by_ReferringClassInAssoc(part);
            form.setObj_ID( part.getObj_ID() );
            form.setOIR_ID( part.getOIR_ID() );
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R111_AttributeReferenceInClass_is_used_to_refer_class_by_ReferringClassInAssoc( AttributeReferenceInClass form, ReferringClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R111_AttributeReferenceInClass_is_used_to_refer_class_by_ReferringClassInAssoc_extent.remove( R111_AttributeReferenceInClass_is_used_to_refer_class_by_ReferringClassInAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR111_refers_across_association_via_AttributeReferenceInClass(form);
            form.setR111_is_used_to_refer_class_by_ReferringClassInAssoc(ReferringClassInAssocImpl.EMPTY_REFERRINGCLASSINASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R111_AttributeReferenceInClass_refers_across_association_via_ReferredToIdentifierAttribute( AttributeReferenceInClass form, ReferredToIdentifierAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R111_AttributeReferenceInClass_refers_across_association_via_ReferredToIdentifierAttribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR111_is_used_to_refer_class_by_AttributeReferenceInClass(form);
            form.setR111_refers_across_association_via_ReferredToIdentifierAttribute(part);
            form.setROid_ID( part.getOid_ID() );
            form.setROIR_ID( part.getOIR_ID() );
            form.setRObj_ID( part.getObj_ID() );
            form.setRel_ID( part.getRel_ID() );
            form.setRAttr_ID( part.getAttr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R111_AttributeReferenceInClass_refers_across_association_via_ReferredToIdentifierAttribute( AttributeReferenceInClass form, ReferredToIdentifierAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R111_AttributeReferenceInClass_refers_across_association_via_ReferredToIdentifierAttribute_extent.remove( R111_AttributeReferenceInClass_refers_across_association_via_ReferredToIdentifierAttribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR111_is_used_to_refer_class_by_AttributeReferenceInClass(form);
            form.setR111_refers_across_association_via_ReferredToIdentifierAttribute(ReferredToIdentifierAttributeImpl.EMPTY_REFERREDTOIDENTIFIERATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1128_CommunicationLink_may_be_formalized_against_Association( CommunicationLink form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1128_CommunicationLink_may_be_formalized_against_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1128_represents_formal_instance_CommunicationLink(form);
            form.setR1128_may_be_formalized_against_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1128_CommunicationLink_may_be_formalized_against_Association( CommunicationLink form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1128_CommunicationLink_may_be_formalized_against_Association_extent.remove( R1128_CommunicationLink_may_be_formalized_against_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1128_represents_formal_instance_CommunicationLink(form);
            form.setR1128_may_be_formalized_against_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R112_AttributeReferenceInClass_succeeds_AttributeReferenceInClass( AttributeReferenceInClass form, AttributeReferenceInClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R112_AttributeReferenceInClass_succeeds_AttributeReferenceInClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR112_precedes_AttributeReferenceInClass(form);
            form.setR112_succeeds_AttributeReferenceInClass(part);
            form.setPARef_ID( part.getARef_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R112_AttributeReferenceInClass_succeeds_AttributeReferenceInClass( AttributeReferenceInClass form, AttributeReferenceInClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R112_AttributeReferenceInClass_succeeds_AttributeReferenceInClass_extent.remove( R112_AttributeReferenceInClass_succeeds_AttributeReferenceInClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR112_precedes_AttributeReferenceInClass(AttributeReferenceInClassImpl.EMPTY_ATTRIBUTEREFERENCEINCLASS);
            form.setR112_succeeds_AttributeReferenceInClass(AttributeReferenceInClassImpl.EMPTY_ATTRIBUTEREFERENCEINCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1133_CommunicationLink_starts_at_InteractionParticipant( CommunicationLink form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1133_CommunicationLink_starts_at_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1133_is_start_point_CommunicationLink(form);
            form.setR1133_starts_at_InteractionParticipant(part);
            form.setStart_Part_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1133_CommunicationLink_starts_at_InteractionParticipant( CommunicationLink form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1133_CommunicationLink_starts_at_InteractionParticipant_extent.remove( R1133_CommunicationLink_starts_at_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1133_is_start_point_CommunicationLink(form);
            form.setR1133_starts_at_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1134_CommunicationLink_is_destined_for_InteractionParticipant( CommunicationLink form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1134_CommunicationLink_is_destined_for_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1134_is_destination_CommunicationLink(form);
            form.setR1134_is_destined_for_InteractionParticipant(part);
            form.setDestination_Part_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1134_CommunicationLink_is_destined_for_InteractionParticipant( CommunicationLink form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1134_CommunicationLink_is_destined_for_InteractionParticipant_extent.remove( R1134_CommunicationLink_is_destined_for_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1134_is_destination_CommunicationLink(form);
            form.setR1134_is_destined_for_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R113_ReferentialAttribute_navigates_back_to_BaseAttribute( ReferentialAttribute form, BaseAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R113_ReferentialAttribute_navigates_back_to_BaseAttribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR113_can_be_the_base_of_ReferentialAttribute(form);
            form.setR113_navigates_back_to_BaseAttribute(part);
            form.setBAttr_ID( part.getAttr_ID() );
            form.setBObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R113_ReferentialAttribute_navigates_back_to_BaseAttribute( ReferentialAttribute form, BaseAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R113_ReferentialAttribute_navigates_back_to_BaseAttribute_extent.remove( R113_ReferentialAttribute_navigates_back_to_BaseAttribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR113_can_be_the_base_of_ReferentialAttribute(form);
            form.setR113_navigates_back_to_BaseAttribute(BaseAttributeImpl.EMPTY_BASEATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R114_O_ATTR_defines_type_of_DataType( O_ATTR form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R114_O_ATTR_defines_type_of_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR114_is_defined_by_O_ATTR(form);
            form.setR114_defines_type_of_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R114_O_ATTR_defines_type_of_DataType( O_ATTR form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R114_O_ATTR_defines_type_of_DataType_extent.remove( R114_O_ATTR_defines_type_of_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR114_is_defined_by_O_ATTR(form);
            form.setR114_defines_type_of_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R115_O_TFR_is_associated_with_ModelClass( O_TFR form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R115_O_TFR_is_associated_with_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR115_may_contain_O_TFR(form);
            form.setR115_is_associated_with_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R115_O_TFR_is_associated_with_ModelClass( O_TFR form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R115_O_TFR_is_associated_with_ModelClass_extent.remove( R115_O_TFR_is_associated_with_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR115_may_contain_O_TFR(form);
            form.setR115_is_associated_with_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R116_O_TFR_return_code_is_defined_by_DataType( O_TFR form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R116_O_TFR_return_code_is_defined_by_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR116_defines_the_type_of_return_code_O_TFR(form);
            form.setR116_return_code_is_defined_by_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R116_O_TFR_return_code_is_defined_by_DataType( O_TFR form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R116_O_TFR_return_code_is_defined_by_DataType_extent.remove( R116_O_TFR_return_code_is_defined_by_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR116_defines_the_type_of_return_code_O_TFR(form);
            form.setR116_return_code_is_defined_by_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R117_OperationParameter_is_part_of__O_TFR( OperationParameter form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R117_OperationParameter_is_part_of__O_TFR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR117_contains_OperationParameter(form);
            form.setR117_is_part_of__O_TFR(part);
            form.setTfr_ID( part.getTfr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R117_OperationParameter_is_part_of__O_TFR( OperationParameter form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R117_OperationParameter_is_part_of__O_TFR_extent.remove( R117_OperationParameter_is_part_of__O_TFR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR117_contains_OperationParameter(form);
            form.setR117_is_part_of__O_TFR(O_TFRImpl.EMPTY_O_TFR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R118_OperationParameter_is_defined_by_DataType( OperationParameter form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R118_OperationParameter_is_defined_by_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR118_defines_the_type_of__OperationParameter(form);
            form.setR118_is_defined_by_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R118_OperationParameter_is_defined_by_DataType( OperationParameter form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R118_OperationParameter_is_defined_by_DataType_extent.remove( R118_OperationParameter_is_defined_by_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR118_defines_the_type_of__OperationParameter(form);
            form.setR118_is_defined_by_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1206_UseCaseAssociation_starts_at_InteractionParticipant( UseCaseAssociation form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1206_UseCaseAssociation_starts_at_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1206_is_source_UseCaseAssociation(form);
            form.setR1206_starts_at_InteractionParticipant(part);
            form.setSource_Part_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1206_UseCaseAssociation_starts_at_InteractionParticipant( UseCaseAssociation form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1206_UseCaseAssociation_starts_at_InteractionParticipant_extent.remove( R1206_UseCaseAssociation_starts_at_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1206_is_source_UseCaseAssociation(form);
            form.setR1206_starts_at_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1207_UseCaseAssociation_ends_at_InteractionParticipant( UseCaseAssociation form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1207_UseCaseAssociation_ends_at_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1207_is_destination_UseCaseAssociation(form);
            form.setR1207_ends_at_InteractionParticipant(part);
            form.setDestination_Part_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1207_UseCaseAssociation_ends_at_InteractionParticipant( UseCaseAssociation form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1207_UseCaseAssociation_ends_at_InteractionParticipant_extent.remove( R1207_UseCaseAssociation_ends_at_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1207_is_destination_UseCaseAssociation(form);
            form.setR1207_ends_at_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R120_Dimensions_specifies_occurrences_of_O_ATTR( Dimensions form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R120_Dimensions_specifies_occurrences_of_O_ATTR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR120_may_have_Dimensions(form);
            form.setR120_specifies_occurrences_of_O_ATTR(part);
            form.setObj_ID( part.getObj_ID() );
            form.setAttr_ID( part.getAttr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R120_Dimensions_specifies_occurrences_of_O_ATTR( Dimensions form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R120_Dimensions_specifies_occurrences_of_O_ATTR_extent.remove( R120_Dimensions_specifies_occurrences_of_O_ATTR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR120_may_have_Dimensions(form);
            form.setR120_specifies_occurrences_of_O_ATTR(O_ATTRImpl.EMPTY_O_ATTR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1210_BinaryAssociation_is_a_UseCaseAssociation( BinaryAssociation form, UseCaseAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1210_BinaryAssociation_is_a_UseCaseAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1210_is_a_BinaryAssociation(form);
            form.setR1210_is_a_UseCaseAssociation(part);
            form.setAssoc_ID( part.getAssoc_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1210_BinaryAssociation_is_a_UseCaseAssociation( BinaryAssociation form, UseCaseAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1210_BinaryAssociation_is_a_UseCaseAssociation_extent.remove( R1210_BinaryAssociation_is_a_UseCaseAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1210_is_a_BinaryAssociation(BinaryAssociationImpl.EMPTY_BINARYASSOCIATION);
            form.setR1210_is_a_UseCaseAssociation(UseCaseAssociationImpl.EMPTY_USECASEASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1210_Extend_is_a_UseCaseAssociation( Extend form, UseCaseAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1210_Extend_is_a_UseCaseAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1210_is_a_Extend(form);
            form.setR1210_is_a_UseCaseAssociation(part);
            form.setAssoc_ID( part.getAssoc_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1210_Extend_is_a_UseCaseAssociation( Extend form, UseCaseAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1210_Extend_is_a_UseCaseAssociation_extent.remove( R1210_Extend_is_a_UseCaseAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1210_is_a_Extend(ExtendImpl.EMPTY_EXTEND);
            form.setR1210_is_a_UseCaseAssociation(UseCaseAssociationImpl.EMPTY_USECASEASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1210_Generalization_is_a_UseCaseAssociation( Generalization form, UseCaseAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1210_Generalization_is_a_UseCaseAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1210_is_a_Generalization(form);
            form.setR1210_is_a_UseCaseAssociation(part);
            form.setAssoc_ID( part.getAssoc_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1210_Generalization_is_a_UseCaseAssociation( Generalization form, UseCaseAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1210_Generalization_is_a_UseCaseAssociation_extent.remove( R1210_Generalization_is_a_UseCaseAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1210_is_a_Generalization(GeneralizationImpl.EMPTY_GENERALIZATION);
            form.setR1210_is_a_UseCaseAssociation(UseCaseAssociationImpl.EMPTY_USECASEASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1210_Include_is_a_UseCaseAssociation( Include form, UseCaseAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1210_Include_is_a_UseCaseAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1210_is_a_Include(form);
            form.setR1210_is_a_UseCaseAssociation(part);
            form.setAssoc_ID( part.getAssoc_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1210_Include_is_a_UseCaseAssociation( Include form, UseCaseAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1210_Include_is_a_UseCaseAssociation_extent.remove( R1210_Include_is_a_UseCaseAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1210_is_a_Include(IncludeImpl.EMPTY_INCLUDE);
            form.setR1210_is_a_UseCaseAssociation(UseCaseAssociationImpl.EMPTY_USECASEASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R121_Dimensions_specifies_occurrences_of_OperationParameter( Dimensions form, OperationParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R121_Dimensions_specifies_occurrences_of_OperationParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR121_may_have_Dimensions(form);
            form.setR121_specifies_occurrences_of_OperationParameter(part);
            form.setTParm_ID( part.getTParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R121_Dimensions_specifies_occurrences_of_OperationParameter( Dimensions form, OperationParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R121_Dimensions_specifies_occurrences_of_OperationParameter_extent.remove( R121_Dimensions_specifies_occurrences_of_OperationParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR121_may_have_Dimensions(form);
            form.setR121_specifies_occurrences_of_OperationParameter(OperationParameterImpl.EMPTY_OPERATIONPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R122_Dimensions_defines_return_value_dimensions_for_O_TFR( Dimensions form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R122_Dimensions_defines_return_value_dimensions_for_O_TFR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR122_return_value_may_have_Dimensions(form);
            form.setR122_defines_return_value_dimensions_for_O_TFR(part);
            form.setTfr_ID( part.getTfr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R122_Dimensions_defines_return_value_dimensions_for_O_TFR( Dimensions form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R122_Dimensions_defines_return_value_dimensions_for_O_TFR_extent.remove( R122_Dimensions_defines_return_value_dimensions_for_O_TFR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR122_return_value_may_have_Dimensions(form);
            form.setR122_defines_return_value_dimensions_for_O_TFR(O_TFRImpl.EMPTY_O_TFR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R123_InstanceReferenceDataType_provides_reference_datatype_for_ModelClass( InstanceReferenceDataType form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R123_InstanceReferenceDataType_provides_reference_datatype_for_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR123_is_available_as_a_reference_by_InstanceReferenceDataType(form);
            form.setR123_provides_reference_datatype_for_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R123_InstanceReferenceDataType_provides_reference_datatype_for_ModelClass( InstanceReferenceDataType form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R123_InstanceReferenceDataType_provides_reference_datatype_for_ModelClass_extent.remove( R123_InstanceReferenceDataType_provides_reference_datatype_for_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR123_is_available_as_a_reference_by_InstanceReferenceDataType(form);
            form.setR123_provides_reference_datatype_for_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R124_OperationParameter_succeeds_OperationParameter( OperationParameter form, OperationParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R124_OperationParameter_succeeds_OperationParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR124_precedes_OperationParameter(form);
            form.setR124_succeeds_OperationParameter(part);
            form.setPrevious_TParm_ID( part.getTParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R124_OperationParameter_succeeds_OperationParameter( OperationParameter form, OperationParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R124_OperationParameter_succeeds_OperationParameter_extent.remove( R124_OperationParameter_succeeds_OperationParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR124_precedes_OperationParameter(OperationParameterImpl.EMPTY_OPERATIONPARAMETER);
            form.setR124_succeeds_OperationParameter(OperationParameterImpl.EMPTY_OPERATIONPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R125_O_TFR_succeeds_O_TFR( O_TFR form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R125_O_TFR_succeeds_O_TFR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR125_precedes_O_TFR(form);
            form.setR125_succeeds_O_TFR(part);
            form.setPrevious_Tfr_ID( part.getTfr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R125_O_TFR_succeeds_O_TFR( O_TFR form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R125_O_TFR_succeeds_O_TFR_extent.remove( R125_O_TFR_succeeds_O_TFR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR125_precedes_O_TFR(O_TFRImpl.EMPTY_O_TFR);
            form.setR125_succeeds_O_TFR(O_TFRImpl.EMPTY_O_TFR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R126_Deferral_defers_execution_to_subtypes_across_Association( Deferral form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R126_Deferral_defers_execution_to_subtypes_across_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR126_delegates_execution_of_Deferral(form);
            form.setR126_defers_execution_to_subtypes_across_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R126_Deferral_defers_execution_to_subtypes_across_Association( Deferral form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R126_Deferral_defers_execution_to_subtypes_across_Association_extent.remove( R126_Deferral_defers_execution_to_subtypes_across_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR126_delegates_execution_of_Deferral(form);
            form.setR126_defers_execution_to_subtypes_across_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R126_Deferral_delegates_execution_of_O_TFR( Deferral form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R126_Deferral_delegates_execution_of_O_TFR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR126_defers_execution_to_subtypes_across_Deferral(form);
            form.setR126_delegates_execution_of_O_TFR(part);
            form.setTfr_ID( part.getTfr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R126_Deferral_delegates_execution_of_O_TFR( Deferral form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R126_Deferral_delegates_execution_of_O_TFR_extent.remove( R126_Deferral_delegates_execution_of_O_TFR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR126_defers_execution_to_subtypes_across_Deferral(DeferralImpl.EMPTY_DEFERRAL);
            form.setR126_delegates_execution_of_O_TFR(O_TFRImpl.EMPTY_O_TFR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1401_EP_PKG_directly_contained_under_SystemModel( EP_PKG form, SystemModel part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1401_EP_PKG_directly_contained_under_SystemModel_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1401_contains_EP_PKG(form);
            form.setR1401_directly_contained_under_SystemModel(part);
            form.setSys_ID( part.getSys_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1401_EP_PKG_directly_contained_under_SystemModel( EP_PKG form, SystemModel part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1401_EP_PKG_directly_contained_under_SystemModel_extent.remove( R1401_EP_PKG_directly_contained_under_SystemModel_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1401_contains_EP_PKG(form);
            form.setR1401_directly_contained_under_SystemModel(SystemModelImpl.EMPTY_SYSTEMMODEL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1402_PackageReference_is_referenced_by_EP_PKG( PackageReference form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1402_PackageReference_is_referenced_by_EP_PKG_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1402_refers_to_PackageReference(form);
            form.setR1402_is_referenced_by_EP_PKG(part);
            form.setReferring_Package_ID( part.getPackage_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1402_PackageReference_is_referenced_by_EP_PKG( PackageReference form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1402_PackageReference_is_referenced_by_EP_PKG_extent.remove( R1402_PackageReference_is_referenced_by_EP_PKG_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1402_refers_to_PackageReference(PackageReferenceImpl.EMPTY_PACKAGEREFERENCE);
            form.setR1402_is_referenced_by_EP_PKG(EP_PKGImpl.EMPTY_EP_PKG);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1402_PackageReference_refers_to_EP_PKG( PackageReference form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1402_PackageReference_refers_to_EP_PKG_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1402_is_referenced_by_PackageReference(form);
            form.setR1402_refers_to_EP_PKG(part);
            form.setReferred_Package_ID( part.getPackage_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1402_PackageReference_refers_to_EP_PKG( PackageReference form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1402_PackageReference_refers_to_EP_PKG_extent.remove( R1402_PackageReference_refers_to_EP_PKG_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1402_is_referenced_by_PackageReference(form);
            form.setR1402_refers_to_EP_PKG(EP_PKGImpl.EMPTY_EP_PKG);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1405_EP_PKG_SystemModel( EP_PKG form, SystemModel part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1405_EP_PKG_SystemModel_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1405_contains_EP_PKG(form);
            form.setR1405_SystemModel(part);
            form.setDirect_Sys_ID( part.getSys_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1405_EP_PKG_SystemModel( EP_PKG form, SystemModel part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1405_EP_PKG_SystemModel_extent.remove( R1405_EP_PKG_SystemModel_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1405_contains_EP_PKG(form);
            form.setR1405_SystemModel(SystemModelImpl.EMPTY_SYSTEMMODEL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1500_SymbolicConstant_is_defined_by_DataType( SymbolicConstant form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1500_SymbolicConstant_is_defined_by_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1500_defines_the_type_of_SymbolicConstant(form);
            form.setR1500_is_defined_by_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1500_SymbolicConstant_is_defined_by_DataType( SymbolicConstant form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1500_SymbolicConstant_is_defined_by_DataType_extent.remove( R1500_SymbolicConstant_is_defined_by_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1500_defines_the_type_of_SymbolicConstant(form);
            form.setR1500_is_defined_by_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1502_LeafSymbolicConstant_is_a_SymbolicConstant( LeafSymbolicConstant form, SymbolicConstant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1502_LeafSymbolicConstant_is_a_SymbolicConstant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1502_is_a_LeafSymbolicConstant(form);
            form.setR1502_is_a_SymbolicConstant(part);
            form.setConst_ID( part.getConst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1502_LeafSymbolicConstant_is_a_SymbolicConstant( LeafSymbolicConstant form, SymbolicConstant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1502_LeafSymbolicConstant_is_a_SymbolicConstant_extent.remove( R1502_LeafSymbolicConstant_is_a_SymbolicConstant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1502_is_a_LeafSymbolicConstant(LeafSymbolicConstantImpl.EMPTY_LEAFSYMBOLICCONSTANT);
            form.setR1502_is_a_SymbolicConstant(SymbolicConstantImpl.EMPTY_SYMBOLICCONSTANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1503_LiteralSymbolicConstant_is_a_LeafSymbolicConstant( LiteralSymbolicConstant form, LeafSymbolicConstant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1503_LiteralSymbolicConstant_is_a_LeafSymbolicConstant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1503_is_a_LiteralSymbolicConstant(form);
            form.setR1503_is_a_LeafSymbolicConstant(part);
            form.setConst_ID( part.getConst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1503_LiteralSymbolicConstant_is_a_LeafSymbolicConstant( LiteralSymbolicConstant form, LeafSymbolicConstant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1503_LiteralSymbolicConstant_is_a_LeafSymbolicConstant_extent.remove( R1503_LiteralSymbolicConstant_is_a_LeafSymbolicConstant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1503_is_a_LiteralSymbolicConstant(LiteralSymbolicConstantImpl.EMPTY_LITERALSYMBOLICCONSTANT);
            form.setR1503_is_a_LeafSymbolicConstant(LeafSymbolicConstantImpl.EMPTY_LEAFSYMBOLICCONSTANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1504_SymbolicConstant_is_contained_by_ConstantSpecification( SymbolicConstant form, ConstantSpecification part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1504_SymbolicConstant_is_contained_by_ConstantSpecification_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1504_contains_SymbolicConstant(form);
            form.setR1504_is_contained_by_ConstantSpecification(part);
            form.setConstant_Spec_ID( part.getConstant_Spec_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1504_SymbolicConstant_is_contained_by_ConstantSpecification( SymbolicConstant form, ConstantSpecification part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1504_SymbolicConstant_is_contained_by_ConstantSpecification_extent.remove( R1504_SymbolicConstant_is_contained_by_ConstantSpecification_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1504_contains_SymbolicConstant(form);
            form.setR1504_is_contained_by_ConstantSpecification(ConstantSpecificationImpl.EMPTY_CONSTANTSPECIFICATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1505_SymbolicConstant_succeeds_SymbolicConstant( SymbolicConstant form, SymbolicConstant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1505_SymbolicConstant_succeeds_SymbolicConstant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1505_precedes_SymbolicConstant(form);
            form.setR1505_succeeds_SymbolicConstant(part);
            form.setPrevious_Const_ID( part.getConst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1505_SymbolicConstant_succeeds_SymbolicConstant( SymbolicConstant form, SymbolicConstant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1505_SymbolicConstant_succeeds_SymbolicConstant_extent.remove( R1505_SymbolicConstant_succeeds_SymbolicConstant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1505_precedes_SymbolicConstant(SymbolicConstantImpl.EMPTY_SYMBOLICCONSTANT);
            form.setR1505_succeeds_SymbolicConstant(SymbolicConstantImpl.EMPTY_SYMBOLICCONSTANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1650_Terminator_Deployment( Terminator form, Deployment part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1650_Terminator_Deployment_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1650_Terminator(form);
            form.setR1650_Deployment(part);
            form.setDeployment_ID( part.getDeployment_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1650_Terminator_Deployment( Terminator form, Deployment part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1650_Terminator_Deployment_extent.remove( R1650_Terminator_Deployment_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1650_Terminator(form);
            form.setR1650_Deployment(DeploymentImpl.EMPTY_DEPLOYMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1651_TerminatorService_Terminator( TerminatorService form, Terminator part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1651_TerminatorService_Terminator_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1651_TerminatorService(form);
            form.setR1651_Terminator(part);
            form.setTerm_ID( part.getTerm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1651_TerminatorService_Terminator( TerminatorService form, Terminator part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1651_TerminatorService_Terminator_extent.remove( R1651_TerminatorService_Terminator_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1651_TerminatorService(form);
            form.setR1651_Terminator(TerminatorImpl.EMPTY_TERMINATOR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1652_TerminatorServiceParameter_TerminatorService( TerminatorServiceParameter form, TerminatorService part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1652_TerminatorServiceParameter_TerminatorService_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1652_TerminatorServiceParameter(form);
            form.setR1652_TerminatorService(part);
            form.setSvc_ID( part.getSvc_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1652_TerminatorServiceParameter_TerminatorService( TerminatorServiceParameter form, TerminatorService part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1652_TerminatorServiceParameter_TerminatorService_extent.remove( R1652_TerminatorServiceParameter_TerminatorService_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1652_TerminatorServiceParameter(form);
            form.setR1652_TerminatorService(TerminatorServiceImpl.EMPTY_TERMINATORSERVICE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1653_TerminatorServiceParameter_DataType( TerminatorServiceParameter form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1653_TerminatorServiceParameter_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1653_TerminatorServiceParameter(form);
            form.setR1653_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1653_TerminatorServiceParameter_DataType( TerminatorServiceParameter form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1653_TerminatorServiceParameter_DataType_extent.remove( R1653_TerminatorServiceParameter_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1653_TerminatorServiceParameter(form);
            form.setR1653_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1654_TerminatorServiceParameter_succeeds_TerminatorServiceParameter( TerminatorServiceParameter form, TerminatorServiceParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1654_TerminatorServiceParameter_succeeds_TerminatorServiceParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1654_precedes_TerminatorServiceParameter(form);
            form.setR1654_succeeds_TerminatorServiceParameter(part);
            form.setPrevious_TSParm_ID( part.getTSParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1654_TerminatorServiceParameter_succeeds_TerminatorServiceParameter( TerminatorServiceParameter form, TerminatorServiceParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1654_TerminatorServiceParameter_succeeds_TerminatorServiceParameter_extent.remove( R1654_TerminatorServiceParameter_succeeds_TerminatorServiceParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1654_precedes_TerminatorServiceParameter(TerminatorServiceParameterImpl.EMPTY_TERMINATORSERVICEPARAMETER);
            form.setR1654_succeeds_TerminatorServiceParameter(TerminatorServiceParameterImpl.EMPTY_TERMINATORSERVICEPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1655_Dimensions_TerminatorServiceParameter( Dimensions form, TerminatorServiceParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1655_Dimensions_TerminatorServiceParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1655_Dimensions(form);
            form.setR1655_TerminatorServiceParameter(part);
            form.setTSParm_ID( part.getTSParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1655_Dimensions_TerminatorServiceParameter( Dimensions form, TerminatorServiceParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1655_Dimensions_TerminatorServiceParameter_extent.remove( R1655_Dimensions_TerminatorServiceParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1655_Dimensions(form);
            form.setR1655_TerminatorServiceParameter(TerminatorServiceParameterImpl.EMPTY_TERMINATORSERVICEPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1656_TerminatorService_DataType( TerminatorService form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1656_TerminatorService_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1656_TerminatorService(form);
            form.setR1656_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1656_TerminatorService_DataType( TerminatorService form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1656_TerminatorService_DataType_extent.remove( R1656_TerminatorService_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1656_TerminatorService(form);
            form.setR1656_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1657_Dimensions_TerminatorService( Dimensions form, TerminatorService part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1657_Dimensions_TerminatorService_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1657_Dimensions(form);
            form.setR1657_TerminatorService(part);
            form.setSvc_ID( part.getSvc_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1657_Dimensions_TerminatorService( Dimensions form, TerminatorService part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1657_Dimensions_TerminatorService_extent.remove( R1657_Dimensions_TerminatorService_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1657_Dimensions(form);
            form.setR1657_TerminatorService(TerminatorServiceImpl.EMPTY_TERMINATORSERVICE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1658_TerminatorServiceSequence_Terminator( TerminatorServiceSequence form, Terminator part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1658_TerminatorServiceSequence_Terminator_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1658_TerminatorServiceSequence(form);
            form.setR1658_Terminator(part);
            form.setTerm_ID( part.getTerm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1658_TerminatorServiceSequence_Terminator( TerminatorServiceSequence form, Terminator part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1658_TerminatorServiceSequence_Terminator_extent.remove( R1658_TerminatorServiceSequence_Terminator_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1658_TerminatorServiceSequence(TerminatorServiceSequenceImpl.EMPTY_TERMINATORSERVICESEQUENCE);
            form.setR1658_Terminator(TerminatorImpl.EMPTY_TERMINATOR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1659_ServiceInSequence_TerminatorServiceSequence( ServiceInSequence form, TerminatorServiceSequence part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1659_ServiceInSequence_TerminatorServiceSequence_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR1659_described_by_ServiceInSequence(form);
            form.setR1659_TerminatorServiceSequence(part);
            form.setSeq_ID( part.getSeq_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1659_ServiceInSequence_TerminatorServiceSequence( ServiceInSequence form, TerminatorServiceSequence part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1659_ServiceInSequence_TerminatorServiceSequence_extent.remove( R1659_ServiceInSequence_TerminatorServiceSequence_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR1659_described_by_ServiceInSequence(form);
            form.setR1659_TerminatorServiceSequence(TerminatorServiceSequenceImpl.EMPTY_TERMINATORSERVICESEQUENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1660_ServiceInSequence_TerminatorService( ServiceInSequence form, TerminatorService part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1660_ServiceInSequence_TerminatorService_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1660_ServiceInSequence(form);
            form.setR1660_TerminatorService(part);
            form.setSvc_ID( part.getSvc_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1660_ServiceInSequence_TerminatorService( ServiceInSequence form, TerminatorService part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1660_ServiceInSequence_TerminatorService_extent.remove( R1660_ServiceInSequence_TerminatorService_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1660_ServiceInSequence(ServiceInSequenceImpl.EMPTY_SERVICEINSEQUENCE);
            form.setR1660_TerminatorService(TerminatorServiceImpl.EMPTY_TERMINATORSERVICE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R1661_ServiceInSequence_succeeds_ServiceInSequence( ServiceInSequence form, ServiceInSequence part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R1661_ServiceInSequence_succeeds_ServiceInSequence_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1661_precedes_ServiceInSequence(form);
            form.setR1661_succeeds_ServiceInSequence(part);
            form.setPrevious_Svc_ID( part.getSvc_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R1661_ServiceInSequence_succeeds_ServiceInSequence( ServiceInSequence form, ServiceInSequence part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R1661_ServiceInSequence_succeeds_ServiceInSequence_extent.remove( R1661_ServiceInSequence_succeeds_ServiceInSequence_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR1661_precedes_ServiceInSequence(ServiceInSequenceImpl.EMPTY_SERVICEINSEQUENCE);
            form.setR1661_succeeds_ServiceInSequence(ServiceInSequenceImpl.EMPTY_SERVICEINSEQUENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R17_CoreDataType_is_a_DataType( CoreDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R17_CoreDataType_is_a_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR17_is_a_CoreDataType(form);
            form.setR17_is_a_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R17_CoreDataType_is_a_DataType( CoreDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R17_CoreDataType_is_a_DataType_extent.remove( R17_CoreDataType_is_a_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR17_is_a_CoreDataType(CoreDataTypeImpl.EMPTY_COREDATATYPE);
            form.setR17_is_a_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R17_EnumerationDataType_is_a_DataType( EnumerationDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R17_EnumerationDataType_is_a_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR17_is_a_EnumerationDataType(form);
            form.setR17_is_a_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R17_EnumerationDataType_is_a_DataType( EnumerationDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R17_EnumerationDataType_is_a_DataType_extent.remove( R17_EnumerationDataType_is_a_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR17_is_a_EnumerationDataType(EnumerationDataTypeImpl.EMPTY_ENUMERATIONDATATYPE);
            form.setR17_is_a_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R17_InstanceReferenceDataType_is_a_DataType( InstanceReferenceDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R17_InstanceReferenceDataType_is_a_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR17_is_a_InstanceReferenceDataType(form);
            form.setR17_is_a_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R17_InstanceReferenceDataType_is_a_DataType( InstanceReferenceDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R17_InstanceReferenceDataType_is_a_DataType_extent.remove( R17_InstanceReferenceDataType_is_a_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR17_is_a_InstanceReferenceDataType(InstanceReferenceDataTypeImpl.EMPTY_INSTANCEREFERENCEDATATYPE);
            form.setR17_is_a_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R17_StructuredDataType_is_a_DataType( StructuredDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R17_StructuredDataType_is_a_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR17_is_a_StructuredDataType(form);
            form.setR17_is_a_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R17_StructuredDataType_is_a_DataType( StructuredDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R17_StructuredDataType_is_a_DataType_extent.remove( R17_StructuredDataType_is_a_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR17_is_a_StructuredDataType(StructuredDataTypeImpl.EMPTY_STRUCTUREDDATATYPE);
            form.setR17_is_a_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R17_UserDataType_is_a_DataType( UserDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R17_UserDataType_is_a_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR17_is_a_UserDataType(form);
            form.setR17_is_a_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R17_UserDataType_is_a_DataType( UserDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R17_UserDataType_is_a_DataType_extent.remove( R17_UserDataType_is_a_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR17_is_a_UserDataType(UserDataTypeImpl.EMPTY_USERDATATYPE);
            form.setR17_is_a_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R18_UserDataType_are_defined_within_DataType( UserDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R18_UserDataType_are_defined_within_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR18_defines_domain_of_UserDataType(form);
            form.setR18_are_defined_within_DataType(part);
            form.setCDT_DT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R18_UserDataType_are_defined_within_DataType( UserDataType form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R18_UserDataType_are_defined_within_DataType_extent.remove( R18_UserDataType_are_defined_within_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR18_defines_domain_of_UserDataType(form);
            form.setR18_are_defined_within_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R19_Bridge_provides_access_to_ExternalEntity( Bridge form, ExternalEntity part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R19_Bridge_provides_access_to_ExternalEntity_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR19_uses_Bridge(form);
            form.setR19_provides_access_to_ExternalEntity(part);
            form.setEE_ID( part.getEE_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R19_Bridge_provides_access_to_ExternalEntity( Bridge form, ExternalEntity part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R19_Bridge_provides_access_to_ExternalEntity_extent.remove( R19_Bridge_provides_access_to_ExternalEntity_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR19_uses_Bridge(form);
            form.setR19_provides_access_to_ExternalEntity(ExternalEntityImpl.EMPTY_EXTERNALENTITY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R201_ClassInAssociation_abstracts_association_between_instances_of_ModelClass( ClassInAssociation form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R201_ClassInAssociation_abstracts_association_between_instances_of_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR201_has_instance_associations_abstracted_ClassInAssociation(form);
            form.setR201_abstracts_association_between_instances_of_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R201_ClassInAssociation_abstracts_association_between_instances_of_ModelClass( ClassInAssociation form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R201_ClassInAssociation_abstracts_association_between_instances_of_ModelClass_extent.remove( R201_ClassInAssociation_abstracts_association_between_instances_of_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR201_has_instance_associations_abstracted_ClassInAssociation(form);
            form.setR201_abstracts_association_between_instances_of_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R201_ClassInAssociation_has_instance_associations_abstracted_Association( ClassInAssociation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R201_ClassInAssociation_has_instance_associations_abstracted_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR201_abstracts_association_between_instances_of_ClassInAssociation(form);
            form.setR201_has_instance_associations_abstracted_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R201_ClassInAssociation_has_instance_associations_abstracted_Association( ClassInAssociation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R201_ClassInAssociation_has_instance_associations_abstracted_Association_extent.remove( R201_ClassInAssociation_has_instance_associations_abstracted_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR201_abstracts_association_between_instances_of_ClassInAssociation(form);
            form.setR201_has_instance_associations_abstracted_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R202_ClassInAssociation_may_be_represented_by_ImportedClass( ClassInAssociation form, ImportedClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R202_ClassInAssociation_may_be_represented_by_ImportedClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR202_is_used_for_spanning_associations_as_ClassInAssociation(form);
            form.setR202_may_be_represented_by_ImportedClass(part);
            form.setIObj_ID( part.getIObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R202_ClassInAssociation_may_be_represented_by_ImportedClass( ClassInAssociation form, ImportedClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R202_ClassInAssociation_may_be_represented_by_ImportedClass_extent.remove( R202_ClassInAssociation_may_be_represented_by_ImportedClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR202_is_used_for_spanning_associations_as_ClassInAssociation(form);
            form.setR202_may_be_represented_by_ImportedClass(ImportedClassImpl.EMPTY_IMPORTEDCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R203_ClassAsDerivedOneSide_is_a_ClassInAssociation( ClassAsDerivedOneSide form, ClassInAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R203_ClassAsDerivedOneSide_is_a_ClassInAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR203_is_a_ClassAsDerivedOneSide(form);
            form.setR203_is_a_ClassInAssociation(part);
            form.setRel_ID( part.getRel_ID() );
            form.setOIR_ID( part.getOIR_ID() );
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R203_ClassAsDerivedOneSide_is_a_ClassInAssociation( ClassAsDerivedOneSide form, ClassInAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R203_ClassAsDerivedOneSide_is_a_ClassInAssociation_extent.remove( R203_ClassAsDerivedOneSide_is_a_ClassInAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR203_is_a_ClassAsDerivedOneSide(ClassAsDerivedOneSideImpl.EMPTY_CLASSASDERIVEDONESIDE);
            form.setR203_is_a_ClassInAssociation(ClassInAssociationImpl.EMPTY_CLASSINASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R203_ClassAsDerivedOtherSide_is_a_ClassInAssociation( ClassAsDerivedOtherSide form, ClassInAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R203_ClassAsDerivedOtherSide_is_a_ClassInAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR203_is_a_ClassAsDerivedOtherSide(form);
            form.setR203_is_a_ClassInAssociation(part);
            form.setObj_ID( part.getObj_ID() );
            form.setOIR_ID( part.getOIR_ID() );
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R203_ClassAsDerivedOtherSide_is_a_ClassInAssociation( ClassAsDerivedOtherSide form, ClassInAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R203_ClassAsDerivedOtherSide_is_a_ClassInAssociation_extent.remove( R203_ClassAsDerivedOtherSide_is_a_ClassInAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR203_is_a_ClassAsDerivedOtherSide(ClassAsDerivedOtherSideImpl.EMPTY_CLASSASDERIVEDOTHERSIDE);
            form.setR203_is_a_ClassInAssociation(ClassInAssociationImpl.EMPTY_CLASSINASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R203_ReferredToClassInAssoc_is_a_ClassInAssociation( ReferredToClassInAssoc form, ClassInAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R203_ReferredToClassInAssoc_is_a_ClassInAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR203_is_a_ReferredToClassInAssoc(form);
            form.setR203_is_a_ClassInAssociation(part);
            form.setOIR_ID( part.getOIR_ID() );
            form.setObj_ID( part.getObj_ID() );
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R203_ReferredToClassInAssoc_is_a_ClassInAssociation( ReferredToClassInAssoc form, ClassInAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R203_ReferredToClassInAssoc_is_a_ClassInAssociation_extent.remove( R203_ReferredToClassInAssoc_is_a_ClassInAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR203_is_a_ReferredToClassInAssoc(ReferredToClassInAssocImpl.EMPTY_REFERREDTOCLASSINASSOC);
            form.setR203_is_a_ClassInAssociation(ClassInAssociationImpl.EMPTY_CLASSINASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R203_ReferringClassInAssoc_is_a_ClassInAssociation( ReferringClassInAssoc form, ClassInAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R203_ReferringClassInAssoc_is_a_ClassInAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR203_is_a_ReferringClassInAssoc(form);
            form.setR203_is_a_ClassInAssociation(part);
            form.setRel_ID( part.getRel_ID() );
            form.setObj_ID( part.getObj_ID() );
            form.setOIR_ID( part.getOIR_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R203_ReferringClassInAssoc_is_a_ClassInAssociation( ReferringClassInAssoc form, ClassInAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R203_ReferringClassInAssoc_is_a_ClassInAssociation_extent.remove( R203_ReferringClassInAssoc_is_a_ClassInAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR203_is_a_ReferringClassInAssoc(ReferringClassInAssocImpl.EMPTY_REFERRINGCLASSINASSOC);
            form.setR203_is_a_ClassInAssociation(ClassInAssociationImpl.EMPTY_CLASSINASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R204_ClassAsAssociatedOneSide_is_a_ReferredToClassInAssoc( ClassAsAssociatedOneSide form, ReferredToClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R204_ClassAsAssociatedOneSide_is_a_ReferredToClassInAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR204_is_a_ClassAsAssociatedOneSide(form);
            form.setR204_is_a_ReferredToClassInAssoc(part);
            form.setRel_ID( part.getRel_ID() );
            form.setObj_ID( part.getObj_ID() );
            form.setOIR_ID( part.getOIR_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R204_ClassAsAssociatedOneSide_is_a_ReferredToClassInAssoc( ClassAsAssociatedOneSide form, ReferredToClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R204_ClassAsAssociatedOneSide_is_a_ReferredToClassInAssoc_extent.remove( R204_ClassAsAssociatedOneSide_is_a_ReferredToClassInAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR204_is_a_ClassAsAssociatedOneSide(ClassAsAssociatedOneSideImpl.EMPTY_CLASSASASSOCIATEDONESIDE);
            form.setR204_is_a_ReferredToClassInAssoc(ReferredToClassInAssocImpl.EMPTY_REFERREDTOCLASSINASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R204_ClassAsAssociatedOtherSide_is_a_ReferredToClassInAssoc( ClassAsAssociatedOtherSide form, ReferredToClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R204_ClassAsAssociatedOtherSide_is_a_ReferredToClassInAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR204_is_a_ClassAsAssociatedOtherSide(form);
            form.setR204_is_a_ReferredToClassInAssoc(part);
            form.setRel_ID( part.getRel_ID() );
            form.setOIR_ID( part.getOIR_ID() );
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R204_ClassAsAssociatedOtherSide_is_a_ReferredToClassInAssoc( ClassAsAssociatedOtherSide form, ReferredToClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R204_ClassAsAssociatedOtherSide_is_a_ReferredToClassInAssoc_extent.remove( R204_ClassAsAssociatedOtherSide_is_a_ReferredToClassInAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR204_is_a_ClassAsAssociatedOtherSide(ClassAsAssociatedOtherSideImpl.EMPTY_CLASSASASSOCIATEDOTHERSIDE);
            form.setR204_is_a_ReferredToClassInAssoc(ReferredToClassInAssocImpl.EMPTY_REFERREDTOCLASSINASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R204_ClassAsSimpleParticipant_is_a_ReferredToClassInAssoc( ClassAsSimpleParticipant form, ReferredToClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R204_ClassAsSimpleParticipant_is_a_ReferredToClassInAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR204_is_a_ClassAsSimpleParticipant(form);
            form.setR204_is_a_ReferredToClassInAssoc(part);
            form.setOIR_ID( part.getOIR_ID() );
            form.setObj_ID( part.getObj_ID() );
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R204_ClassAsSimpleParticipant_is_a_ReferredToClassInAssoc( ClassAsSimpleParticipant form, ReferredToClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R204_ClassAsSimpleParticipant_is_a_ReferredToClassInAssoc_extent.remove( R204_ClassAsSimpleParticipant_is_a_ReferredToClassInAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR204_is_a_ClassAsSimpleParticipant(ClassAsSimpleParticipantImpl.EMPTY_CLASSASSIMPLEPARTICIPANT);
            form.setR204_is_a_ReferredToClassInAssoc(ReferredToClassInAssocImpl.EMPTY_REFERREDTOCLASSINASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R204_ClassAsSupertype_is_a_ReferredToClassInAssoc( ClassAsSupertype form, ReferredToClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R204_ClassAsSupertype_is_a_ReferredToClassInAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR204_is_a_ClassAsSupertype(form);
            form.setR204_is_a_ReferredToClassInAssoc(part);
            form.setOIR_ID( part.getOIR_ID() );
            form.setRel_ID( part.getRel_ID() );
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R204_ClassAsSupertype_is_a_ReferredToClassInAssoc( ClassAsSupertype form, ReferredToClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R204_ClassAsSupertype_is_a_ReferredToClassInAssoc_extent.remove( R204_ClassAsSupertype_is_a_ReferredToClassInAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR204_is_a_ClassAsSupertype(ClassAsSupertypeImpl.EMPTY_CLASSASSUPERTYPE);
            form.setR204_is_a_ReferredToClassInAssoc(ReferredToClassInAssocImpl.EMPTY_REFERREDTOCLASSINASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R205_ClassAsLink_is_a_ReferringClassInAssoc( ClassAsLink form, ReferringClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R205_ClassAsLink_is_a_ReferringClassInAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR205_is_a_ClassAsLink(form);
            form.setR205_is_a_ReferringClassInAssoc(part);
            form.setOIR_ID( part.getOIR_ID() );
            form.setObj_ID( part.getObj_ID() );
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R205_ClassAsLink_is_a_ReferringClassInAssoc( ClassAsLink form, ReferringClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R205_ClassAsLink_is_a_ReferringClassInAssoc_extent.remove( R205_ClassAsLink_is_a_ReferringClassInAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR205_is_a_ClassAsLink(ClassAsLinkImpl.EMPTY_CLASSASLINK);
            form.setR205_is_a_ReferringClassInAssoc(ReferringClassInAssocImpl.EMPTY_REFERRINGCLASSINASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R205_ClassAsSimpleFormalizer_is_a_ReferringClassInAssoc( ClassAsSimpleFormalizer form, ReferringClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R205_ClassAsSimpleFormalizer_is_a_ReferringClassInAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR205_is_a_ClassAsSimpleFormalizer(form);
            form.setR205_is_a_ReferringClassInAssoc(part);
            form.setOIR_ID( part.getOIR_ID() );
            form.setObj_ID( part.getObj_ID() );
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R205_ClassAsSimpleFormalizer_is_a_ReferringClassInAssoc( ClassAsSimpleFormalizer form, ReferringClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R205_ClassAsSimpleFormalizer_is_a_ReferringClassInAssoc_extent.remove( R205_ClassAsSimpleFormalizer_is_a_ReferringClassInAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR205_is_a_ClassAsSimpleFormalizer(ClassAsSimpleFormalizerImpl.EMPTY_CLASSASSIMPLEFORMALIZER);
            form.setR205_is_a_ReferringClassInAssoc(ReferringClassInAssocImpl.EMPTY_REFERRINGCLASSINASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R205_ClassAsSubtype_is_a_ReferringClassInAssoc( ClassAsSubtype form, ReferringClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R205_ClassAsSubtype_is_a_ReferringClassInAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR205_is_a_ClassAsSubtype(form);
            form.setR205_is_a_ReferringClassInAssoc(part);
            form.setObj_ID( part.getObj_ID() );
            form.setOIR_ID( part.getOIR_ID() );
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R205_ClassAsSubtype_is_a_ReferringClassInAssoc( ClassAsSubtype form, ReferringClassInAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R205_ClassAsSubtype_is_a_ReferringClassInAssoc_extent.remove( R205_ClassAsSubtype_is_a_ReferringClassInAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR205_is_a_ClassAsSubtype(ClassAsSubtypeImpl.EMPTY_CLASSASSUBTYPE);
            form.setR205_is_a_ReferringClassInAssoc(ReferringClassInAssocImpl.EMPTY_REFERRINGCLASSINASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R206_DerivedAssociation_is_a_Association( DerivedAssociation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R206_DerivedAssociation_is_a_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR206_is_a_DerivedAssociation(form);
            form.setR206_is_a_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R206_DerivedAssociation_is_a_Association( DerivedAssociation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R206_DerivedAssociation_is_a_Association_extent.remove( R206_DerivedAssociation_is_a_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR206_is_a_DerivedAssociation(DerivedAssociationImpl.EMPTY_DERIVEDASSOCIATION);
            form.setR206_is_a_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R206_LinkedAssociation_is_a_Association( LinkedAssociation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R206_LinkedAssociation_is_a_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR206_is_a_LinkedAssociation(form);
            form.setR206_is_a_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R206_LinkedAssociation_is_a_Association( LinkedAssociation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R206_LinkedAssociation_is_a_Association_extent.remove( R206_LinkedAssociation_is_a_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR206_is_a_LinkedAssociation(LinkedAssociationImpl.EMPTY_LINKEDASSOCIATION);
            form.setR206_is_a_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R206_SimpleAssociation_is_a_Association( SimpleAssociation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R206_SimpleAssociation_is_a_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR206_is_a_SimpleAssociation(form);
            form.setR206_is_a_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R206_SimpleAssociation_is_a_Association( SimpleAssociation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R206_SimpleAssociation_is_a_Association_extent.remove( R206_SimpleAssociation_is_a_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR206_is_a_SimpleAssociation(SimpleAssociationImpl.EMPTY_SIMPLEASSOCIATION);
            form.setR206_is_a_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R206_SubtypeSupertypeAssociation_is_a_Association( SubtypeSupertypeAssociation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R206_SubtypeSupertypeAssociation_is_a_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR206_is_a_SubtypeSupertypeAssociation(form);
            form.setR206_is_a_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R206_SubtypeSupertypeAssociation_is_a_Association( SubtypeSupertypeAssociation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R206_SubtypeSupertypeAssociation_is_a_Association_extent.remove( R206_SubtypeSupertypeAssociation_is_a_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR206_is_a_SubtypeSupertypeAssociation(SubtypeSupertypeAssociationImpl.EMPTY_SUBTYPESUPERTYPEASSOCIATION);
            form.setR206_is_a_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R207_ClassAsSimpleParticipant_is_related_to_formalizer_via_SimpleAssociation( ClassAsSimpleParticipant form, SimpleAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R207_ClassAsSimpleParticipant_is_related_to_formalizer_via_SimpleAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR207_relates_ClassAsSimpleParticipant(form);
            form.setR207_is_related_to_formalizer_via_SimpleAssociation(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R207_ClassAsSimpleParticipant_is_related_to_formalizer_via_SimpleAssociation( ClassAsSimpleParticipant form, SimpleAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R207_ClassAsSimpleParticipant_is_related_to_formalizer_via_SimpleAssociation_extent.remove( R207_ClassAsSimpleParticipant_is_related_to_formalizer_via_SimpleAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR207_relates_ClassAsSimpleParticipant(form);
            form.setR207_is_related_to_formalizer_via_SimpleAssociation(SimpleAssociationImpl.EMPTY_SIMPLEASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R208_ClassAsSimpleFormalizer_is_related_to_participant_via_SimpleAssociation( ClassAsSimpleFormalizer form, SimpleAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R208_ClassAsSimpleFormalizer_is_related_to_participant_via_SimpleAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR208_relates_ClassAsSimpleFormalizer(form);
            form.setR208_is_related_to_participant_via_SimpleAssociation(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R208_ClassAsSimpleFormalizer_is_related_to_participant_via_SimpleAssociation( ClassAsSimpleFormalizer form, SimpleAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R208_ClassAsSimpleFormalizer_is_related_to_participant_via_SimpleAssociation_extent.remove( R208_ClassAsSimpleFormalizer_is_related_to_participant_via_SimpleAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR208_relates_ClassAsSimpleFormalizer(ClassAsSimpleFormalizerImpl.EMPTY_CLASSASSIMPLEFORMALIZER);
            form.setR208_is_related_to_participant_via_SimpleAssociation(SimpleAssociationImpl.EMPTY_SIMPLEASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R209_ClassAsAssociatedOneSide_is_related_to_other_side_via_LinkedAssociation( ClassAsAssociatedOneSide form, LinkedAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R209_ClassAsAssociatedOneSide_is_related_to_other_side_via_LinkedAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR209_relates_ClassAsAssociatedOneSide(form);
            form.setR209_is_related_to_other_side_via_LinkedAssociation(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R209_ClassAsAssociatedOneSide_is_related_to_other_side_via_LinkedAssociation( ClassAsAssociatedOneSide form, LinkedAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R209_ClassAsAssociatedOneSide_is_related_to_other_side_via_LinkedAssociation_extent.remove( R209_ClassAsAssociatedOneSide_is_related_to_other_side_via_LinkedAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR209_relates_ClassAsAssociatedOneSide(ClassAsAssociatedOneSideImpl.EMPTY_CLASSASASSOCIATEDONESIDE);
            form.setR209_is_related_to_other_side_via_LinkedAssociation(LinkedAssociationImpl.EMPTY_LINKEDASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R20_Bridge_return_value_defined_by_DataType( Bridge form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R20_Bridge_return_value_defined_by_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR20_defines_the_return_value_Bridge(form);
            form.setR20_return_value_defined_by_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R20_Bridge_return_value_defined_by_DataType( Bridge form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R20_Bridge_return_value_defined_by_DataType_extent.remove( R20_Bridge_return_value_defined_by_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR20_defines_the_return_value_Bridge(form);
            form.setR20_return_value_defined_by_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R210_ClassAsAssociatedOtherSide_is_related_to_one_side_via_LinkedAssociation( ClassAsAssociatedOtherSide form, LinkedAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R210_ClassAsAssociatedOtherSide_is_related_to_one_side_via_LinkedAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR210_relates_ClassAsAssociatedOtherSide(form);
            form.setR210_is_related_to_one_side_via_LinkedAssociation(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R210_ClassAsAssociatedOtherSide_is_related_to_one_side_via_LinkedAssociation( ClassAsAssociatedOtherSide form, LinkedAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R210_ClassAsAssociatedOtherSide_is_related_to_one_side_via_LinkedAssociation_extent.remove( R210_ClassAsAssociatedOtherSide_is_related_to_one_side_via_LinkedAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR210_relates_ClassAsAssociatedOtherSide(ClassAsAssociatedOtherSideImpl.EMPTY_CLASSASASSOCIATEDOTHERSIDE);
            form.setR210_is_related_to_one_side_via_LinkedAssociation(LinkedAssociationImpl.EMPTY_LINKEDASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R211_ClassAsLink_formalizes_association_between_associated_classes_LinkedAssociation( ClassAsLink form, LinkedAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R211_ClassAsLink_formalizes_association_between_associated_classes_LinkedAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR211_uses_a_formalizer_ClassAsLink(form);
            form.setR211_formalizes_association_between_associated_classes_LinkedAssociation(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R211_ClassAsLink_formalizes_association_between_associated_classes_LinkedAssociation( ClassAsLink form, LinkedAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R211_ClassAsLink_formalizes_association_between_associated_classes_LinkedAssociation_extent.remove( R211_ClassAsLink_formalizes_association_between_associated_classes_LinkedAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR211_uses_a_formalizer_ClassAsLink(ClassAsLinkImpl.EMPTY_CLASSASLINK);
            form.setR211_formalizes_association_between_associated_classes_LinkedAssociation(LinkedAssociationImpl.EMPTY_LINKEDASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R212_ClassAsSupertype_is_related_to_subtypes_via_SubtypeSupertypeAssociation( ClassAsSupertype form, SubtypeSupertypeAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R212_ClassAsSupertype_is_related_to_subtypes_via_SubtypeSupertypeAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR212_relates_ClassAsSupertype(form);
            form.setR212_is_related_to_subtypes_via_SubtypeSupertypeAssociation(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R212_ClassAsSupertype_is_related_to_subtypes_via_SubtypeSupertypeAssociation( ClassAsSupertype form, SubtypeSupertypeAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R212_ClassAsSupertype_is_related_to_subtypes_via_SubtypeSupertypeAssociation_extent.remove( R212_ClassAsSupertype_is_related_to_subtypes_via_SubtypeSupertypeAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR212_relates_ClassAsSupertype(ClassAsSupertypeImpl.EMPTY_CLASSASSUPERTYPE);
            form.setR212_is_related_to_subtypes_via_SubtypeSupertypeAssociation(SubtypeSupertypeAssociationImpl.EMPTY_SUBTYPESUPERTYPEASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R213_ClassAsSubtype_is_related_to_supertype_via_SubtypeSupertypeAssociation( ClassAsSubtype form, SubtypeSupertypeAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R213_ClassAsSubtype_is_related_to_supertype_via_SubtypeSupertypeAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR213_relates_ClassAsSubtype(form);
            form.setR213_is_related_to_supertype_via_SubtypeSupertypeAssociation(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R213_ClassAsSubtype_is_related_to_supertype_via_SubtypeSupertypeAssociation( ClassAsSubtype form, SubtypeSupertypeAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R213_ClassAsSubtype_is_related_to_supertype_via_SubtypeSupertypeAssociation_extent.remove( R213_ClassAsSubtype_is_related_to_supertype_via_SubtypeSupertypeAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR213_relates_ClassAsSubtype(form);
            form.setR213_is_related_to_supertype_via_SubtypeSupertypeAssociation(SubtypeSupertypeAssociationImpl.EMPTY_SUBTYPESUPERTYPEASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R214_ClassAsDerivedOneSide_is_related_to_other_type_via_DerivedAssociation( ClassAsDerivedOneSide form, DerivedAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R214_ClassAsDerivedOneSide_is_related_to_other_type_via_DerivedAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR214_relates_ClassAsDerivedOneSide(form);
            form.setR214_is_related_to_other_type_via_DerivedAssociation(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R214_ClassAsDerivedOneSide_is_related_to_other_type_via_DerivedAssociation( ClassAsDerivedOneSide form, DerivedAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R214_ClassAsDerivedOneSide_is_related_to_other_type_via_DerivedAssociation_extent.remove( R214_ClassAsDerivedOneSide_is_related_to_other_type_via_DerivedAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR214_relates_ClassAsDerivedOneSide(ClassAsDerivedOneSideImpl.EMPTY_CLASSASDERIVEDONESIDE);
            form.setR214_is_related_to_other_type_via_DerivedAssociation(DerivedAssociationImpl.EMPTY_DERIVEDASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R215_ClassAsDerivedOtherSide_is_related_to_one_side_via_DerivedAssociation( ClassAsDerivedOtherSide form, DerivedAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R215_ClassAsDerivedOtherSide_is_related_to_one_side_via_DerivedAssociation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR215_relates_ClassAsDerivedOtherSide(form);
            form.setR215_is_related_to_one_side_via_DerivedAssociation(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R215_ClassAsDerivedOtherSide_is_related_to_one_side_via_DerivedAssociation( ClassAsDerivedOtherSide form, DerivedAssociation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R215_ClassAsDerivedOtherSide_is_related_to_one_side_via_DerivedAssociation_extent.remove( R215_ClassAsDerivedOtherSide_is_related_to_one_side_via_DerivedAssociation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR215_relates_ClassAsDerivedOtherSide(ClassAsDerivedOtherSideImpl.EMPTY_CLASSASDERIVEDOTHERSIDE);
            form.setR215_is_related_to_one_side_via_DerivedAssociation(DerivedAssociationImpl.EMPTY_DERIVEDASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R21_BridgeParameter_contains_Bridge( BridgeParameter form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R21_BridgeParameter_contains_Bridge_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR21_is_part_of_BridgeParameter(form);
            form.setR21_contains_Bridge(part);
            form.setBrg_ID( part.getBrg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R21_BridgeParameter_contains_Bridge( BridgeParameter form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R21_BridgeParameter_contains_Bridge_extent.remove( R21_BridgeParameter_contains_Bridge_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR21_is_part_of_BridgeParameter(form);
            form.setR21_contains_Bridge(BridgeImpl.EMPTY_BRIDGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R22_BridgeParameter_is_defined_by_DataType( BridgeParameter form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R22_BridgeParameter_is_defined_by_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR22_defines_the_type_of_BridgeParameter(form);
            form.setR22_is_defined_by_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R22_BridgeParameter_is_defined_by_DataType( BridgeParameter form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R22_BridgeParameter_is_defined_by_DataType_extent.remove( R22_BridgeParameter_is_defined_by_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR22_defines_the_type_of_BridgeParameter(form);
            form.setR22_is_defined_by_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R24_FunctionParameter_is_defined_for_S_SYNC( FunctionParameter form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R24_FunctionParameter_is_defined_for_S_SYNC_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR24_defines_FunctionParameter(form);
            form.setR24_is_defined_for_S_SYNC(part);
            form.setSync_ID( part.getSync_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R24_FunctionParameter_is_defined_for_S_SYNC( FunctionParameter form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R24_FunctionParameter_is_defined_for_S_SYNC_extent.remove( R24_FunctionParameter_is_defined_for_S_SYNC_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR24_defines_FunctionParameter(form);
            form.setR24_is_defined_for_S_SYNC(S_SYNCImpl.EMPTY_S_SYNC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R25_S_SYNC_has_return_type_of_DataType( S_SYNC form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R25_S_SYNC_has_return_type_of_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR25_defines_return_type_S_SYNC(form);
            form.setR25_has_return_type_of_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R25_S_SYNC_has_return_type_of_DataType( S_SYNC form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R25_S_SYNC_has_return_type_of_DataType_extent.remove( R25_S_SYNC_has_return_type_of_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR25_defines_return_type_S_SYNC(form);
            form.setR25_has_return_type_of_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R26_FunctionParameter_is_typed_by__DataType( FunctionParameter form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R26_FunctionParameter_is_typed_by__DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR26_describes_type_of_FunctionParameter(form);
            form.setR26_is_typed_by__DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R26_FunctionParameter_is_typed_by__DataType( FunctionParameter form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R26_FunctionParameter_is_typed_by__DataType_extent.remove( R26_FunctionParameter_is_typed_by__DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR26_describes_type_of_FunctionParameter(form);
            form.setR26_is_typed_by__DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R27_S_ENUM_is_defined_by_EnumerationDataType( S_ENUM form, EnumerationDataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R27_S_ENUM_is_defined_by_EnumerationDataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR27_defines_S_ENUM(form);
            form.setR27_is_defined_by_EnumerationDataType(part);
            form.setEDT_DT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R27_S_ENUM_is_defined_by_EnumerationDataType( S_ENUM form, EnumerationDataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R27_S_ENUM_is_defined_by_EnumerationDataType_extent.remove( R27_S_ENUM_is_defined_by_EnumerationDataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR27_defines_S_ENUM(form);
            form.setR27_is_defined_by_EnumerationDataType(EnumerationDataTypeImpl.EMPTY_ENUMERATIONDATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2821_Mark_is_marked_by_Feature( Mark form, Feature part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2821_Mark_is_marked_by_Feature_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2821_marks_Mark(form);
            form.setR2821_is_marked_by_Feature(part);
            form.setFeature_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2821_Mark_is_marked_by_Feature( Mark form, Feature part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2821_Mark_is_marked_by_Feature_extent.remove( R2821_Mark_is_marked_by_Feature_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2821_marks_Mark(form);
            form.setR2821_is_marked_by_Feature(FeatureImpl.EMPTY_FEATURE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2821_Mark_marks_MarkableElementType( Mark form, MarkableElementType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2821_Mark_marks_MarkableElementType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2821_is_marked_by_Mark(form);
            form.setR2821_marks_MarkableElementType(part);
            form.setMarkable_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2821_Mark_marks_MarkableElementType( Mark form, MarkableElementType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2821_Mark_marks_MarkableElementType_extent.remove( R2821_Mark_marks_MarkableElementType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2821_is_marked_by_Mark(form);
            form.setR2821_marks_MarkableElementType(MarkableElementTypeImpl.EMPTY_MARKABLEELEMENTTYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2822_MarkableElementType_makes_available_Feature( MarkableElementType form, Feature part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2822_MarkableElementType_makes_available_Feature_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2822_is_available_for_MarkableElementType(form);
            form.addR2822_makes_available_Feature(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2822_MarkableElementType_makes_available_Feature( MarkableElementType form, Feature part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2822_MarkableElementType_makes_available_Feature_extent.remove( R2822_MarkableElementType_makes_available_Feature_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2822_is_available_for_MarkableElementType(form);
            form.removeR2822_makes_available_Feature(part);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2823_Mark_precedes_Mark( Mark form, Mark part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2823_Mark_precedes_Mark_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2823_succeeds_Mark(form);
            form.setR2823_precedes_Mark(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2823_Mark_precedes_Mark( Mark form, Mark part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2823_Mark_precedes_Mark_extent.remove( R2823_Mark_precedes_Mark_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2823_succeeds_Mark(MarkImpl.EMPTY_MARK);
            form.setR2823_precedes_Mark(MarkImpl.EMPTY_MARK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2901_Link_originates_at_LinkParticipation( Link form, LinkParticipation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2901_Link_originates_at_LinkParticipation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2901_is_origin_of_Link(form);
            form.setR2901_originates_at_LinkParticipation(part);
            form.setFromInst_ID( part.getInst_ID() );
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2901_Link_originates_at_LinkParticipation( Link form, LinkParticipation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2901_Link_originates_at_LinkParticipation_extent.remove( R2901_Link_originates_at_LinkParticipation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2901_is_origin_of_Link(form);
            form.setR2901_originates_at_LinkParticipation(LinkParticipationImpl.EMPTY_LINKPARTICIPATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2902_Link_ends_at_LinkParticipation( Link form, LinkParticipation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2902_Link_ends_at_LinkParticipation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2902_is_destination_of_Link(form);
            form.setR2902_ends_at_LinkParticipation(part);
            form.setRel_ID( part.getRel_ID() );
            form.setToInst_ID( part.getInst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2902_Link_ends_at_LinkParticipation( Link form, LinkParticipation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2902_Link_ends_at_LinkParticipation_extent.remove( R2902_Link_ends_at_LinkParticipation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2902_is_destination_of_Link(form);
            form.setR2902_ends_at_LinkParticipation(LinkParticipationImpl.EMPTY_LINKPARTICIPATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2903_Link_has_associator_LinkParticipation( Link form, LinkParticipation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2903_Link_has_associator_LinkParticipation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2903_is_associator_for_Link(form);
            form.setR2903_has_associator_LinkParticipation(part);
            form.setRel_ID( part.getRel_ID() );
            form.setAssocInst_ID( part.getInst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2903_Link_has_associator_LinkParticipation( Link form, LinkParticipation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2903_Link_has_associator_LinkParticipation_extent.remove( R2903_Link_has_associator_LinkParticipation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2903_is_associator_for_Link(form);
            form.setR2903_has_associator_LinkParticipation(LinkParticipationImpl.EMPTY_LINKPARTICIPATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2904_Link_is_instance_of_Association( Link form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2904_Link_is_instance_of_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2904_has_instances_Link(form);
            form.setR2904_is_instance_of_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2904_Link_is_instance_of_Association( Link form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2904_Link_is_instance_of_Association_extent.remove( R2904_Link_is_instance_of_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2904_has_instances_Link(form);
            form.setR2904_is_instance_of_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2906_PendingEvent_is_instance_of_StateMachineEvent( PendingEvent form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2906_PendingEvent_is_instance_of_StateMachineEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2906_has_instances_PendingEvent(form);
            form.setR2906_is_instance_of_StateMachineEvent(part);
            form.setSMevt_ID( part.getSMevt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2906_PendingEvent_is_instance_of_StateMachineEvent( PendingEvent form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2906_PendingEvent_is_instance_of_StateMachineEvent_extent.remove( R2906_PendingEvent_is_instance_of_StateMachineEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2906_has_instances_PendingEvent(form);
            form.setR2906_is_instance_of_StateMachineEvent(StateMachineEventImpl.EMPTY_STATEMACHINEEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2907_PendingEvent_is_pending_for_I_INS( PendingEvent form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2907_PendingEvent_is_pending_for_I_INS_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2907_has_waiting_PendingEvent(form);
            form.setR2907_is_pending_for_I_INS(part);
            form.setTarget_Inst_ID( part.getInst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2907_PendingEvent_is_pending_for_I_INS( PendingEvent form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2907_PendingEvent_is_pending_for_I_INS_extent.remove( R2907_PendingEvent_is_pending_for_I_INS_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2907_has_waiting_PendingEvent(form);
            form.setR2907_is_pending_for_I_INS(I_INSImpl.EMPTY_I_INS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2908_PendingEvent_will_be_processed_after_PendingEvent( PendingEvent form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2908_PendingEvent_will_be_processed_after_PendingEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2908_will_be_processed_before_PendingEvent(form);
            form.setR2908_will_be_processed_after_PendingEvent(part);
            form.setNextEvent_ID( part.getEvent_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2908_PendingEvent_will_be_processed_after_PendingEvent( PendingEvent form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2908_PendingEvent_will_be_processed_after_PendingEvent_extent.remove( R2908_PendingEvent_will_be_processed_after_PendingEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2908_will_be_processed_before_PendingEvent(PendingEventImpl.EMPTY_PENDINGEVENT);
            form.setR2908_will_be_processed_after_PendingEvent(PendingEventImpl.EMPTY_PENDINGEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2909_AttributeValue_defines_value_for_characteristic_of_I_INS( AttributeValue form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2909_AttributeValue_defines_value_for_characteristic_of_I_INS_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2909_has_characteristic_abstracted_by_AttributeValue(form);
            form.setR2909_defines_value_for_characteristic_of_I_INS(part);
            form.setInst_ID( part.getInst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2909_AttributeValue_defines_value_for_characteristic_of_I_INS( AttributeValue form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2909_AttributeValue_defines_value_for_characteristic_of_I_INS_extent.remove( R2909_AttributeValue_defines_value_for_characteristic_of_I_INS_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2909_has_characteristic_abstracted_by_AttributeValue(form);
            form.setR2909_defines_value_for_characteristic_of_I_INS(I_INSImpl.EMPTY_I_INS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2910_AttributeValue_is_instance_of_O_ATTR( AttributeValue form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2910_AttributeValue_is_instance_of_O_ATTR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2910_has_instances_AttributeValue(form);
            form.setR2910_is_instance_of_O_ATTR(part);
            form.setAttr_ID( part.getAttr_ID() );
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2910_AttributeValue_is_instance_of_O_ATTR( AttributeValue form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2910_AttributeValue_is_instance_of_O_ATTR_extent.remove( R2910_AttributeValue_is_instance_of_O_ATTR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2910_has_instances_AttributeValue(form);
            form.setR2910_is_instance_of_O_ATTR(O_ATTRImpl.EMPTY_O_ATTR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2915_I_INS_occupies_StateMachineState( I_INS form, StateMachineState part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2915_I_INS_occupies_StateMachineState_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2915_defines_state_of_I_INS(form);
            form.setR2915_occupies_StateMachineState(part);
            form.setSM_ID( part.getSM_ID() );
            form.setSMstt_ID( part.getSMstt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2915_I_INS_occupies_StateMachineState( I_INS form, StateMachineState part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2915_I_INS_occupies_StateMachineState_extent.remove( R2915_I_INS_occupies_StateMachineState_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2915_defines_state_of_I_INS(form);
            form.setR2915_occupies_StateMachineState(StateMachineStateImpl.EMPTY_STATEMACHINESTATE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2923_BlockInStackFrame_is_executed_within_the_context_of_StackFrame( BlockInStackFrame form, StackFrame part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2923_BlockInStackFrame_is_executed_within_the_context_of_StackFrame_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2923_supplies_context_for_BlockInStackFrame(form);
            form.setR2923_is_executed_within_the_context_of_StackFrame(part);
            form.setStack_Frame_ID( part.getStack_Frame_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2923_BlockInStackFrame_is_executed_within_the_context_of_StackFrame( BlockInStackFrame form, StackFrame part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2923_BlockInStackFrame_is_executed_within_the_context_of_StackFrame_extent.remove( R2923_BlockInStackFrame_is_executed_within_the_context_of_StackFrame_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2923_supplies_context_for_BlockInStackFrame(form);
            form.setR2923_is_executed_within_the_context_of_StackFrame(StackFrameImpl.EMPTY_STACKFRAME);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2923_BlockInStackFrame_supplies_context_for_Block( BlockInStackFrame form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2923_BlockInStackFrame_supplies_context_for_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2923_is_executed_within_the_context_of_BlockInStackFrame(form);
            form.setR2923_supplies_context_for_Block(part);
            form.setBlock_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2923_BlockInStackFrame_supplies_context_for_Block( BlockInStackFrame form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2923_BlockInStackFrame_supplies_context_for_Block_extent.remove( R2923_BlockInStackFrame_supplies_context_for_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2923_is_executed_within_the_context_of_BlockInStackFrame(form);
            form.setR2923_supplies_context_for_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2928_StackFrame_next_context_StackFrame( StackFrame form, StackFrame part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2928_StackFrame_next_context_StackFrame_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2928_previous_context_StackFrame(form);
            form.setR2928_next_context_StackFrame(part);
            form.setChild_Stack_Frame_ID( part.getStack_Frame_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2928_StackFrame_next_context_StackFrame( StackFrame form, StackFrame part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2928_StackFrame_next_context_StackFrame_extent.remove( R2928_StackFrame_next_context_StackFrame_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2928_previous_context_StackFrame(StackFrameImpl.EMPTY_STACKFRAME);
            form.setR2928_next_context_StackFrame(StackFrameImpl.EMPTY_STACKFRAME);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2929_StackFrame_is_processed_by_Stack( StackFrame form, Stack part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2929_StackFrame_is_processed_by_Stack_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2929_has_a_top_StackFrame(form);
            form.setR2929_is_processed_by_Stack(part);
            form.setTop_Stack_Frame_Stack_ID( part.getStack_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2929_StackFrame_is_processed_by_Stack( StackFrame form, Stack part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2929_StackFrame_is_processed_by_Stack_extent.remove( R2929_StackFrame_is_processed_by_Stack_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2929_has_a_top_StackFrame(StackFrameImpl.EMPTY_STACKFRAME);
            form.setR2929_is_processed_by_Stack(StackImpl.EMPTY_STACK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2930_Stack_is_controlled_by_ComponentInstance( Stack form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2930_Stack_is_controlled_by_ComponentInstance_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2930_controls_Stack(form);
            form.setR2930_is_controlled_by_ComponentInstance(part);
            form.setExecution_Engine_ID( part.getExecution_Engine_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2930_Stack_is_controlled_by_ComponentInstance( Stack form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2930_Stack_is_controlled_by_ComponentInstance_extent.remove( R2930_Stack_is_controlled_by_ComponentInstance_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2930_controls_Stack(StackImpl.EMPTY_STACK);
            form.setR2930_is_controlled_by_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2933_DataItemValue_PendingEvent( DataItemValue form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2933_DataItemValue_PendingEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2933_DataItemValue(form);
            form.setR2933_PendingEvent(part);
            form.setEvent_ID( part.getEvent_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2933_DataItemValue_PendingEvent( DataItemValue form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2933_DataItemValue_PendingEvent_extent.remove( R2933_DataItemValue_PendingEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2933_DataItemValue(form);
            form.setR2933_PendingEvent(PendingEventImpl.EMPTY_PENDINGEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2934_DataItemValue_StateMachineEventDataItem( DataItemValue form, StateMachineEventDataItem part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2934_DataItemValue_StateMachineEventDataItem_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2934_DataItemValue(form);
            form.setR2934_StateMachineEventDataItem(part);
            form.setSMedi_ID( part.getSMedi_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2934_DataItemValue_StateMachineEventDataItem( DataItemValue form, StateMachineEventDataItem part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2934_DataItemValue_StateMachineEventDataItem_extent.remove( R2934_DataItemValue_StateMachineEventDataItem_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2934_DataItemValue(form);
            form.setR2934_StateMachineEventDataItem(StateMachineEventDataItemImpl.EMPTY_STATEMACHINEEVENTDATAITEM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2935_PendingEvent_targets_I_INS( PendingEvent form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2935_PendingEvent_targets_I_INS_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2935_is_target_of_PendingEvent(form);
            form.setR2935_targets_I_INS(part);
            form.setTarget_Inst_ID( part.getInst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2935_PendingEvent_targets_I_INS( PendingEvent form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2935_PendingEvent_targets_I_INS_extent.remove( R2935_PendingEvent_targets_I_INS_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2935_is_target_of_PendingEvent(form);
            form.setR2935_targets_I_INS(I_INSImpl.EMPTY_I_INS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2937_PendingEvent_was_sent_from_I_INS( PendingEvent form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2937_PendingEvent_was_sent_from_I_INS_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2937_sends_PendingEvent(form);
            form.setR2937_was_sent_from_I_INS(part);
            form.setSent_By_Inst_ID( part.getInst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2937_PendingEvent_was_sent_from_I_INS( PendingEvent form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2937_PendingEvent_was_sent_from_I_INS_extent.remove( R2937_PendingEvent_was_sent_from_I_INS_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2937_sends_PendingEvent(form);
            form.setR2937_was_sent_from_I_INS(I_INSImpl.EMPTY_I_INS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2939_PendingEvent_will_be_processed_before_PendingEvent( PendingEvent form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2939_PendingEvent_will_be_processed_before_PendingEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2939_will_be_processed_after_PendingEvent(form);
            form.setR2939_will_be_processed_before_PendingEvent(part);
            form.setNext_self_Event_ID( part.getEvent_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2939_PendingEvent_will_be_processed_before_PendingEvent( PendingEvent form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2939_PendingEvent_will_be_processed_before_PendingEvent_extent.remove( R2939_PendingEvent_will_be_processed_before_PendingEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2939_will_be_processed_after_PendingEvent(PendingEventImpl.EMPTY_PENDINGEVENT);
            form.setR2939_will_be_processed_before_PendingEvent(PendingEventImpl.EMPTY_PENDINGEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2940_Timer_provides_delayed_delivery_of_PendingEvent( Timer form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2940_Timer_provides_delayed_delivery_of_PendingEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2940_delivered_by_Timer(form);
            form.setR2940_provides_delayed_delivery_of_PendingEvent(part);
            form.setEvent_ID( part.getEvent_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2940_Timer_provides_delayed_delivery_of_PendingEvent( Timer form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2940_Timer_provides_delayed_delivery_of_PendingEvent_extent.remove( R2940_Timer_provides_delayed_delivery_of_PendingEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2940_delivered_by_Timer(TimerImpl.EMPTY_TIMER);
            form.setR2940_provides_delayed_delivery_of_PendingEvent(PendingEventImpl.EMPTY_PENDINGEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2941_BlockInStackFrame_is_currently_visiting_ACT_SMT( BlockInStackFrame form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2941_BlockInStackFrame_is_currently_visiting_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2941_is_visited_within_scope_of_BlockInStackFrame(form);
            form.setR2941_is_currently_visiting_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2941_BlockInStackFrame_is_currently_visiting_ACT_SMT( BlockInStackFrame form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2941_BlockInStackFrame_is_currently_visiting_ACT_SMT_extent.remove( R2941_BlockInStackFrame_is_currently_visiting_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2941_is_visited_within_scope_of_BlockInStackFrame(form);
            form.setR2941_is_currently_visiting_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2943_StackFrame_processed_by_Stack( StackFrame form, Stack part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2943_StackFrame_processed_by_Stack_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2943_executes_StackFrame(form);
            form.setR2943_processed_by_Stack(part);
            form.setStack_ID( part.getStack_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2943_StackFrame_processed_by_Stack( StackFrame form, Stack part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2943_StackFrame_processed_by_Stack_extent.remove( R2943_StackFrame_processed_by_Stack_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2943_executes_StackFrame(form);
            form.setR2943_processed_by_Stack(StackImpl.EMPTY_STACK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2944_EventQueueEntry_ComponentInstance( EventQueueEntry form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2944_EventQueueEntry_ComponentInstance_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2944_EventQueueEntry(form);
            form.setR2944_ComponentInstance(part);
            form.setExecution_Engine_ID( part.getExecution_Engine_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2944_EventQueueEntry_ComponentInstance( EventQueueEntry form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2944_EventQueueEntry_ComponentInstance_extent.remove( R2944_EventQueueEntry_ComponentInstance_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2944_EventQueueEntry(form);
            form.setR2944_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2944_EventQueueEntry_PendingEvent( EventQueueEntry form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2944_EventQueueEntry_PendingEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2944_EventQueueEntry(form);
            form.setR2944_PendingEvent(part);
            form.setEvent_ID( part.getEvent_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2944_EventQueueEntry_PendingEvent( EventQueueEntry form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2944_EventQueueEntry_PendingEvent_extent.remove( R2944_EventQueueEntry_PendingEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2944_EventQueueEntry(EventQueueEntryImpl.EMPTY_EVENTQUEUEENTRY);
            form.setR2944_PendingEvent(PendingEventImpl.EMPTY_PENDINGEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2945_EventQueueEntry_follows_EventQueueEntry( EventQueueEntry form, EventQueueEntry part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2945_EventQueueEntry_follows_EventQueueEntry_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2945_precedes_EventQueueEntry(form);
            form.setR2945_follows_EventQueueEntry(part);
            form.setNext_Event_Queue_Entry_ID( part.getEvent_Queue_Entry_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2945_EventQueueEntry_follows_EventQueueEntry( EventQueueEntry form, EventQueueEntry part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2945_EventQueueEntry_follows_EventQueueEntry_extent.remove( R2945_EventQueueEntry_follows_EventQueueEntry_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2945_precedes_EventQueueEntry(EventQueueEntryImpl.EMPTY_EVENTQUEUEENTRY);
            form.setR2945_follows_EventQueueEntry(EventQueueEntryImpl.EMPTY_EVENTQUEUEENTRY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2946_SelfQueueEntry_ComponentInstance( SelfQueueEntry form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2946_SelfQueueEntry_ComponentInstance_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2946_SelfQueueEntry(form);
            form.setR2946_ComponentInstance(part);
            form.setExecution_Engine_ID( part.getExecution_Engine_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2946_SelfQueueEntry_ComponentInstance( SelfQueueEntry form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2946_SelfQueueEntry_ComponentInstance_extent.remove( R2946_SelfQueueEntry_ComponentInstance_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2946_SelfQueueEntry(form);
            form.setR2946_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2946_SelfQueueEntry_PendingEvent( SelfQueueEntry form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2946_SelfQueueEntry_PendingEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2946_SelfQueueEntry(form);
            form.setR2946_PendingEvent(part);
            form.setEvent_ID( part.getEvent_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2946_SelfQueueEntry_PendingEvent( SelfQueueEntry form, PendingEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2946_SelfQueueEntry_PendingEvent_extent.remove( R2946_SelfQueueEntry_PendingEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2946_SelfQueueEntry(SelfQueueEntryImpl.EMPTY_SELFQUEUEENTRY);
            form.setR2946_PendingEvent(PendingEventImpl.EMPTY_PENDINGEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2947_SelfQueueEntry_follows_SelfQueueEntry( SelfQueueEntry form, SelfQueueEntry part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2947_SelfQueueEntry_follows_SelfQueueEntry_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2947_precedes_SelfQueueEntry(form);
            form.setR2947_follows_SelfQueueEntry(part);
            form.setNext_Self_Queue_Entry_ID( part.getSelf_Queue_Entry_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2947_SelfQueueEntry_follows_SelfQueueEntry( SelfQueueEntry form, SelfQueueEntry part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2947_SelfQueueEntry_follows_SelfQueueEntry_extent.remove( R2947_SelfQueueEntry_follows_SelfQueueEntry_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2947_precedes_SelfQueueEntry(SelfQueueEntryImpl.EMPTY_SELFQUEUEENTRY);
            form.setR2947_follows_SelfQueueEntry(SelfQueueEntryImpl.EMPTY_SELFQUEUEENTRY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2949_Monitor_monitored_by_ComponentInstance( Monitor form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2949_Monitor_monitored_by_ComponentInstance_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2949_monitors_Monitor(form);
            form.setR2949_monitored_by_ComponentInstance(part);
            form.setExecution_Engine_ID( part.getExecution_Engine_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2949_Monitor_monitored_by_ComponentInstance( Monitor form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2949_Monitor_monitored_by_ComponentInstance_extent.remove( R2949_Monitor_monitored_by_ComponentInstance_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2949_monitors_Monitor(form);
            form.setR2949_monitored_by_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2949_Monitor_monitors_I_INS( Monitor form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2949_Monitor_monitors_I_INS_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2949_monitored_by_Monitor(form);
            form.setR2949_monitors_I_INS(part);
            form.setInst_ID( part.getInst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2949_Monitor_monitors_I_INS( Monitor form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2949_Monitor_monitors_I_INS_extent.remove( R2949_Monitor_monitors_I_INS_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2949_monitored_by_Monitor(MonitorImpl.EMPTY_MONITOR);
            form.setR2949_monitors_I_INS(I_INSImpl.EMPTY_I_INS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2951_ValueInStackFrame_StackFrame( ValueInStackFrame form, StackFrame part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2951_ValueInStackFrame_StackFrame_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2951_ValueInStackFrame(form);
            form.setR2951_StackFrame(part);
            form.setStack_Frame_ID( part.getStack_Frame_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2951_ValueInStackFrame_StackFrame( ValueInStackFrame form, StackFrame part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2951_ValueInStackFrame_StackFrame_extent.remove( R2951_ValueInStackFrame_StackFrame_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2951_ValueInStackFrame(form);
            form.setR2951_StackFrame(StackFrameImpl.EMPTY_STACKFRAME);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2953_I_INS_entered_last_state_via_Transition( I_INS form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2953_I_INS_entered_last_state_via_Transition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2953_caused_last_state_change_to_I_INS(form);
            form.setR2953_entered_last_state_via_Transition(part);
            form.setSM_ID( part.getSM_ID() );
            form.setTrans_ID( part.getTrans_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2953_I_INS_entered_last_state_via_Transition( I_INS form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2953_I_INS_entered_last_state_via_Transition_extent.remove( R2953_I_INS_entered_last_state_via_Transition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2953_caused_last_state_change_to_I_INS(form);
            form.setR2953_entered_last_state_via_Transition(TransitionImpl.EMPTY_TRANSITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2954_StackFrame_has_context_I_INS( StackFrame form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2954_StackFrame_has_context_I_INS_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2954_provides_context_for_StackFrame(form);
            form.setR2954_has_context_I_INS(part);
            form.setInst_ID( part.getInst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2954_StackFrame_has_context_I_INS( StackFrame form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2954_StackFrame_has_context_I_INS_extent.remove( R2954_StackFrame_has_context_I_INS_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2954_provides_context_for_StackFrame(form);
            form.setR2954_has_context_I_INS(I_INSImpl.EMPTY_I_INS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2955_ComponentInstance_is_verifying_instance_of_C_C( ComponentInstance form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2955_ComponentInstance_is_verifying_instance_of_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2955_instance_being_verified_by_ComponentInstance(form);
            form.setR2955_is_verifying_instance_of_C_C(part);
            form.setComponent_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2955_ComponentInstance_is_verifying_instance_of_C_C( ComponentInstance form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2955_ComponentInstance_is_verifying_instance_of_C_C_extent.remove( R2955_ComponentInstance_is_verifying_instance_of_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2955_instance_being_verified_by_ComponentInstance(form);
            form.setR2955_is_verifying_instance_of_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2956_DataItemValue_PropertyParameter( DataItemValue form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2956_DataItemValue_PropertyParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2956_DataItemValue(form);
            form.setR2956_PropertyParameter(part);
            form.setPP_Id( part.getPP_Id() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2956_DataItemValue_PropertyParameter( DataItemValue form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2956_DataItemValue_PropertyParameter_extent.remove( R2956_DataItemValue_PropertyParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2956_DataItemValue(form);
            form.setR2956_PropertyParameter(PropertyParameterImpl.EMPTY_PROPERTYPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2957_I_INS_created_by_ComponentInstance( I_INS form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2957_I_INS_created_by_ComponentInstance_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2957_creates_I_INS(form);
            form.setR2957_created_by_ComponentInstance(part);
            form.setExecution_Engine_ID( part.getExecution_Engine_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2957_I_INS_created_by_ComponentInstance( I_INS form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2957_I_INS_created_by_ComponentInstance_extent.remove( R2957_I_INS_created_by_ComponentInstance_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2957_creates_I_INS(form);
            form.setR2957_created_by_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2958_LinkParticipation_I_INS( LinkParticipation form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2958_LinkParticipation_I_INS_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2958_LinkParticipation(form);
            form.setR2958_I_INS(part);
            form.setInst_ID( part.getInst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2958_LinkParticipation_I_INS( LinkParticipation form, I_INS part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2958_LinkParticipation_I_INS_extent.remove( R2958_LinkParticipation_I_INS_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2958_LinkParticipation(form);
            form.setR2958_I_INS(I_INSImpl.EMPTY_I_INS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2959_LinkParticipation_Association( LinkParticipation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2959_LinkParticipation_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2959_LinkParticipation(form);
            form.setR2959_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2959_LinkParticipation_Association( LinkParticipation form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2959_LinkParticipation_Association_extent.remove( R2959_LinkParticipation_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2959_LinkParticipation(form);
            form.setR2959_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2963_ComponentInstance_is_verifying_instance_of_ComponentReference( ComponentInstance form, ComponentReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2963_ComponentInstance_is_verifying_instance_of_ComponentReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2963_instance_being_verified_by_ComponentInstance(form);
            form.setR2963_is_verifying_instance_of_ComponentReference(part);
            form.setImportedComponent_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2963_ComponentInstance_is_verifying_instance_of_ComponentReference( ComponentInstance form, ComponentReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2963_ComponentInstance_is_verifying_instance_of_ComponentReference_extent.remove( R2963_ComponentInstance_is_verifying_instance_of_ComponentReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2963_instance_being_verified_by_ComponentInstance(form);
            form.setR2963_is_verifying_instance_of_ComponentReference(ComponentReferenceImpl.EMPTY_COMPONENTREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2964_PendingEvent_is_pending_in_ComponentInstance( PendingEvent form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2964_PendingEvent_is_pending_in_ComponentInstance_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2964_houses_PendingEvent(form);
            form.setR2964_is_pending_in_ComponentInstance(part);
            form.setExecution_Engine_ID( part.getExecution_Engine_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2964_PendingEvent_is_pending_in_ComponentInstance( PendingEvent form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2964_PendingEvent_is_pending_in_ComponentInstance_extent.remove( R2964_PendingEvent_is_pending_in_ComponentInstance_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2964_houses_PendingEvent(form);
            form.setR2964_is_pending_in_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2965_StackFrame_blocked_by_StackFrame( StackFrame form, StackFrame part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2965_StackFrame_blocked_by_StackFrame_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2965_blocks_StackFrame(form);
            form.setR2965_blocked_by_StackFrame(part);
            form.setBlocking_Stack_Frame_ID( part.getStack_Frame_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2965_StackFrame_blocked_by_StackFrame( StackFrame form, StackFrame part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2965_StackFrame_blocked_by_StackFrame_extent.remove( R2965_StackFrame_blocked_by_StackFrame_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2965_blocks_StackFrame(StackFrameImpl.EMPTY_STACKFRAME);
            form.setR2965_blocked_by_StackFrame(StackFrameImpl.EMPTY_STACKFRAME);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2966_IntercomponentQueueEntry_has_queued_StackFrame( IntercomponentQueueEntry form, StackFrame part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2966_IntercomponentQueueEntry_has_queued_StackFrame_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2966_is_enqueued_with_IntercomponentQueueEntry(form);
            form.setR2966_has_queued_StackFrame(part);
            form.setStack_Frame_ID( part.getStack_Frame_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2966_IntercomponentQueueEntry_has_queued_StackFrame( IntercomponentQueueEntry form, StackFrame part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2966_IntercomponentQueueEntry_has_queued_StackFrame_extent.remove( R2966_IntercomponentQueueEntry_has_queued_StackFrame_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2966_is_enqueued_with_IntercomponentQueueEntry(IntercomponentQueueEntryImpl.EMPTY_INTERCOMPONENTQUEUEENTRY);
            form.setR2966_has_queued_StackFrame(StackFrameImpl.EMPTY_STACKFRAME);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2966_IntercomponentQueueEntry_is_enqueued_with_Stack( IntercomponentQueueEntry form, Stack part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2966_IntercomponentQueueEntry_is_enqueued_with_Stack_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2966_has_queued_IntercomponentQueueEntry(form);
            form.setR2966_is_enqueued_with_Stack(part);
            form.setStack_ID( part.getStack_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2966_IntercomponentQueueEntry_is_enqueued_with_Stack( IntercomponentQueueEntry form, Stack part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2966_IntercomponentQueueEntry_is_enqueued_with_Stack_extent.remove( R2966_IntercomponentQueueEntry_is_enqueued_with_Stack_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2966_has_queued_IntercomponentQueueEntry(form);
            form.setR2966_is_enqueued_with_Stack(StackImpl.EMPTY_STACK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2967_StackFrame_holds_return_value_for_Stack( StackFrame form, Stack part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2967_StackFrame_holds_return_value_for_Stack_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2967_has_return_values_on_StackFrame(form);
            form.setR2967_holds_return_value_for_Stack(part);
            form.setValue_Q_Stack_ID( part.getStack_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2967_StackFrame_holds_return_value_for_Stack( StackFrame form, Stack part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2967_StackFrame_holds_return_value_for_Stack_extent.remove( R2967_StackFrame_holds_return_value_for_Stack_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2967_has_return_values_on_StackFrame(form);
            form.setR2967_holds_return_value_for_Stack(StackImpl.EMPTY_STACK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2968_RuntimeChannel_is_interface_provider_to_ComponentInstance( RuntimeChannel form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2968_RuntimeChannel_is_interface_provider_to_ComponentInstance_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2968_is_interface_requirer_of_RuntimeChannel(form);
            form.setR2968_is_interface_provider_to_ComponentInstance(part);
            form.setExecution_Engine_ID( part.getExecution_Engine_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2968_RuntimeChannel_is_interface_provider_to_ComponentInstance( RuntimeChannel form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2968_RuntimeChannel_is_interface_provider_to_ComponentInstance_extent.remove( R2968_RuntimeChannel_is_interface_provider_to_ComponentInstance_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2968_is_interface_requirer_of_RuntimeChannel(form);
            form.setR2968_is_interface_provider_to_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2968_RuntimeChannel_is_interface_requirer_of_ComponentInstance( RuntimeChannel form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2968_RuntimeChannel_is_interface_requirer_of_ComponentInstance_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2968_is_interface_provider_to_RuntimeChannel(form);
            form.setR2968_is_interface_requirer_of_ComponentInstance(part);
            form.setOther_Execution_Engine_ID( part.getExecution_Engine_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2968_RuntimeChannel_is_interface_requirer_of_ComponentInstance( RuntimeChannel form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2968_RuntimeChannel_is_interface_requirer_of_ComponentInstance_extent.remove( R2968_RuntimeChannel_is_interface_requirer_of_ComponentInstance_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2968_is_interface_provider_to_RuntimeChannel(form);
            form.setR2968_is_interface_requirer_of_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2969_RuntimeChannel_implements_Satisfaction( RuntimeChannel form, Satisfaction part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2969_RuntimeChannel_implements_Satisfaction_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2969_is_implemented_at_runtime_by_RuntimeChannel(form);
            form.setR2969_implements_Satisfaction(part);
            form.setSatisfaction_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2969_RuntimeChannel_implements_Satisfaction( RuntimeChannel form, Satisfaction part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2969_RuntimeChannel_implements_Satisfaction_extent.remove( R2969_RuntimeChannel_implements_Satisfaction_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2969_is_implemented_at_runtime_by_RuntimeChannel(form);
            form.setR2969_implements_Satisfaction(SatisfactionImpl.EMPTY_SATISFACTION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2970_ComponentInstance_is_verifying_EP_PKG( ComponentInstance form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2970_ComponentInstance_is_verifying_EP_PKG_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2970_is_being_verified_by_ComponentInstance(form);
            form.setR2970_is_verifying_EP_PKG(part);
            form.setPackage_ID( part.getPackage_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2970_ComponentInstance_is_verifying_EP_PKG( ComponentInstance form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2970_ComponentInstance_is_verifying_EP_PKG_extent.remove( R2970_ComponentInstance_is_verifying_EP_PKG_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2970_is_being_verified_by_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
            form.setR2970_is_verifying_EP_PKG(EP_PKGImpl.EMPTY_EP_PKG);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2972_RuntimeChannel_implements_Delegation( RuntimeChannel form, Delegation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2972_RuntimeChannel_implements_Delegation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2972_is_implemented_at_runtime_by_RuntimeChannel(form);
            form.setR2972_implements_Delegation(part);
            form.setDelegation_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2972_RuntimeChannel_implements_Delegation( RuntimeChannel form, Delegation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2972_RuntimeChannel_implements_Delegation_extent.remove( R2972_RuntimeChannel_implements_Delegation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2972_is_implemented_at_runtime_by_RuntimeChannel(form);
            form.setR2972_implements_Delegation(DelegationImpl.EMPTY_DELEGATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2973_RuntimeChannel_requirer_RuntimeChannel( RuntimeChannel form, RuntimeChannel part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2973_RuntimeChannel_requirer_RuntimeChannel_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2973_provider_RuntimeChannel(form);
            form.setR2973_requirer_RuntimeChannel(part);
            form.setNext_provider_Channel_Id( part.getChannel_Id() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2973_RuntimeChannel_requirer_RuntimeChannel( RuntimeChannel form, RuntimeChannel part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2973_RuntimeChannel_requirer_RuntimeChannel_extent.remove( R2973_RuntimeChannel_requirer_RuntimeChannel_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2973_provider_RuntimeChannel(RuntimeChannelImpl.EMPTY_RUNTIMECHANNEL);
            form.setR2973_requirer_RuntimeChannel(RuntimeChannelImpl.EMPTY_RUNTIMECHANNEL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2974_ComponentInstanceContainer_ComponentInstance( ComponentInstanceContainer form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2974_ComponentInstanceContainer_ComponentInstance_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2974_ComponentInstanceContainer(form);
            form.setR2974_ComponentInstance(part);
            form.setContainer_ID( part.getExecution_Engine_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2974_ComponentInstanceContainer_ComponentInstance( ComponentInstanceContainer form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2974_ComponentInstanceContainer_ComponentInstance_extent.remove( R2974_ComponentInstanceContainer_ComponentInstance_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR2974_ComponentInstanceContainer(ComponentInstanceContainerImpl.EMPTY_COMPONENTINSTANCECONTAINER);
            form.setR2974_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2975_ComponentInstance_ComponentInstanceContainer( ComponentInstance form, ComponentInstanceContainer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2975_ComponentInstance_ComponentInstanceContainer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2975_ComponentInstance(form);
            form.setR2975_ComponentInstanceContainer(part);
            form.setContainer_ID( part.getContainer_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2975_ComponentInstance_ComponentInstanceContainer( ComponentInstance form, ComponentInstanceContainer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2975_ComponentInstance_ComponentInstanceContainer_extent.remove( R2975_ComponentInstance_ComponentInstanceContainer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2975_ComponentInstance(form);
            form.setR2975_ComponentInstanceContainer(ComponentInstanceContainerImpl.EMPTY_COMPONENTINSTANCECONTAINER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2976_PendingEvent_originates_from_ComponentInstance( PendingEvent form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2976_PendingEvent_originates_from_ComponentInstance_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2976_sends_PendingEvent(form);
            form.setR2976_originates_from_ComponentInstance(part);
            form.setOriginating_Execution_Engine_ID( part.getExecution_Engine_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2976_PendingEvent_originates_from_ComponentInstance( PendingEvent form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2976_PendingEvent_originates_from_ComponentInstance_extent.remove( R2976_PendingEvent_originates_from_ComponentInstance_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2976_sends_PendingEvent(form);
            form.setR2976_originates_from_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2977_IntercomponentQueueEntry_enqueued_by_ComponentInstance( IntercomponentQueueEntry form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2977_IntercomponentQueueEntry_enqueued_by_ComponentInstance_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2977_IntercomponentQueueEntry(form);
            form.setR2977_enqueued_by_ComponentInstance(part);
            form.setExecution_Engine_ID( part.getExecution_Engine_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2977_IntercomponentQueueEntry_enqueued_by_ComponentInstance( IntercomponentQueueEntry form, ComponentInstance part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2977_IntercomponentQueueEntry_enqueued_by_ComponentInstance_extent.remove( R2977_IntercomponentQueueEntry_enqueued_by_ComponentInstance_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2977_IntercomponentQueueEntry(form);
            form.setR2977_enqueued_by_ComponentInstance(ComponentInstanceImpl.EMPTY_COMPONENTINSTANCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R2978_ValueInStackFrame_Value( ValueInStackFrame form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R2978_ValueInStackFrame_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR2978_ValueInStackFrame(form);
            form.setR2978_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R2978_ValueInStackFrame_Value( ValueInStackFrame form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R2978_ValueInStackFrame_Value_extent.remove( R2978_ValueInStackFrame_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR2978_ValueInStackFrame(form);
            form.setR2978_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3001_InstanceSerializer_invoked_by_PopulationLoader( InstanceSerializer form, PopulationLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3001_InstanceSerializer_invoked_by_PopulationLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3001_serializes_population_using_InstanceSerializer(form);
            form.setR3001_invoked_by_PopulationLoader(part);
            form.setLoader_package( part.getPackage() );
            form.setLoader_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3001_InstanceSerializer_invoked_by_PopulationLoader( InstanceSerializer form, PopulationLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3001_InstanceSerializer_invoked_by_PopulationLoader_extent.remove( R3001_InstanceSerializer_invoked_by_PopulationLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3001_serializes_population_using_InstanceSerializer(form);
            form.setR3001_invoked_by_PopulationLoader(PopulationLoaderImpl.EMPTY_POPULATIONLOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( AttributeSerializer form, InstanceSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3002_AttributeSerializer_invoked_by_InstanceSerializer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3002_serializes_data_value_using_AttributeSerializer(form);
            form.setR3002_invoked_by_InstanceSerializer(part);
            form.setLoader_name( part.getLoader_name() );
            form.setClass_name( part.getClass_name() );
            form.setLoader_package( part.getLoader_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3002_AttributeSerializer_invoked_by_InstanceSerializer( AttributeSerializer form, InstanceSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3002_AttributeSerializer_invoked_by_InstanceSerializer_extent.remove( R3002_AttributeSerializer_invoked_by_InstanceSerializer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3002_serializes_data_value_using_AttributeSerializer(form);
            form.setR3002_invoked_by_InstanceSerializer(InstanceSerializerImpl.EMPTY_INSTANCESERIALIZER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3003_AttributeSerializer_follows_AttributeSerializer( AttributeSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3003_AttributeSerializer_follows_AttributeSerializer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3003_precedes_AttributeSerializer(form);
            form.setR3003_follows_AttributeSerializer(part);
            form.setLoader_package( part.getLoader_package() );
            form.setPrev_attr_name( part.getAttr_name() );
            form.setClass_name( part.getClass_name() );
            form.setLoader_name( part.getLoader_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3003_AttributeSerializer_follows_AttributeSerializer( AttributeSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3003_AttributeSerializer_follows_AttributeSerializer_extent.remove( R3003_AttributeSerializer_follows_AttributeSerializer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3003_precedes_AttributeSerializer(AttributeSerializerImpl.EMPTY_ATTRIBUTESERIALIZER);
            form.setR3003_follows_AttributeSerializer(AttributeSerializerImpl.EMPTY_ATTRIBUTESERIALIZER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3004_BooleanSerializer_is_a_AttributeSerializer( BooleanSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3004_BooleanSerializer_is_a_AttributeSerializer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_BooleanSerializer(form);
            form.setR3004_is_a_AttributeSerializer(part);
            form.setAttr_name( part.getAttr_name() );
            form.setLoader_name( part.getLoader_name() );
            form.setLoader_package( part.getLoader_package() );
            form.setClass_name( part.getClass_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3004_BooleanSerializer_is_a_AttributeSerializer( BooleanSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3004_BooleanSerializer_is_a_AttributeSerializer_extent.remove( R3004_BooleanSerializer_is_a_AttributeSerializer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_BooleanSerializer(BooleanSerializerImpl.EMPTY_BOOLEANSERIALIZER);
            form.setR3004_is_a_AttributeSerializer(AttributeSerializerImpl.EMPTY_ATTRIBUTESERIALIZER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3004_GeneralSerializer_is_a_AttributeSerializer( GeneralSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3004_GeneralSerializer_is_a_AttributeSerializer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_GeneralSerializer(form);
            form.setR3004_is_a_AttributeSerializer(part);
            form.setLoader_name( part.getLoader_name() );
            form.setAttr_name( part.getAttr_name() );
            form.setLoader_package( part.getLoader_package() );
            form.setClass_name( part.getClass_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3004_GeneralSerializer_is_a_AttributeSerializer( GeneralSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3004_GeneralSerializer_is_a_AttributeSerializer_extent.remove( R3004_GeneralSerializer_is_a_AttributeSerializer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_GeneralSerializer(GeneralSerializerImpl.EMPTY_GENERALSERIALIZER);
            form.setR3004_is_a_AttributeSerializer(AttributeSerializerImpl.EMPTY_ATTRIBUTESERIALIZER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3004_IntegerSerializer_is_a_AttributeSerializer( IntegerSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3004_IntegerSerializer_is_a_AttributeSerializer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_IntegerSerializer(form);
            form.setR3004_is_a_AttributeSerializer(part);
            form.setLoader_name( part.getLoader_name() );
            form.setAttr_name( part.getAttr_name() );
            form.setClass_name( part.getClass_name() );
            form.setLoader_package( part.getLoader_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3004_IntegerSerializer_is_a_AttributeSerializer( IntegerSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3004_IntegerSerializer_is_a_AttributeSerializer_extent.remove( R3004_IntegerSerializer_is_a_AttributeSerializer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_IntegerSerializer(IntegerSerializerImpl.EMPTY_INTEGERSERIALIZER);
            form.setR3004_is_a_AttributeSerializer(AttributeSerializerImpl.EMPTY_ATTRIBUTESERIALIZER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3004_RealSerializer_is_a_AttributeSerializer( RealSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3004_RealSerializer_is_a_AttributeSerializer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_RealSerializer(form);
            form.setR3004_is_a_AttributeSerializer(part);
            form.setLoader_name( part.getLoader_name() );
            form.setClass_name( part.getClass_name() );
            form.setLoader_package( part.getLoader_package() );
            form.setAttr_name( part.getAttr_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3004_RealSerializer_is_a_AttributeSerializer( RealSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3004_RealSerializer_is_a_AttributeSerializer_extent.remove( R3004_RealSerializer_is_a_AttributeSerializer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_RealSerializer(RealSerializerImpl.EMPTY_REALSERIALIZER);
            form.setR3004_is_a_AttributeSerializer(AttributeSerializerImpl.EMPTY_ATTRIBUTESERIALIZER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3004_StringSerializer_is_a_AttributeSerializer( StringSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3004_StringSerializer_is_a_AttributeSerializer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_StringSerializer(form);
            form.setR3004_is_a_AttributeSerializer(part);
            form.setAttr_name( part.getAttr_name() );
            form.setClass_name( part.getClass_name() );
            form.setLoader_name( part.getLoader_name() );
            form.setLoader_package( part.getLoader_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3004_StringSerializer_is_a_AttributeSerializer( StringSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3004_StringSerializer_is_a_AttributeSerializer_extent.remove( R3004_StringSerializer_is_a_AttributeSerializer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_StringSerializer(StringSerializerImpl.EMPTY_STRINGSERIALIZER);
            form.setR3004_is_a_AttributeSerializer(AttributeSerializerImpl.EMPTY_ATTRIBUTESERIALIZER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3004_UniqueIDSerializer_is_a_AttributeSerializer( UniqueIDSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3004_UniqueIDSerializer_is_a_AttributeSerializer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_UniqueIDSerializer(form);
            form.setR3004_is_a_AttributeSerializer(part);
            form.setAttr_name( part.getAttr_name() );
            form.setLoader_package( part.getLoader_package() );
            form.setLoader_name( part.getLoader_name() );
            form.setClass_name( part.getClass_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3004_UniqueIDSerializer_is_a_AttributeSerializer( UniqueIDSerializer form, AttributeSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3004_UniqueIDSerializer_is_a_AttributeSerializer_extent.remove( R3004_UniqueIDSerializer_is_a_AttributeSerializer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3004_is_a_UniqueIDSerializer(UniqueIDSerializerImpl.EMPTY_UNIQUEIDSERIALIZER);
            form.setR3004_is_a_AttributeSerializer(AttributeSerializerImpl.EMPTY_ATTRIBUTESERIALIZER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3005_InstanceLoader_invoked_by_PopulationLoader( InstanceLoader form, PopulationLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3005_InstanceLoader_invoked_by_PopulationLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3005_loads_population_using_InstanceLoader(form);
            form.setR3005_invoked_by_PopulationLoader(part);
            form.setLoader_name( part.getName() );
            form.setLoader_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3005_InstanceLoader_invoked_by_PopulationLoader( InstanceLoader form, PopulationLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3005_InstanceLoader_invoked_by_PopulationLoader_extent.remove( R3005_InstanceLoader_invoked_by_PopulationLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3005_loads_population_using_InstanceLoader(form);
            form.setR3005_invoked_by_PopulationLoader(PopulationLoaderImpl.EMPTY_POPULATIONLOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3006_AttributeLoader_invoked_by_InstanceLoader( AttributeLoader form, InstanceLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3006_AttributeLoader_invoked_by_InstanceLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3006_loads_data_value_using_AttributeLoader(form);
            form.setR3006_invoked_by_InstanceLoader(part);
            form.setClass_name( part.getClass_name() );
            form.setLoader_name( part.getLoader_name() );
            form.setLoader_package( part.getLoader_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3006_AttributeLoader_invoked_by_InstanceLoader( AttributeLoader form, InstanceLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3006_AttributeLoader_invoked_by_InstanceLoader_extent.remove( R3006_AttributeLoader_invoked_by_InstanceLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3006_loads_data_value_using_AttributeLoader(form);
            form.setR3006_invoked_by_InstanceLoader(InstanceLoaderImpl.EMPTY_INSTANCELOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3007_AttributeLoader_follows_AttributeLoader( AttributeLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3007_AttributeLoader_follows_AttributeLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3007_precedes_AttributeLoader(form);
            form.setR3007_follows_AttributeLoader(part);
            form.setPrev_attr_name( part.getAttr_name() );
            form.setLoader_name( part.getLoader_name() );
            form.setClass_name( part.getClass_name() );
            form.setPrev_index( part.getIndex() );
            form.setLoader_package( part.getLoader_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3007_AttributeLoader_follows_AttributeLoader( AttributeLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3007_AttributeLoader_follows_AttributeLoader_extent.remove( R3007_AttributeLoader_follows_AttributeLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3007_precedes_AttributeLoader(AttributeLoaderImpl.EMPTY_ATTRIBUTELOADER);
            form.setR3007_follows_AttributeLoader(AttributeLoaderImpl.EMPTY_ATTRIBUTELOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3008_BooleanLoader_is_a_AttributeLoader( BooleanLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3008_BooleanLoader_is_a_AttributeLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_BooleanLoader(form);
            form.setR3008_is_a_AttributeLoader(part);
            form.setClass_name( part.getClass_name() );
            form.setLoader_package( part.getLoader_package() );
            form.setLoader_name( part.getLoader_name() );
            form.setAttr_name( part.getAttr_name() );
            form.setIndex( part.getIndex() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3008_BooleanLoader_is_a_AttributeLoader( BooleanLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3008_BooleanLoader_is_a_AttributeLoader_extent.remove( R3008_BooleanLoader_is_a_AttributeLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_BooleanLoader(BooleanLoaderImpl.EMPTY_BOOLEANLOADER);
            form.setR3008_is_a_AttributeLoader(AttributeLoaderImpl.EMPTY_ATTRIBUTELOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3008_EnumeratorLoader_is_a_AttributeLoader( EnumeratorLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3008_EnumeratorLoader_is_a_AttributeLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_EnumeratorLoader(form);
            form.setR3008_is_a_AttributeLoader(part);
            form.setClass_name( part.getClass_name() );
            form.setLoader_package( part.getLoader_package() );
            form.setAttr_name( part.getAttr_name() );
            form.setIndex( part.getIndex() );
            form.setLoader_name( part.getLoader_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3008_EnumeratorLoader_is_a_AttributeLoader( EnumeratorLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3008_EnumeratorLoader_is_a_AttributeLoader_extent.remove( R3008_EnumeratorLoader_is_a_AttributeLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_EnumeratorLoader(EnumeratorLoaderImpl.EMPTY_ENUMERATORLOADER);
            form.setR3008_is_a_AttributeLoader(AttributeLoaderImpl.EMPTY_ATTRIBUTELOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3008_GeneralLoader_is_a_AttributeLoader( GeneralLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3008_GeneralLoader_is_a_AttributeLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_GeneralLoader(form);
            form.setR3008_is_a_AttributeLoader(part);
            form.setLoader_name( part.getLoader_name() );
            form.setAttr_name( part.getAttr_name() );
            form.setLoader_package( part.getLoader_package() );
            form.setIndex( part.getIndex() );
            form.setClass_name( part.getClass_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3008_GeneralLoader_is_a_AttributeLoader( GeneralLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3008_GeneralLoader_is_a_AttributeLoader_extent.remove( R3008_GeneralLoader_is_a_AttributeLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_GeneralLoader(GeneralLoaderImpl.EMPTY_GENERALLOADER);
            form.setR3008_is_a_AttributeLoader(AttributeLoaderImpl.EMPTY_ATTRIBUTELOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3008_IntegerLoader_is_a_AttributeLoader( IntegerLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3008_IntegerLoader_is_a_AttributeLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_IntegerLoader(form);
            form.setR3008_is_a_AttributeLoader(part);
            form.setLoader_package( part.getLoader_package() );
            form.setIndex( part.getIndex() );
            form.setClass_name( part.getClass_name() );
            form.setLoader_name( part.getLoader_name() );
            form.setAttr_name( part.getAttr_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3008_IntegerLoader_is_a_AttributeLoader( IntegerLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3008_IntegerLoader_is_a_AttributeLoader_extent.remove( R3008_IntegerLoader_is_a_AttributeLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_IntegerLoader(IntegerLoaderImpl.EMPTY_INTEGERLOADER);
            form.setR3008_is_a_AttributeLoader(AttributeLoaderImpl.EMPTY_ATTRIBUTELOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3008_RealLoader_is_a_AttributeLoader( RealLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3008_RealLoader_is_a_AttributeLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_RealLoader(form);
            form.setR3008_is_a_AttributeLoader(part);
            form.setLoader_package( part.getLoader_package() );
            form.setLoader_name( part.getLoader_name() );
            form.setClass_name( part.getClass_name() );
            form.setAttr_name( part.getAttr_name() );
            form.setIndex( part.getIndex() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3008_RealLoader_is_a_AttributeLoader( RealLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3008_RealLoader_is_a_AttributeLoader_extent.remove( R3008_RealLoader_is_a_AttributeLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_RealLoader(RealLoaderImpl.EMPTY_REALLOADER);
            form.setR3008_is_a_AttributeLoader(AttributeLoaderImpl.EMPTY_ATTRIBUTELOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3008_StringLoader_is_a_AttributeLoader( StringLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3008_StringLoader_is_a_AttributeLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_StringLoader(form);
            form.setR3008_is_a_AttributeLoader(part);
            form.setIndex( part.getIndex() );
            form.setLoader_package( part.getLoader_package() );
            form.setAttr_name( part.getAttr_name() );
            form.setClass_name( part.getClass_name() );
            form.setLoader_name( part.getLoader_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3008_StringLoader_is_a_AttributeLoader( StringLoader form, AttributeLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3008_StringLoader_is_a_AttributeLoader_extent.remove( R3008_StringLoader_is_a_AttributeLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3008_is_a_StringLoader(StringLoaderImpl.EMPTY_STRINGLOADER);
            form.setR3008_is_a_AttributeLoader(AttributeLoaderImpl.EMPTY_ATTRIBUTELOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3009_PopulationLoader_GeneralFile( PopulationLoader form, GeneralFile part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3009_PopulationLoader_GeneralFile_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3009_is_a_PopulationLoader(form);
            form.setR3009_GeneralFile(part);
            form.setName( part.getName() );
            form.setPackage( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3009_PopulationLoader_GeneralFile( PopulationLoader form, GeneralFile part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3009_PopulationLoader_GeneralFile_extent.remove( R3009_PopulationLoader_GeneralFile_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3009_is_a_PopulationLoader(PopulationLoaderImpl.EMPTY_POPULATIONLOADER);
            form.setR3009_GeneralFile(GeneralFileImpl.EMPTY_GENERALFILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3010_EnumeratorLoader_EnumeratedType( EnumeratorLoader form, EnumeratedType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3010_EnumeratorLoader_EnumeratedType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3010_EnumeratorLoader(form);
            form.setR3010_EnumeratedType(part);
            form.setType_name( part.getName() );
            form.setType_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3010_EnumeratorLoader_EnumeratedType( EnumeratorLoader form, EnumeratedType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3010_EnumeratorLoader_EnumeratedType_extent.remove( R3010_EnumeratorLoader_EnumeratedType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3010_EnumeratorLoader(EnumeratorLoaderImpl.EMPTY_ENUMERATORLOADER);
            form.setR3010_EnumeratedType(EnumeratedTypeImpl.EMPTY_ENUMERATEDTYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3011_BatchRelator_invoked_by_PopulationLoader( BatchRelator form, PopulationLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3011_BatchRelator_invoked_by_PopulationLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3011_relates_instances_using_BatchRelator(form);
            form.setR3011_invoked_by_PopulationLoader(part);
            form.setLoader_name( part.getName() );
            form.setLoader_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3011_BatchRelator_invoked_by_PopulationLoader( BatchRelator form, PopulationLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3011_BatchRelator_invoked_by_PopulationLoader_extent.remove( R3011_BatchRelator_invoked_by_PopulationLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3011_relates_instances_using_BatchRelator(form);
            form.setR3011_invoked_by_PopulationLoader(PopulationLoaderImpl.EMPTY_POPULATIONLOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3012_AttributeComparison_evaluated_by_BatchRelator( AttributeComparison form, BatchRelator part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3012_AttributeComparison_evaluated_by_BatchRelator_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3012_selects_participant_by_evaluating_AttributeComparison(form);
            form.setR3012_evaluated_by_BatchRelator(part);
            form.setLoader_package( part.getLoader_package() );
            form.setLoader_name( part.getLoader_name() );
            form.setRel_name( part.getRel_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3012_AttributeComparison_evaluated_by_BatchRelator( AttributeComparison form, BatchRelator part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3012_AttributeComparison_evaluated_by_BatchRelator_extent.remove( R3012_AttributeComparison_evaluated_by_BatchRelator_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3012_selects_participant_by_evaluating_AttributeComparison(form);
            form.setR3012_evaluated_by_BatchRelator(BatchRelatorImpl.EMPTY_BATCHRELATOR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3013_GeneralLoader_Type( GeneralLoader form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3013_GeneralLoader_Type_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3013_GeneralLoader(form);
            form.setR3013_Type(part);
            form.setType_name( part.getName() );
            form.setType_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3013_GeneralLoader_Type( GeneralLoader form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3013_GeneralLoader_Type_extent.remove( R3013_GeneralLoader_Type_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3013_GeneralLoader(GeneralLoaderImpl.EMPTY_GENERALLOADER);
            form.setR3013_Type(TypeImpl.EMPTY_TYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3014_GeneralSerializer_Type( GeneralSerializer form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3014_GeneralSerializer_Type_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3014_GeneralSerializer(form);
            form.setR3014_Type(part);
            form.setType_package( part.getPackage() );
            form.setType_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3014_GeneralSerializer_Type( GeneralSerializer form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3014_GeneralSerializer_Type_extent.remove( R3014_GeneralSerializer_Type_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3014_GeneralSerializer(GeneralSerializerImpl.EMPTY_GENERALSERIALIZER);
            form.setR3014_Type(TypeImpl.EMPTY_TYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3015_ClassInstanceSerializer_is_a_InstanceSerializer( ClassInstanceSerializer form, InstanceSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3015_ClassInstanceSerializer_is_a_InstanceSerializer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3015_is_a_ClassInstanceSerializer(form);
            form.setR3015_is_a_InstanceSerializer(part);
            form.setLoader_package( part.getLoader_package() );
            form.setClass_name( part.getClass_name() );
            form.setLoader_name( part.getLoader_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3015_ClassInstanceSerializer_is_a_InstanceSerializer( ClassInstanceSerializer form, InstanceSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3015_ClassInstanceSerializer_is_a_InstanceSerializer_extent.remove( R3015_ClassInstanceSerializer_is_a_InstanceSerializer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3015_is_a_ClassInstanceSerializer(ClassInstanceSerializerImpl.EMPTY_CLASSINSTANCESERIALIZER);
            form.setR3015_is_a_InstanceSerializer(InstanceSerializerImpl.EMPTY_INSTANCESERIALIZER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3015_EventInstanceSerializer_is_a_InstanceSerializer( EventInstanceSerializer form, InstanceSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3015_EventInstanceSerializer_is_a_InstanceSerializer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3015_is_a_EventInstanceSerializer(form);
            form.setR3015_is_a_InstanceSerializer(part);
            form.setLoader_name( part.getLoader_name() );
            form.setLoader_package( part.getLoader_package() );
            form.setClass_name( part.getClass_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3015_EventInstanceSerializer_is_a_InstanceSerializer( EventInstanceSerializer form, InstanceSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3015_EventInstanceSerializer_is_a_InstanceSerializer_extent.remove( R3015_EventInstanceSerializer_is_a_InstanceSerializer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3015_is_a_EventInstanceSerializer(EventInstanceSerializerImpl.EMPTY_EVENTINSTANCESERIALIZER);
            form.setR3015_is_a_InstanceSerializer(InstanceSerializerImpl.EMPTY_INSTANCESERIALIZER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3015_TimerInstanceSerializer_is_a_InstanceSerializer( TimerInstanceSerializer form, InstanceSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3015_TimerInstanceSerializer_is_a_InstanceSerializer_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3015_is_a_TimerInstanceSerializer(form);
            form.setR3015_is_a_InstanceSerializer(part);
            form.setClass_name( part.getClass_name() );
            form.setLoader_name( part.getLoader_name() );
            form.setLoader_package( part.getLoader_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3015_TimerInstanceSerializer_is_a_InstanceSerializer( TimerInstanceSerializer form, InstanceSerializer part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3015_TimerInstanceSerializer_is_a_InstanceSerializer_extent.remove( R3015_TimerInstanceSerializer_is_a_InstanceSerializer_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3015_is_a_TimerInstanceSerializer(TimerInstanceSerializerImpl.EMPTY_TIMERINSTANCESERIALIZER);
            form.setR3015_is_a_InstanceSerializer(InstanceSerializerImpl.EMPTY_INSTANCESERIALIZER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3016_ClassInstanceLoader_is_a_InstanceLoader( ClassInstanceLoader form, InstanceLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3016_ClassInstanceLoader_is_a_InstanceLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3016_is_a_ClassInstanceLoader(form);
            form.setR3016_is_a_InstanceLoader(part);
            form.setLoader_name( part.getLoader_name() );
            form.setClass_name( part.getClass_name() );
            form.setLoader_package( part.getLoader_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3016_ClassInstanceLoader_is_a_InstanceLoader( ClassInstanceLoader form, InstanceLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3016_ClassInstanceLoader_is_a_InstanceLoader_extent.remove( R3016_ClassInstanceLoader_is_a_InstanceLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3016_is_a_ClassInstanceLoader(ClassInstanceLoaderImpl.EMPTY_CLASSINSTANCELOADER);
            form.setR3016_is_a_InstanceLoader(InstanceLoaderImpl.EMPTY_INSTANCELOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3016_EventInstanceLoader_is_a_InstanceLoader( EventInstanceLoader form, InstanceLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3016_EventInstanceLoader_is_a_InstanceLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3016_is_a_EventInstanceLoader(form);
            form.setR3016_is_a_InstanceLoader(part);
            form.setLoader_name( part.getLoader_name() );
            form.setLoader_package( part.getLoader_package() );
            form.setEvt_class_name( part.getClass_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3016_EventInstanceLoader_is_a_InstanceLoader( EventInstanceLoader form, InstanceLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3016_EventInstanceLoader_is_a_InstanceLoader_extent.remove( R3016_EventInstanceLoader_is_a_InstanceLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3016_is_a_EventInstanceLoader(EventInstanceLoaderImpl.EMPTY_EVENTINSTANCELOADER);
            form.setR3016_is_a_InstanceLoader(InstanceLoaderImpl.EMPTY_INSTANCELOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3016_TimerInstanceLoader_is_a_InstanceLoader( TimerInstanceLoader form, InstanceLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3016_TimerInstanceLoader_is_a_InstanceLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3016_is_a_TimerInstanceLoader(form);
            form.setR3016_is_a_InstanceLoader(part);
            form.setLoader_name( part.getLoader_name() );
            form.setLoader_package( part.getLoader_package() );
            form.setClass_name( part.getClass_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3016_TimerInstanceLoader_is_a_InstanceLoader( TimerInstanceLoader form, InstanceLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3016_TimerInstanceLoader_is_a_InstanceLoader_extent.remove( R3016_TimerInstanceLoader_is_a_InstanceLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3016_is_a_TimerInstanceLoader(TimerInstanceLoaderImpl.EMPTY_TIMERINSTANCELOADER);
            form.setR3016_is_a_InstanceLoader(InstanceLoaderImpl.EMPTY_INSTANCELOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3017_EventInstanceLoader_ModelInst( EventInstanceLoader form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3017_EventInstanceLoader_ModelInst_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3017_EventInstanceLoader(form);
            form.setR3017_ModelInst(part);
            form.setPackage( part.getPackage() );
            form.setComp_name( part.getComp_name() );
            form.setComp_package( part.getComp_package() );
            form.setClass_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3017_EventInstanceLoader_ModelInst( EventInstanceLoader form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3017_EventInstanceLoader_ModelInst_extent.remove( R3017_EventInstanceLoader_ModelInst_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3017_EventInstanceLoader(EventInstanceLoaderImpl.EMPTY_EVENTINSTANCELOADER);
            form.setR3017_ModelInst(ModelInstImpl.EMPTY_MODELINST);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3018_AttributeComparison_succeeds_AttributeComparison( AttributeComparison form, AttributeComparison part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3018_AttributeComparison_succeeds_AttributeComparison_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3018_precedes_AttributeComparison(form);
            form.setR3018_succeeds_AttributeComparison(part);
            form.setLoader_package( part.getLoader_package() );
            form.setRel_name( part.getRel_name() );
            form.setPrev_part_attr_name( part.getPart_attr_name() );
            form.setLoader_name( part.getLoader_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3018_AttributeComparison_succeeds_AttributeComparison( AttributeComparison form, AttributeComparison part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3018_AttributeComparison_succeeds_AttributeComparison_extent.remove( R3018_AttributeComparison_succeeds_AttributeComparison_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3018_precedes_AttributeComparison(AttributeComparisonImpl.EMPTY_ATTRIBUTECOMPARISON);
            form.setR3018_succeeds_AttributeComparison(AttributeComparisonImpl.EMPTY_ATTRIBUTECOMPARISON);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3019_AssociationSerializerLoader_renders_for_PopulationLoader( AssociationSerializerLoader form, PopulationLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3019_AssociationSerializerLoader_renders_for_PopulationLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3019_renders_association_serializer_loaders_with_AssociationSerializerLoader(form);
            form.setR3019_renders_for_PopulationLoader(part);
            form.setLoader_package( part.getPackage() );
            form.setLoader_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3019_AssociationSerializerLoader_renders_for_PopulationLoader( AssociationSerializerLoader form, PopulationLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3019_AssociationSerializerLoader_renders_for_PopulationLoader_extent.remove( R3019_AssociationSerializerLoader_renders_for_PopulationLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3019_renders_association_serializer_loaders_with_AssociationSerializerLoader(form);
            form.setR3019_renders_for_PopulationLoader(PopulationLoaderImpl.EMPTY_POPULATIONLOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3028_MultiInstanceRef_is_a_ReferredToClassProxy( MultiInstanceRef form, ReferredToClassProxy part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3028_MultiInstanceRef_is_a_ReferredToClassProxy_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3028_is_a_MultiInstanceRef(form);
            form.setR3028_is_a_ReferredToClassProxy(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3028_MultiInstanceRef_is_a_ReferredToClassProxy( MultiInstanceRef form, ReferredToClassProxy part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3028_MultiInstanceRef_is_a_ReferredToClassProxy_extent.remove( R3028_MultiInstanceRef_is_a_ReferredToClassProxy_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3028_is_a_MultiInstanceRef(MultiInstanceRefImpl.EMPTY_MULTIINSTANCEREF);
            form.setR3028_is_a_ReferredToClassProxy(ReferredToClassProxyImpl.EMPTY_REFERREDTOCLASSPROXY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3028_SingleInstanceRef_is_a_ReferredToClassProxy( SingleInstanceRef form, ReferredToClassProxy part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3028_SingleInstanceRef_is_a_ReferredToClassProxy_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3028_is_a_SingleInstanceRef(form);
            form.setR3028_is_a_ReferredToClassProxy(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3028_SingleInstanceRef_is_a_ReferredToClassProxy( SingleInstanceRef form, ReferredToClassProxy part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3028_SingleInstanceRef_is_a_ReferredToClassProxy_extent.remove( R3028_SingleInstanceRef_is_a_ReferredToClassProxy_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3028_is_a_SingleInstanceRef(SingleInstanceRefImpl.EMPTY_SINGLEINSTANCEREF);
            form.setR3028_is_a_ReferredToClassProxy(ReferredToClassProxyImpl.EMPTY_REFERREDTOCLASSPROXY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3029_MultipleReferrerAssoc_is_a_AssociationSerializerLoader( MultipleReferrerAssoc form, AssociationSerializerLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3029_MultipleReferrerAssoc_is_a_AssociationSerializerLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3029_is_a_MultipleReferrerAssoc(form);
            form.setR3029_is_a_AssociationSerializerLoader(part);
            form.setRel_num( part.getRel_num() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3029_MultipleReferrerAssoc_is_a_AssociationSerializerLoader( MultipleReferrerAssoc form, AssociationSerializerLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3029_MultipleReferrerAssoc_is_a_AssociationSerializerLoader_extent.remove( R3029_MultipleReferrerAssoc_is_a_AssociationSerializerLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3029_is_a_MultipleReferrerAssoc(MultipleReferrerAssocImpl.EMPTY_MULTIPLEREFERRERASSOC);
            form.setR3029_is_a_AssociationSerializerLoader(AssociationSerializerLoaderImpl.EMPTY_ASSOCIATIONSERIALIZERLOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3029_SingleReferrerAssoc_is_a_AssociationSerializerLoader( SingleReferrerAssoc form, AssociationSerializerLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3029_SingleReferrerAssoc_is_a_AssociationSerializerLoader_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3029_is_a_SingleReferrerAssoc(form);
            form.setR3029_is_a_AssociationSerializerLoader(part);
            form.setRel_num( part.getRel_num() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3029_SingleReferrerAssoc_is_a_AssociationSerializerLoader( SingleReferrerAssoc form, AssociationSerializerLoader part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3029_SingleReferrerAssoc_is_a_AssociationSerializerLoader_extent.remove( R3029_SingleReferrerAssoc_is_a_AssociationSerializerLoader_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3029_is_a_SingleReferrerAssoc(SingleReferrerAssocImpl.EMPTY_SINGLEREFERRERASSOC);
            form.setR3029_is_a_AssociationSerializerLoader(AssociationSerializerLoaderImpl.EMPTY_ASSOCIATIONSERIALIZERLOADER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3030_ReferredToClassProxy_supplies_2nd_ID_code_for_SingleReferrerAssoc( ReferredToClassProxy form, SingleReferrerAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3030_ReferredToClassProxy_supplies_2nd_ID_code_for_SingleReferrerAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3030_renders_code_for_2nd_ID_position_using_ReferredToClassProxy(form);
            form.setR3030_supplies_2nd_ID_code_for_SingleReferrerAssoc(part);
            form.setRel_num( part.getRel_num() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3030_ReferredToClassProxy_supplies_2nd_ID_code_for_SingleReferrerAssoc( ReferredToClassProxy form, SingleReferrerAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3030_ReferredToClassProxy_supplies_2nd_ID_code_for_SingleReferrerAssoc_extent.remove( R3030_ReferredToClassProxy_supplies_2nd_ID_code_for_SingleReferrerAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3030_renders_code_for_2nd_ID_position_using_ReferredToClassProxy(ReferredToClassProxyImpl.EMPTY_REFERREDTOCLASSPROXY);
            form.setR3030_supplies_2nd_ID_code_for_SingleReferrerAssoc(SingleReferrerAssocImpl.EMPTY_SINGLEREFERRERASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3035_ReferredToClassProxy_supplies_3rd_ID_code_for_SingleReferrerAssoc( ReferredToClassProxy form, SingleReferrerAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3035_ReferredToClassProxy_supplies_3rd_ID_code_for_SingleReferrerAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3035_renders_code_for_3rd_ID_position_using_ReferredToClassProxy(form);
            form.setR3035_supplies_3rd_ID_code_for_SingleReferrerAssoc(part);
            form.setRel_num( part.getRel_num() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3035_ReferredToClassProxy_supplies_3rd_ID_code_for_SingleReferrerAssoc( ReferredToClassProxy form, SingleReferrerAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3035_ReferredToClassProxy_supplies_3rd_ID_code_for_SingleReferrerAssoc_extent.remove( R3035_ReferredToClassProxy_supplies_3rd_ID_code_for_SingleReferrerAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3035_renders_code_for_3rd_ID_position_using_ReferredToClassProxy(ReferredToClassProxyImpl.EMPTY_REFERREDTOCLASSPROXY);
            form.setR3035_supplies_3rd_ID_code_for_SingleReferrerAssoc(SingleReferrerAssocImpl.EMPTY_SINGLEREFERRERASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3036_ReferringClassProxy_renders_code_for_both_IDs_using_MultipleReferrerAssoc( ReferringClassProxy form, MultipleReferrerAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3036_ReferringClassProxy_renders_code_for_both_IDs_using_MultipleReferrerAssoc_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3036_holds_referring_data_for_ReferringClassProxy(form);
            form.setR3036_renders_code_for_both_IDs_using_MultipleReferrerAssoc(part);
            form.setRel_num( part.getRel_num() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3036_ReferringClassProxy_renders_code_for_both_IDs_using_MultipleReferrerAssoc( ReferringClassProxy form, MultipleReferrerAssoc part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3036_ReferringClassProxy_renders_code_for_both_IDs_using_MultipleReferrerAssoc_extent.remove( R3036_ReferringClassProxy_renders_code_for_both_IDs_using_MultipleReferrerAssoc_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3036_holds_referring_data_for_ReferringClassProxy(form);
            form.setR3036_renders_code_for_both_IDs_using_MultipleReferrerAssoc(MultipleReferrerAssocImpl.EMPTY_MULTIPLEREFERRERASSOC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3800_TypeReference_based_on_Type( TypeReference form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3800_TypeReference_based_on_Type_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3800_referred_to_by_TypeReference(form);
            form.setR3800_based_on_Type(part);
            form.setType_package( part.getPackage() );
            form.setType_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3800_TypeReference_based_on_Type( TypeReference form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3800_TypeReference_based_on_Type_extent.remove( R3800_TypeReference_based_on_Type_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3800_referred_to_by_TypeReference(form);
            form.setR3800_based_on_Type(TypeImpl.EMPTY_TYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3801_ArrayTypeReference_is_a_TypeReference( ArrayTypeReference form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3801_ArrayTypeReference_is_a_TypeReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3801_is_a_ArrayTypeReference(form);
            form.setR3801_is_a_TypeReference(part);
            form.setName( part.getType_name() );
            form.setType_reference_name( part.getType_reference_name() );
            form.setPackage( part.getType_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3801_ArrayTypeReference_is_a_TypeReference( ArrayTypeReference form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3801_ArrayTypeReference_is_a_TypeReference_extent.remove( R3801_ArrayTypeReference_is_a_TypeReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3801_is_a_ArrayTypeReference(ArrayTypeReferenceImpl.EMPTY_ARRAYTYPEREFERENCE);
            form.setR3801_is_a_TypeReference(TypeReferenceImpl.EMPTY_TYPEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3801_BasicTypeReference_is_a_TypeReference( BasicTypeReference form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3801_BasicTypeReference_is_a_TypeReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3801_is_a_BasicTypeReference(form);
            form.setR3801_is_a_TypeReference(part);
            form.setPackage( part.getType_package() );
            form.setName( part.getType_name() );
            form.setType_reference_name( part.getType_reference_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3801_BasicTypeReference_is_a_TypeReference( BasicTypeReference form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3801_BasicTypeReference_is_a_TypeReference_extent.remove( R3801_BasicTypeReference_is_a_TypeReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3801_is_a_BasicTypeReference(BasicTypeReferenceImpl.EMPTY_BASICTYPEREFERENCE);
            form.setR3801_is_a_TypeReference(TypeReferenceImpl.EMPTY_TYPEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3802_UserDefinedType_based_on_Type( UserDefinedType form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3802_UserDefinedType_based_on_Type_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3802_used_as_base_for_UserDefinedType(form);
            form.setR3802_based_on_Type(part);
            form.setBase_type_name( part.getName() );
            form.setBase_type_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3802_UserDefinedType_based_on_Type( UserDefinedType form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3802_UserDefinedType_based_on_Type_extent.remove( R3802_UserDefinedType_based_on_Type_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3802_used_as_base_for_UserDefinedType(form);
            form.setR3802_based_on_Type(TypeImpl.EMPTY_TYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3900_ArrayElementReference_has_root_Expression( ArrayElementReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3900_ArrayElementReference_has_root_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3900_is_root_for_ArrayElementReference(form);
            form.setR3900_has_root_Expression(part);
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setRoot_expression_number( part.getExpression_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3900_ArrayElementReference_has_root_Expression( ArrayElementReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3900_ArrayElementReference_has_root_Expression_extent.remove( R3900_ArrayElementReference_has_root_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3900_is_root_for_ArrayElementReference(ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE);
            form.setR3900_has_root_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3901_ArrayElementReference_has_index_Expression( ArrayElementReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3901_ArrayElementReference_has_index_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3901_is_index_for_ArrayElementReference(form);
            form.setR3901_has_index_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setIndex_expression_number( part.getExpression_number() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3901_ArrayElementReference_has_index_Expression( ArrayElementReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3901_ArrayElementReference_has_index_Expression_extent.remove( R3901_ArrayElementReference_has_index_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3901_is_index_for_ArrayElementReference(ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE);
            form.setR3901_has_index_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3902_EventCreation_has_target_Expression( EventCreation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3902_EventCreation_has_target_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3902_EventCreation(form);
            form.setR3902_has_target_Expression(part);
            form.setTarget_expression_number( part.getExpression_number() );
            form.setBody_name( part.getBody_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3902_EventCreation_has_target_Expression( EventCreation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3902_EventCreation_has_target_Expression_extent.remove( R3902_EventCreation_has_target_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3902_EventCreation(EventCreationImpl.EMPTY_EVENTCREATION);
            form.setR3902_has_target_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3903_EventCreation_has_base_Expression( EventCreation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3903_EventCreation_has_base_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3903_EventCreation(form);
            form.setR3903_has_base_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_name( part.getParent_name() );
            form.setEvt_expression_number( part.getExpression_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3903_EventCreation_has_base_Expression( EventCreation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3903_EventCreation_has_base_Expression_extent.remove( R3903_EventCreation_has_base_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3903_EventCreation(EventCreationImpl.EMPTY_EVENTCREATION);
            form.setR3903_has_base_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3904_ActualParameter_FormalParameter( ActualParameter form, FormalParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3904_ActualParameter_FormalParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3904_ActualParameter(form);
            form.setR3904_FormalParameter(part);
            form.setInvoked_parent_name( part.getParent_name() );
            form.setInvoked_name( part.getInvocable_name() );
            form.setParam_name( part.getName() );
            form.setInvoked_parent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3904_ActualParameter_FormalParameter( ActualParameter form, FormalParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3904_ActualParameter_FormalParameter_extent.remove( R3904_ActualParameter_FormalParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3904_ActualParameter(form);
            form.setR3904_FormalParameter(FormalParameterImpl.EMPTY_FORMALPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3905_ActualParameter_precedes_ActualParameter( ActualParameter form, ActualParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3905_ActualParameter_precedes_ActualParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3905_follows_ActualParameter(form);
            form.setR3905_precedes_ActualParameter(part);
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setInvocation_expression_number( part.getInvocation_expression_number() );
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setNext_expression_number( part.getExpression_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3905_ActualParameter_precedes_ActualParameter( ActualParameter form, ActualParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3905_ActualParameter_precedes_ActualParameter_extent.remove( R3905_ActualParameter_precedes_ActualParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3905_follows_ActualParameter(ActualParameterImpl.EMPTY_ACTUALPARAMETER);
            form.setR3905_precedes_ActualParameter(ActualParameterImpl.EMPTY_ACTUALPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3906_Where_sorts_set_by_Attribute( Where form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3906_Where_sorts_set_by_Attribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR3906_used_as_sort_field_for_Where(form);
            form.setR3906_sorts_set_by_Attribute(part);
            form.setAttr_name( part.getName() );
            form.setAttr_class_name( part.getClass_name() );
            form.setAttr_class_package( part.getClass_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3906_Where_sorts_set_by_Attribute( Where form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3906_Where_sorts_set_by_Attribute_extent.remove( R3906_Where_sorts_set_by_Attribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR3906_used_as_sort_field_for_Where(form);
            form.setR3906_sorts_set_by_Attribute(AttributeImpl.EMPTY_ATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R3907_Promotion_promotes_Expression( Promotion form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R3907_Promotion_promotes_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3907_promoted_by_Promotion(form);
            form.setR3907_promotes_Expression(part);
            form.setStatement_number( part.getStatement_number() );
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
            form.setInput_expression_number( part.getExpression_number() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R3907_Promotion_promotes_Expression( Promotion form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R3907_Promotion_promotes_Expression_extent.remove( R3907_Promotion_promotes_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR3907_promoted_by_Promotion(PromotionImpl.EMPTY_PROMOTION);
            form.setR3907_promotes_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4000_CodeBlock_is_invoked_in_InvocableObject( CodeBlock form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4000_CodeBlock_is_invoked_in_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4000_has_CodeBlock(form);
            form.setR4000_is_invoked_in_InvocableObject(part);
            form.setBody_name( part.getName() );
            form.setParent_name( part.getParent_name() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4000_CodeBlock_is_invoked_in_InvocableObject( CodeBlock form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4000_CodeBlock_is_invoked_in_InvocableObject_extent.remove( R4000_CodeBlock_is_invoked_in_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4000_has_CodeBlock(form);
            form.setR4000_is_invoked_in_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4002_Satisfaction_defines_required_satisfication_Requirement( Satisfaction form, Requirement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4002_Satisfaction_defines_required_satisfication_Requirement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4002_satisfies_Satisfaction(form);
            form.setR4002_defines_required_satisfication_Requirement(part);
            form.setRequirement_Id( part.getRequirement_Id() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4002_Satisfaction_defines_required_satisfication_Requirement( Satisfaction form, Requirement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4002_Satisfaction_defines_required_satisfication_Requirement_extent.remove( R4002_Satisfaction_defines_required_satisfication_Requirement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4002_satisfies_Satisfaction(form);
            form.setR4002_defines_required_satisfication_Requirement(RequirementImpl.EMPTY_REQUIREMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4002_Satisfaction_satisfies_Provision( Satisfaction form, Provision part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4002_Satisfaction_satisfies_Provision_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4002_defines_required_satisfication_Satisfaction(form);
            form.setR4002_satisfies_Provision(part);
            form.setProvision_Id( part.getProvision_Id() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4002_Satisfaction_satisfies_Provision( Satisfaction form, Provision part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4002_Satisfaction_satisfies_Provision_extent.remove( R4002_Satisfaction_satisfies_Provision_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4002_defines_required_satisfication_Satisfaction(form);
            form.setR4002_satisfies_Provision(ProvisionImpl.EMPTY_PROVISION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4003_ExecutableProperty_provides_signature_of_C_I( ExecutableProperty form, C_I part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4003_ExecutableProperty_provides_signature_of_C_I_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4003_is_defined_by_ExecutableProperty(form);
            form.setR4003_provides_signature_of_C_I(part);
            form.setInterface_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4003_ExecutableProperty_provides_signature_of_C_I( ExecutableProperty form, C_I part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4003_ExecutableProperty_provides_signature_of_C_I_extent.remove( R4003_ExecutableProperty_provides_signature_of_C_I_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4003_is_defined_by_ExecutableProperty(form);
            form.setR4003_provides_signature_of_C_I(C_IImpl.EMPTY_C_I);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4004_InterfaceOperation_is_a_ExecutableProperty( InterfaceOperation form, ExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4004_InterfaceOperation_is_a_ExecutableProperty_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4004_is_a_InterfaceOperation(form);
            form.setR4004_is_a_ExecutableProperty(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4004_InterfaceOperation_is_a_ExecutableProperty( InterfaceOperation form, ExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4004_InterfaceOperation_is_a_ExecutableProperty_extent.remove( R4004_InterfaceOperation_is_a_ExecutableProperty_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4004_is_a_InterfaceOperation(InterfaceOperationImpl.EMPTY_INTERFACEOPERATION);
            form.setR4004_is_a_ExecutableProperty(ExecutablePropertyImpl.EMPTY_EXECUTABLEPROPERTY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4004_InterfaceSignal_is_a_ExecutableProperty( InterfaceSignal form, ExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4004_InterfaceSignal_is_a_ExecutableProperty_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4004_is_a_InterfaceSignal(form);
            form.setR4004_is_a_ExecutableProperty(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4004_InterfaceSignal_is_a_ExecutableProperty( InterfaceSignal form, ExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4004_InterfaceSignal_is_a_ExecutableProperty_extent.remove( R4004_InterfaceSignal_is_a_ExecutableProperty_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4004_is_a_InterfaceSignal(InterfaceSignalImpl.EMPTY_INTERFACESIGNAL);
            form.setR4004_is_a_ExecutableProperty(ExecutablePropertyImpl.EMPTY_EXECUTABLEPROPERTY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4006_PropertyParameter_parameterizes_ExecutableProperty( PropertyParameter form, ExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4006_PropertyParameter_parameterizes_ExecutableProperty_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4006_is_parameter_to_PropertyParameter(form);
            form.setR4006_parameterizes_ExecutableProperty(part);
            form.setSignal_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4006_PropertyParameter_parameterizes_ExecutableProperty( PropertyParameter form, ExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4006_PropertyParameter_parameterizes_ExecutableProperty_extent.remove( R4006_PropertyParameter_parameterizes_ExecutableProperty_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4006_is_parameter_to_PropertyParameter(form);
            form.setR4006_parameterizes_ExecutableProperty(ExecutablePropertyImpl.EMPTY_EXECUTABLEPROPERTY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4007_PropertyParameter_is_typed_by_DataType( PropertyParameter form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4007_PropertyParameter_is_typed_by_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4007_Defines_the_type_PropertyParameter(form);
            form.setR4007_is_typed_by_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4007_PropertyParameter_is_typed_by_DataType( PropertyParameter form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4007_PropertyParameter_is_typed_by_DataType_extent.remove( R4007_PropertyParameter_is_typed_by_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4007_Defines_the_type_PropertyParameter(form);
            form.setR4007_is_typed_by_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4008_InterfaceOperation_has_return_defined_by_DataType( InterfaceOperation form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4008_InterfaceOperation_has_return_defined_by_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4008_defines_return_type_InterfaceOperation(form);
            form.setR4008_has_return_defined_by_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4008_InterfaceOperation_has_return_defined_by_DataType( InterfaceOperation form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4008_InterfaceOperation_has_return_defined_by_DataType_extent.remove( R4008_InterfaceOperation_has_return_defined_by_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4008_defines_return_type_InterfaceOperation(form);
            form.setR4008_has_return_defined_by_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4009_Provision_is_a_InterfaceReference( Provision form, InterfaceReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4009_Provision_is_a_InterfaceReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4009_is_a_Provision(form);
            form.setR4009_is_a_InterfaceReference(part);
            form.setProvision_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4009_Provision_is_a_InterfaceReference( Provision form, InterfaceReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4009_Provision_is_a_InterfaceReference_extent.remove( R4009_Provision_is_a_InterfaceReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4009_is_a_Provision(ProvisionImpl.EMPTY_PROVISION);
            form.setR4009_is_a_InterfaceReference(InterfaceReferenceImpl.EMPTY_INTERFACEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4009_Requirement_is_a_InterfaceReference( Requirement form, InterfaceReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4009_Requirement_is_a_InterfaceReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4009_is_a_Requirement(form);
            form.setR4009_is_a_InterfaceReference(part);
            form.setRequirement_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4009_Requirement_is_a_InterfaceReference( Requirement form, InterfaceReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4009_Requirement_is_a_InterfaceReference_extent.remove( R4009_Requirement_is_a_InterfaceReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4009_is_a_Requirement(RequirementImpl.EMPTY_REQUIREMENT);
            form.setR4009_is_a_InterfaceReference(InterfaceReferenceImpl.EMPTY_INTERFACEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4010_C_PO_appears_in_C_C( C_PO form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4010_C_PO_appears_in_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4010_communicates_through_C_PO(form);
            form.setR4010_appears_in_C_C(part);
            form.setComponent_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4010_C_PO_appears_in_C_C( C_PO form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4010_C_PO_appears_in_C_C_extent.remove( R4010_C_PO_appears_in_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4010_communicates_through_C_PO(form);
            form.setR4010_appears_in_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4012_InterfaceReference_may_be_defined_by_C_I( InterfaceReference form, C_I part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4012_InterfaceReference_may_be_defined_by_C_I_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4012_is_formal_definition_InterfaceReference(form);
            form.setR4012_may_be_defined_by_C_I(part);
            form.setFormal_Interface_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4012_InterfaceReference_may_be_defined_by_C_I( InterfaceReference form, C_I part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4012_InterfaceReference_may_be_defined_by_C_I_extent.remove( R4012_InterfaceReference_may_be_defined_by_C_I_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4012_is_formal_definition_InterfaceReference(form);
            form.setR4012_may_be_defined_by_C_I(C_IImpl.EMPTY_C_I);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4013_InterfaceReferenceInDelegation_handles_delegation_for_InterfaceReference( InterfaceReferenceInDelegation form, InterfaceReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4013_InterfaceReferenceInDelegation_handles_delegation_for_InterfaceReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4013_may_delegate_through_InterfaceReferenceInDelegation(form);
            form.setR4013_handles_delegation_for_InterfaceReference(part);
            form.setReference_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4013_InterfaceReferenceInDelegation_handles_delegation_for_InterfaceReference( InterfaceReferenceInDelegation form, InterfaceReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4013_InterfaceReferenceInDelegation_handles_delegation_for_InterfaceReference_extent.remove( R4013_InterfaceReferenceInDelegation_handles_delegation_for_InterfaceReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4013_may_delegate_through_InterfaceReferenceInDelegation(form);
            form.setR4013_handles_delegation_for_InterfaceReference(InterfaceReferenceImpl.EMPTY_INTERFACEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4013_InterfaceReferenceInDelegation_may_delegate_through_Delegation( InterfaceReferenceInDelegation form, Delegation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4013_InterfaceReferenceInDelegation_may_delegate_through_Delegation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4013_handles_delegation_for_InterfaceReferenceInDelegation(form);
            form.setR4013_may_delegate_through_Delegation(part);
            form.setDelegation_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4013_InterfaceReferenceInDelegation_may_delegate_through_Delegation( InterfaceReferenceInDelegation form, Delegation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4013_InterfaceReferenceInDelegation_may_delegate_through_Delegation_extent.remove( R4013_InterfaceReferenceInDelegation_may_delegate_through_Delegation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4013_handles_delegation_for_InterfaceReferenceInDelegation(form);
            form.setR4013_may_delegate_through_Delegation(DelegationImpl.EMPTY_DELEGATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4014_InterfaceReference_receives_delegation_via_Delegation( InterfaceReference form, Delegation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4014_InterfaceReference_receives_delegation_via_Delegation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4014_provides_delegation_to_InterfaceReference(form);
            form.setR4014_receives_delegation_via_Delegation(part);
            form.setDelegation_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4014_InterfaceReference_receives_delegation_via_Delegation( InterfaceReference form, Delegation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4014_InterfaceReference_receives_delegation_via_Delegation_extent.remove( R4014_InterfaceReference_receives_delegation_via_Delegation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4014_provides_delegation_to_InterfaceReference(form);
            form.setR4014_receives_delegation_via_Delegation(DelegationImpl.EMPTY_DELEGATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4016_InterfaceReference_originates_from_C_PO( InterfaceReference form, C_PO part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4016_InterfaceReference_originates_from_C_PO_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4016_exposes_InterfaceReference(form);
            form.setR4016_originates_from_C_PO(part);
            form.setPort_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4016_InterfaceReference_originates_from_C_PO( InterfaceReference form, C_PO part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4016_InterfaceReference_originates_from_C_PO_extent.remove( R4016_InterfaceReference_originates_from_C_PO_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4016_exposes_InterfaceReference(form);
            form.setR4016_originates_from_C_PO(C_POImpl.EMPTY_C_PO);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4017_Dimensions_specifies_occurrences_of_PropertyParameter( Dimensions form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4017_Dimensions_specifies_occurrences_of_PropertyParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4017_may_have_Dimensions(form);
            form.setR4017_specifies_occurrences_of_PropertyParameter(part);
            form.setPP_Id( part.getPP_Id() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4017_Dimensions_specifies_occurrences_of_PropertyParameter( Dimensions form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4017_Dimensions_specifies_occurrences_of_PropertyParameter_extent.remove( R4017_Dimensions_specifies_occurrences_of_PropertyParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4017_may_have_Dimensions(form);
            form.setR4017_specifies_occurrences_of_PropertyParameter(PropertyParameterImpl.EMPTY_PROPERTYPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4018_Dimensions_defines_return_value_dimensions_for__InterfaceOperation( Dimensions form, InterfaceOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4018_Dimensions_defines_return_value_dimensions_for__InterfaceOperation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4018_return_value_may_have_Dimensions(form);
            form.setR4018_defines_return_value_dimensions_for__InterfaceOperation(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4018_Dimensions_defines_return_value_dimensions_for__InterfaceOperation( Dimensions form, InterfaceOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4018_Dimensions_defines_return_value_dimensions_for__InterfaceOperation_extent.remove( R4018_Dimensions_defines_return_value_dimensions_for__InterfaceOperation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4018_return_value_may_have_Dimensions(form);
            form.setR4018_defines_return_value_dimensions_for__InterfaceOperation(InterfaceOperationImpl.EMPTY_INTERFACEOPERATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4019_InterfaceOperation_succeeds_InterfaceOperation( InterfaceOperation form, InterfaceOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4019_InterfaceOperation_succeeds_InterfaceOperation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4019_precedes_InterfaceOperation(form);
            form.setR4019_succeeds_InterfaceOperation(part);
            form.setPrevious_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4019_InterfaceOperation_succeeds_InterfaceOperation( InterfaceOperation form, InterfaceOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4019_InterfaceOperation_succeeds_InterfaceOperation_extent.remove( R4019_InterfaceOperation_succeeds_InterfaceOperation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4019_precedes_InterfaceOperation(InterfaceOperationImpl.EMPTY_INTERFACEOPERATION);
            form.setR4019_succeeds_InterfaceOperation(InterfaceOperationImpl.EMPTY_INTERFACEOPERATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R401_Application_is_a_File( Application form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R401_Application_is_a_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_Application(form);
            form.setR401_is_a_File(part);
            form.setPackage( part.getPackage() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R401_Application_is_a_File( Application form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R401_Application_is_a_File_extent.remove( R401_Application_is_a_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_Application(ApplicationImpl.EMPTY_APPLICATION);
            form.setR401_is_a_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R401_ComponentDefinition_is_a_File( ComponentDefinition form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R401_ComponentDefinition_is_a_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_ComponentDefinition(form);
            form.setR401_is_a_File(part);
            form.setName( part.getName() );
            form.setPackage( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R401_ComponentDefinition_is_a_File( ComponentDefinition form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R401_ComponentDefinition_is_a_File_extent.remove( R401_ComponentDefinition_is_a_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_ComponentDefinition(ComponentDefinitionImpl.EMPTY_COMPONENTDEFINITION);
            form.setR401_is_a_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R401_EnumeratedType_is_a_File( EnumeratedType form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R401_EnumeratedType_is_a_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_EnumeratedType(form);
            form.setR401_is_a_File(part);
            form.setName( part.getName() );
            form.setPackage( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R401_EnumeratedType_is_a_File( EnumeratedType form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R401_EnumeratedType_is_a_File_extent.remove( R401_EnumeratedType_is_a_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_EnumeratedType(EnumeratedTypeImpl.EMPTY_ENUMERATEDTYPE);
            form.setR401_is_a_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R401_GeneralFile_is_a_File( GeneralFile form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R401_GeneralFile_is_a_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_GeneralFile(form);
            form.setR401_is_a_File(part);
            form.setName( part.getName() );
            form.setPackage( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R401_GeneralFile_is_a_File( GeneralFile form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R401_GeneralFile_is_a_File_extent.remove( R401_GeneralFile_is_a_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_GeneralFile(GeneralFileImpl.EMPTY_GENERALFILE);
            form.setR401_is_a_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R401_Iface_is_a_File( Iface form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R401_Iface_is_a_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_Iface(form);
            form.setR401_is_a_File(part);
            form.setName( part.getName() );
            form.setPackage( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R401_Iface_is_a_File( Iface form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R401_Iface_is_a_File_extent.remove( R401_Iface_is_a_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_Iface(IfaceImpl.EMPTY_IFACE);
            form.setR401_is_a_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R401_InstSet_is_a_File( InstSet form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R401_InstSet_is_a_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_InstSet(form);
            form.setR401_is_a_File(part);
            form.setPackage( part.getPackage() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R401_InstSet_is_a_File( InstSet form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R401_InstSet_is_a_File_extent.remove( R401_InstSet_is_a_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_InstSet(InstSetImpl.EMPTY_INSTSET);
            form.setR401_is_a_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R401_ModelInst_is_a_File( ModelInst form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R401_ModelInst_is_a_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_ModelInst(form);
            form.setR401_is_a_File(part);
            form.setName( part.getName() );
            form.setPackage( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R401_ModelInst_is_a_File( ModelInst form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R401_ModelInst_is_a_File_extent.remove( R401_ModelInst_is_a_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_ModelInst(ModelInstImpl.EMPTY_MODELINST);
            form.setR401_is_a_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R401_Port_is_a_File( Port form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R401_Port_is_a_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_Port(form);
            form.setR401_is_a_File(part);
            form.setName( part.getName() );
            form.setPackage( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R401_Port_is_a_File( Port form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R401_Port_is_a_File_extent.remove( R401_Port_is_a_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_Port(PortImpl.EMPTY_PORT);
            form.setR401_is_a_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R401_StateMachine_is_a_File( StateMachine form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R401_StateMachine_is_a_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_StateMachine(form);
            form.setR401_is_a_File(part);
            form.setPackage( part.getPackage() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R401_StateMachine_is_a_File( StateMachine form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R401_StateMachine_is_a_File_extent.remove( R401_StateMachine_is_a_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_StateMachine(StateMachineImpl.EMPTY_STATEMACHINE);
            form.setR401_is_a_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R401_UserDefinedType_is_a_File( UserDefinedType form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R401_UserDefinedType_is_a_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_UserDefinedType(form);
            form.setR401_is_a_File(part);
            form.setName( part.getName() );
            form.setPackage( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R401_UserDefinedType_is_a_File( UserDefinedType form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R401_UserDefinedType_is_a_File_extent.remove( R401_UserDefinedType_is_a_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_UserDefinedType(UserDefinedTypeImpl.EMPTY_USERDEFINEDTYPE);
            form.setR401_is_a_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R401_Utility_is_a_File( Utility form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R401_Utility_is_a_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_Utility(form);
            form.setR401_is_a_File(part);
            form.setPackage( part.getPackage() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R401_Utility_is_a_File( Utility form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R401_Utility_is_a_File_extent.remove( R401_Utility_is_a_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR401_is_a_Utility(UtilityImpl.EMPTY_UTILITY);
            form.setR401_is_a_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4020_InterfaceSignal_succeeds_InterfaceSignal( InterfaceSignal form, InterfaceSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4020_InterfaceSignal_succeeds_InterfaceSignal_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4020_precedes_InterfaceSignal(form);
            form.setR4020_succeeds_InterfaceSignal(part);
            form.setPrevious_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4020_InterfaceSignal_succeeds_InterfaceSignal( InterfaceSignal form, InterfaceSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4020_InterfaceSignal_succeeds_InterfaceSignal_extent.remove( R4020_InterfaceSignal_succeeds_InterfaceSignal_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4020_precedes_InterfaceSignal(InterfaceSignalImpl.EMPTY_INTERFACESIGNAL);
            form.setR4020_succeeds_InterfaceSignal(InterfaceSignalImpl.EMPTY_INTERFACESIGNAL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4021_PropertyParameter_succeeds_PropertyParameter( PropertyParameter form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4021_PropertyParameter_succeeds_PropertyParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4021_precedes_PropertyParameter(form);
            form.setR4021_succeeds_PropertyParameter(part);
            form.setPrevious_PP_Id( part.getPP_Id() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4021_PropertyParameter_succeeds_PropertyParameter( PropertyParameter form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4021_PropertyParameter_succeeds_PropertyParameter_extent.remove( R4021_PropertyParameter_succeeds_PropertyParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4021_precedes_PropertyParameter(PropertyParameterImpl.EMPTY_PROPERTYPARAMETER);
            form.setR4021_succeeds_PropertyParameter(PropertyParameterImpl.EMPTY_PROPERTYPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4027_ApplicationExecutor_executes_tasks_for_Application( ApplicationExecutor form, Application part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4027_ApplicationExecutor_executes_tasks_for_Application_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4027_delegates_execution_to_ApplicationExecutor(form);
            form.setR4027_executes_tasks_for_Application(part);
            form.setApp_name( part.getName() );
            form.setApp_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4027_ApplicationExecutor_executes_tasks_for_Application( ApplicationExecutor form, Application part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4027_ApplicationExecutor_executes_tasks_for_Application_extent.remove( R4027_ApplicationExecutor_executes_tasks_for_Application_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4027_delegates_execution_to_ApplicationExecutor(form);
            form.setR4027_executes_tasks_for_Application(ApplicationImpl.EMPTY_APPLICATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4028_ComponentInstantiation_is_executed_by_ApplicationExecutor( ComponentInstantiation form, ApplicationExecutor part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4028_ComponentInstantiation_is_executed_by_ApplicationExecutor_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4028_provides_execution_context_for_ComponentInstantiation(form);
            form.setR4028_is_executed_by_ApplicationExecutor(part);
            form.setApp_package( part.getApp_package() );
            form.setApp_name( part.getApp_name() );
            form.setExecutor_index( part.getIndex() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4028_ComponentInstantiation_is_executed_by_ApplicationExecutor( ComponentInstantiation form, ApplicationExecutor part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4028_ComponentInstantiation_is_executed_by_ApplicationExecutor_extent.remove( R4028_ComponentInstantiation_is_executed_by_ApplicationExecutor_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4028_provides_execution_context_for_ComponentInstantiation(form);
            form.setR4028_is_executed_by_ApplicationExecutor(ApplicationExecutorImpl.EMPTY_APPLICATIONEXECUTOR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4029_ComponentInstantiation_precedes_ComponentInstantiation( ComponentInstantiation form, ComponentInstantiation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4029_ComponentInstantiation_precedes_ComponentInstantiation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4029_follows_ComponentInstantiation(form);
            form.setR4029_precedes_ComponentInstantiation(part);
            form.setNext_comp_name( part.getComp_name() );
            form.setNext_comp_package( part.getComp_package() );
            form.setApp_name( part.getApp_name() );
            form.setApp_package( part.getApp_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4029_ComponentInstantiation_precedes_ComponentInstantiation( ComponentInstantiation form, ComponentInstantiation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4029_ComponentInstantiation_precedes_ComponentInstantiation_extent.remove( R4029_ComponentInstantiation_precedes_ComponentInstantiation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4029_follows_ComponentInstantiation(ComponentInstantiationImpl.EMPTY_COMPONENTINSTANTIATION);
            form.setR4029_precedes_ComponentInstantiation(ComponentInstantiationImpl.EMPTY_COMPONENTINSTANTIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R402_TypeImportReference_imports_type_into_context_of_File( TypeImportReference form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R402_TypeImportReference_imports_type_into_context_of_File_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR402_imports_type_via_TypeImportReference(form);
            form.setR402_imports_type_into_context_of_File(part);
            form.setFile_package( part.getPackage() );
            form.setFile_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R402_TypeImportReference_imports_type_into_context_of_File( TypeImportReference form, File part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R402_TypeImportReference_imports_type_into_context_of_File_extent.remove( R402_TypeImportReference_imports_type_into_context_of_File_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR402_imports_type_via_TypeImportReference(form);
            form.setR402_imports_type_into_context_of_File(FileImpl.EMPTY_FILE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R402_TypeImportReference_imports_type_via_TypeImport( TypeImportReference form, TypeImport part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R402_TypeImportReference_imports_type_via_TypeImport_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR402_imports_type_into_context_of_TypeImportReference(form);
            form.setR402_imports_type_via_TypeImport(part);
            form.setFully_qualified_name( part.getFully_qualified_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R402_TypeImportReference_imports_type_via_TypeImport( TypeImportReference form, TypeImport part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R402_TypeImportReference_imports_type_via_TypeImport_extent.remove( R402_TypeImportReference_imports_type_via_TypeImport_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR402_imports_type_into_context_of_TypeImportReference(form);
            form.setR402_imports_type_via_TypeImport(TypeImportImpl.EMPTY_TYPEIMPORT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R404_FormalParameter_precedes_FormalParameter( FormalParameter form, FormalParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R404_FormalParameter_precedes_FormalParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR404_follows_FormalParameter(form);
            form.setR404_precedes_FormalParameter(part);
            form.setParent_name( part.getParent_name() );
            form.setNext_name( part.getName() );
            form.setInvocable_name( part.getInvocable_name() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R404_FormalParameter_precedes_FormalParameter( FormalParameter form, FormalParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R404_FormalParameter_precedes_FormalParameter_extent.remove( R404_FormalParameter_precedes_FormalParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR404_follows_FormalParameter(FormalParameterImpl.EMPTY_FORMALPARAMETER);
            form.setR404_precedes_FormalParameter(FormalParameterImpl.EMPTY_FORMALPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R405_Function_can_execute_synchronously_within_ComponentDefinition( Function form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R405_Function_can_execute_synchronously_within_ComponentDefinition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR405_provides_synchronous_Function(form);
            form.setR405_can_execute_synchronously_within_ComponentDefinition(part);
            form.setComp_name( part.getName() );
            form.setComp_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R405_Function_can_execute_synchronously_within_ComponentDefinition( Function form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R405_Function_can_execute_synchronously_within_ComponentDefinition_extent.remove( R405_Function_can_execute_synchronously_within_ComponentDefinition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR405_provides_synchronous_Function(form);
            form.setR405_can_execute_synchronously_within_ComponentDefinition(ComponentDefinitionImpl.EMPTY_COMPONENTDEFINITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R406_InstSet_defines_set_with_elements_of_type_ModelInst( InstSet form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R406_InstSet_defines_set_with_elements_of_type_ModelInst_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR406_is_type_of_single_element_in_InstSet(form);
            form.setR406_defines_set_with_elements_of_type_ModelInst(part);
            form.setClass_name( part.getName() );
            form.setComp_package( part.getComp_package() );
            form.setComp_name( part.getComp_name() );
            form.setClass_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R406_InstSet_defines_set_with_elements_of_type_ModelInst( InstSet form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R406_InstSet_defines_set_with_elements_of_type_ModelInst_extent.remove( R406_InstSet_defines_set_with_elements_of_type_ModelInst_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR406_is_type_of_single_element_in_InstSet(InstSetImpl.EMPTY_INSTSET);
            form.setR406_defines_set_with_elements_of_type_ModelInst(ModelInstImpl.EMPTY_MODELINST);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R407_BuiltInType_is_a_Type( BuiltInType form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R407_BuiltInType_is_a_Type_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_BuiltInType(form);
            form.setR407_is_a_Type(part);
            form.setPackage( part.getPackage() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R407_BuiltInType_is_a_Type( BuiltInType form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R407_BuiltInType_is_a_Type_extent.remove( R407_BuiltInType_is_a_Type_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_BuiltInType(BuiltInTypeImpl.EMPTY_BUILTINTYPE);
            form.setR407_is_a_Type(TypeImpl.EMPTY_TYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R407_EnumeratedType_is_a_Type( EnumeratedType form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R407_EnumeratedType_is_a_Type_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_EnumeratedType(form);
            form.setR407_is_a_Type(part);
            form.setPackage( part.getPackage() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R407_EnumeratedType_is_a_Type( EnumeratedType form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R407_EnumeratedType_is_a_Type_extent.remove( R407_EnumeratedType_is_a_Type_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_EnumeratedType(EnumeratedTypeImpl.EMPTY_ENUMERATEDTYPE);
            form.setR407_is_a_Type(TypeImpl.EMPTY_TYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R407_InstSet_is_a_Type( InstSet form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R407_InstSet_is_a_Type_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_InstSet(form);
            form.setR407_is_a_Type(part);
            form.setName( part.getName() );
            form.setPackage( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R407_InstSet_is_a_Type( InstSet form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R407_InstSet_is_a_Type_extent.remove( R407_InstSet_is_a_Type_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_InstSet(InstSetImpl.EMPTY_INSTSET);
            form.setR407_is_a_Type(TypeImpl.EMPTY_TYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R407_ModelInst_is_a_Type( ModelInst form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R407_ModelInst_is_a_Type_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_ModelInst(form);
            form.setR407_is_a_Type(part);
            form.setPackage( part.getPackage() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R407_ModelInst_is_a_Type( ModelInst form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R407_ModelInst_is_a_Type_extent.remove( R407_ModelInst_is_a_Type_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_ModelInst(ModelInstImpl.EMPTY_MODELINST);
            form.setR407_is_a_Type(TypeImpl.EMPTY_TYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R407_UnresolvedType_is_a_Type( UnresolvedType form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R407_UnresolvedType_is_a_Type_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_UnresolvedType(form);
            form.setR407_is_a_Type(part);
            form.setName( part.getName() );
            form.setPackage( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R407_UnresolvedType_is_a_Type( UnresolvedType form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R407_UnresolvedType_is_a_Type_extent.remove( R407_UnresolvedType_is_a_Type_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_UnresolvedType(UnresolvedTypeImpl.EMPTY_UNRESOLVEDTYPE);
            form.setR407_is_a_Type(TypeImpl.EMPTY_TYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R407_UserDefinedType_is_a_Type( UserDefinedType form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R407_UserDefinedType_is_a_Type_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_UserDefinedType(form);
            form.setR407_is_a_Type(part);
            form.setName( part.getName() );
            form.setPackage( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R407_UserDefinedType_is_a_Type( UserDefinedType form, Type part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R407_UserDefinedType_is_a_Type_extent.remove( R407_UserDefinedType_is_a_Type_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR407_is_a_UserDefinedType(UserDefinedTypeImpl.EMPTY_USERDEFINEDTYPE);
            form.setR407_is_a_Type(TypeImpl.EMPTY_TYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R408_ModelInst_forms_instance_population_of_ComponentDefinition( ModelInst form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R408_ModelInst_forms_instance_population_of_ComponentDefinition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR408_maintains_instances_of_ModelInst(form);
            form.setR408_forms_instance_population_of_ComponentDefinition(part);
            form.setComp_name( part.getName() );
            form.setComp_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R408_ModelInst_forms_instance_population_of_ComponentDefinition( ModelInst form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R408_ModelInst_forms_instance_population_of_ComponentDefinition_extent.remove( R408_ModelInst_forms_instance_population_of_ComponentDefinition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR408_maintains_instances_of_ModelInst(form);
            form.setR408_forms_instance_population_of_ComponentDefinition(ComponentDefinitionImpl.EMPTY_COMPONENTDEFINITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R409_ModelInst_ModelClass( ModelInst form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R409_ModelInst_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR409_ModelInst(form);
            form.setR409_ModelClass(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R409_ModelInst_ModelClass( ModelInst form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R409_ModelInst_ModelClass_extent.remove( R409_ModelInst_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR409_ModelInst(ModelInstImpl.EMPTY_MODELINST);
            form.setR409_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R410_Attribute_abstracts_data_for_ModelInst( Attribute form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R410_Attribute_abstracts_data_for_ModelInst_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR410_data_abstracted_by_Attribute(form);
            form.setR410_abstracts_data_for_ModelInst(part);
            form.setComp_package( part.getComp_package() );
            form.setClass_name( part.getName() );
            form.setComp_name( part.getComp_name() );
            form.setClass_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R410_Attribute_abstracts_data_for_ModelInst( Attribute form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R410_Attribute_abstracts_data_for_ModelInst_extent.remove( R410_Attribute_abstracts_data_for_ModelInst_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR410_data_abstracted_by_Attribute(form);
            form.setR410_abstracts_data_for_ModelInst(ModelInstImpl.EMPTY_MODELINST);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R414_O_ATTR_Attribute( O_ATTR form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R414_O_ATTR_Attribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR414_O_ATTR(form);
            form.setR414_Attribute(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R414_O_ATTR_Attribute( O_ATTR form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R414_O_ATTR_Attribute_extent.remove( R414_O_ATTR_Attribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR414_O_ATTR(O_ATTRImpl.EMPTY_O_ATTR);
            form.setR414_Attribute(AttributeImpl.EMPTY_ATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R415_Enumerator_is_unique_value_of_EnumeratedType( Enumerator form, EnumeratedType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R415_Enumerator_is_unique_value_of_EnumeratedType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR415_declares_Enumerator(form);
            form.setR415_is_unique_value_of_EnumeratedType(part);
            form.setType_name( part.getName() );
            form.setType_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R415_Enumerator_is_unique_value_of_EnumeratedType( Enumerator form, EnumeratedType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R415_Enumerator_is_unique_value_of_EnumeratedType_extent.remove( R415_Enumerator_is_unique_value_of_EnumeratedType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR415_declares_Enumerator(form);
            form.setR415_is_unique_value_of_EnumeratedType(EnumeratedTypeImpl.EMPTY_ENUMERATEDTYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4160_Port_satisfies_provided_Port( Port form, Port part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4160_Port_satisfies_provided_Port_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4160_satisfies_required_Port(form);
            form.setR4160_satisfies_provided_Port(part);
            form.setProvider_port_name( part.getName() );
            form.setProvider_port_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4160_Port_satisfies_provided_Port( Port form, Port part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4160_Port_satisfies_provided_Port_extent.remove( R4160_Port_satisfies_provided_Port_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4160_satisfies_required_Port(PortImpl.EMPTY_PORT);
            form.setR4160_satisfies_provided_Port(PortImpl.EMPTY_PORT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R416_Operation_provided_by_ModelInst( Operation form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R416_Operation_provided_by_ModelInst_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR416_provides_Operation(form);
            form.setR416_provided_by_ModelInst(part);
            form.setComp_package( part.getComp_package() );
            form.setClass_package( part.getPackage() );
            form.setComp_name( part.getComp_name() );
            form.setClass_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R416_Operation_provided_by_ModelInst( Operation form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R416_Operation_provided_by_ModelInst_extent.remove( R416_Operation_provided_by_ModelInst_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR416_provides_Operation(form);
            form.setR416_provided_by_ModelInst(ModelInstImpl.EMPTY_MODELINST);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R417_Port_passes_messages_for_ComponentDefinition( Port form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R417_Port_passes_messages_for_ComponentDefinition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR417_communicates_through_Port(form);
            form.setR417_passes_messages_for_ComponentDefinition(part);
            form.setComp_name( part.getName() );
            form.setComp_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R417_Port_passes_messages_for_ComponentDefinition( Port form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R417_Port_passes_messages_for_ComponentDefinition_extent.remove( R417_Port_passes_messages_for_ComponentDefinition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR417_communicates_through_Port(form);
            form.setR417_passes_messages_for_ComponentDefinition(ComponentDefinitionImpl.EMPTY_COMPONENTDEFINITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R418_Port_implements_Iface( Port form, Iface part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R418_Port_implements_Iface_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR418_is_implemented_by_Port(form);
            form.setR418_implements_Iface(part);
            form.setIface_package( part.getPackage() );
            form.setIface_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R418_Port_implements_Iface( Port form, Iface part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R418_Port_implements_Iface_extent.remove( R418_Port_implements_Iface_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR418_is_implemented_by_Port(form);
            form.setR418_implements_Iface(IfaceImpl.EMPTY_IFACE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R419_Message_defines_message_format_for_Iface( Message form, Iface part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R419_Message_defines_message_format_for_Iface_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR419_defines_communication_through_Message(form);
            form.setR419_defines_message_format_for_Iface(part);
            form.setIface_name( part.getName() );
            form.setIface_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R419_Message_defines_message_format_for_Iface( Message form, Iface part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R419_Message_defines_message_format_for_Iface_extent.remove( R419_Message_defines_message_format_for_Iface_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR419_defines_communication_through_Message(form);
            form.setR419_defines_message_format_for_Iface(IfaceImpl.EMPTY_IFACE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4201_ComponentReference_represents_C_C( ComponentReference form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4201_ComponentReference_represents_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4201_is_represented_by_ComponentReference(form);
            form.setR4201_represents_C_C(part);
            form.setAssignedComp_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4201_ComponentReference_represents_C_C( ComponentReference form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4201_ComponentReference_represents_C_C_extent.remove( R4201_ComponentReference_represents_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4201_is_represented_by_ComponentReference(form);
            form.setR4201_represents_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4205_ComponentReference_nested_in_C_C( ComponentReference form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4205_ComponentReference_nested_in_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4205_nests_ComponentReference(form);
            form.setR4205_nested_in_C_C(part);
            form.setParentComp_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4205_ComponentReference_nested_in_C_C( ComponentReference form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4205_ComponentReference_nested_in_C_C_extent.remove( R4205_ComponentReference_nested_in_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4205_nests_ComponentReference(form);
            form.setR4205_nested_in_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R420_PortMessage_is_implemented_within_Port( PortMessage form, Port part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R420_PortMessage_is_implemented_within_Port_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR420_provides_implementation_for_PortMessage(form);
            form.setR420_is_implemented_within_Port(part);
            form.setPort_package( part.getPackage() );
            form.setPort_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R420_PortMessage_is_implemented_within_Port( PortMessage form, Port part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R420_PortMessage_is_implemented_within_Port_extent.remove( R420_PortMessage_is_implemented_within_Port_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR420_provides_implementation_for_PortMessage(form);
            form.setR420_is_implemented_within_Port(PortImpl.EMPTY_PORT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R420_PortMessage_provides_implementation_for_Message( PortMessage form, Message part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R420_PortMessage_provides_implementation_for_Message_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR420_is_implemented_within_PortMessage(form);
            form.setR420_provides_implementation_for_Message(part);
            form.setMsg_name( part.getName() );
            form.setIface_package( part.getIface_package() );
            form.setIface_name( part.getIface_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R420_PortMessage_provides_implementation_for_Message( PortMessage form, Message part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R420_PortMessage_provides_implementation_for_Message_extent.remove( R420_PortMessage_provides_implementation_for_Message_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR420_is_implemented_within_PortMessage(form);
            form.setR420_provides_implementation_for_Message(MessageImpl.EMPTY_MESSAGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R421_Iface_C_I( Iface form, C_I part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R421_Iface_C_I_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR421_Iface(form);
            form.setR421_C_I(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R421_Iface_C_I( Iface form, C_I part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R421_Iface_C_I_extent.remove( R421_Iface_C_I_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR421_Iface(IfaceImpl.EMPTY_IFACE);
            form.setR421_C_I(C_IImpl.EMPTY_C_I);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R422_Port_C_PO( Port form, C_PO part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R422_Port_C_PO_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR422_Port(form);
            form.setR422_C_PO(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R422_Port_C_PO( Port form, C_PO part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R422_Port_C_PO_extent.remove( R422_Port_C_PO_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR422_Port(PortImpl.EMPTY_PORT);
            form.setR422_C_PO(C_POImpl.EMPTY_C_PO);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R423_Type_DataType( Type form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R423_Type_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR423_Type(form);
            form.setR423_DataType(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R423_Type_DataType( Type form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R423_Type_DataType_extent.remove( R423_Type_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR423_Type(TypeImpl.EMPTY_TYPE);
            form.setR423_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R424_Attribute_is_typed_by_TypeReference( Attribute form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R424_Attribute_is_typed_by_TypeReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR424_defines_type_for_Attribute(form);
            form.setR424_is_typed_by_TypeReference(part);
            form.setType_package( part.getType_package() );
            form.setType_name( part.getType_name() );
            form.setType_reference_name( part.getType_reference_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R424_Attribute_is_typed_by_TypeReference( Attribute form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R424_Attribute_is_typed_by_TypeReference_extent.remove( R424_Attribute_is_typed_by_TypeReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR424_defines_type_for_Attribute(form);
            form.setR424_is_typed_by_TypeReference(TypeReferenceImpl.EMPTY_TYPEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R426_ComponentInstantiation_is_broken_into_ComponentDefinition( ComponentInstantiation form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R426_ComponentInstantiation_is_broken_into_ComponentDefinition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR426_is_instantiated_by_ComponentInstantiation(form);
            form.setR426_is_broken_into_ComponentDefinition(part);
            form.setComp_name( part.getName() );
            form.setComp_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R426_ComponentInstantiation_is_broken_into_ComponentDefinition( ComponentInstantiation form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R426_ComponentInstantiation_is_broken_into_ComponentDefinition_extent.remove( R426_ComponentInstantiation_is_broken_into_ComponentDefinition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR426_is_instantiated_by_ComponentInstantiation(form);
            form.setR426_is_broken_into_ComponentDefinition(ComponentDefinitionImpl.EMPTY_COMPONENTDEFINITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R426_ComponentInstantiation_is_instantiated_by_Application( ComponentInstantiation form, Application part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R426_ComponentInstantiation_is_instantiated_by_Application_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR426_is_broken_into_ComponentInstantiation(form);
            form.setR426_is_instantiated_by_Application(part);
            form.setApp_name( part.getName() );
            form.setApp_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R426_ComponentInstantiation_is_instantiated_by_Application( ComponentInstantiation form, Application part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R426_ComponentInstantiation_is_instantiated_by_Application_extent.remove( R426_ComponentInstantiation_is_instantiated_by_Application_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR426_is_broken_into_ComponentInstantiation(form);
            form.setR426_is_instantiated_by_Application(ApplicationImpl.EMPTY_APPLICATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R427_AttributeDerivation_is_a_InvocableObject( AttributeDerivation form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R427_AttributeDerivation_is_a_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_AttributeDerivation(form);
            form.setR427_is_a_InvocableObject(part);
            form.setClass_name( part.getParent_name() );
            form.setClass_package( part.getParent_package() );
            form.setAttribute_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R427_AttributeDerivation_is_a_InvocableObject( AttributeDerivation form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R427_AttributeDerivation_is_a_InvocableObject_extent.remove( R427_AttributeDerivation_is_a_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_AttributeDerivation(AttributeDerivationImpl.EMPTY_ATTRIBUTEDERIVATION);
            form.setR427_is_a_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R427_Event_is_a_InvocableObject( Event form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R427_Event_is_a_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_Event(form);
            form.setR427_is_a_InvocableObject(part);
            form.setSm_package( part.getParent_package() );
            form.setSm_name( part.getParent_name() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R427_Event_is_a_InvocableObject( Event form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R427_Event_is_a_InvocableObject_extent.remove( R427_Event_is_a_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_Event(EventImpl.EMPTY_EVENT);
            form.setR427_is_a_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R427_Function_is_a_InvocableObject( Function form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R427_Function_is_a_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_Function(form);
            form.setR427_is_a_InvocableObject(part);
            form.setComp_name( part.getParent_name() );
            form.setComp_package( part.getParent_package() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R427_Function_is_a_InvocableObject( Function form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R427_Function_is_a_InvocableObject_extent.remove( R427_Function_is_a_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_Function(FunctionImpl.EMPTY_FUNCTION);
            form.setR427_is_a_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R427_GenericInvocable_is_a_InvocableObject( GenericInvocable form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R427_GenericInvocable_is_a_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_GenericInvocable(form);
            form.setR427_is_a_InvocableObject(part);
            form.setParent_name( part.getParent_name() );
            form.setName( part.getName() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R427_GenericInvocable_is_a_InvocableObject( GenericInvocable form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R427_GenericInvocable_is_a_InvocableObject_extent.remove( R427_GenericInvocable_is_a_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_GenericInvocable(GenericInvocableImpl.EMPTY_GENERICINVOCABLE);
            form.setR427_is_a_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R427_Operation_is_a_InvocableObject( Operation form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R427_Operation_is_a_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_Operation(form);
            form.setR427_is_a_InvocableObject(part);
            form.setName( part.getName() );
            form.setClass_package( part.getParent_package() );
            form.setClass_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R427_Operation_is_a_InvocableObject( Operation form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R427_Operation_is_a_InvocableObject_extent.remove( R427_Operation_is_a_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_Operation(OperationImpl.EMPTY_OPERATION);
            form.setR427_is_a_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R427_PortMessage_is_a_InvocableObject( PortMessage form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R427_PortMessage_is_a_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_PortMessage(form);
            form.setR427_is_a_InvocableObject(part);
            form.setMsg_name( part.getName() );
            form.setPort_package( part.getParent_package() );
            form.setPort_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R427_PortMessage_is_a_InvocableObject( PortMessage form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R427_PortMessage_is_a_InvocableObject_extent.remove( R427_PortMessage_is_a_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_PortMessage(PortMessageImpl.EMPTY_PORTMESSAGE);
            form.setR427_is_a_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R427_StateTransition_is_a_InvocableObject( StateTransition form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R427_StateTransition_is_a_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_StateTransition(form);
            form.setR427_is_a_InvocableObject(part);
            form.setSm_package( part.getParent_package() );
            form.setSm_name( part.getParent_name() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R427_StateTransition_is_a_InvocableObject( StateTransition form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R427_StateTransition_is_a_InvocableObject_extent.remove( R427_StateTransition_is_a_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_StateTransition(StateTransitionImpl.EMPTY_STATETRANSITION);
            form.setR427_is_a_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R427_State_is_a_InvocableObject( State form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R427_State_is_a_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_State(form);
            form.setR427_is_a_InvocableObject(part);
            form.setSm_package( part.getParent_package() );
            form.setSm_name( part.getParent_name() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R427_State_is_a_InvocableObject( State form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R427_State_is_a_InvocableObject_extent.remove( R427_State_is_a_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_State(StateImpl.EMPTY_STATE);
            form.setR427_is_a_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R427_UtilityFunction_is_a_InvocableObject( UtilityFunction form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R427_UtilityFunction_is_a_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_UtilityFunction(form);
            form.setR427_is_a_InvocableObject(part);
            form.setUtility_package( part.getParent_package() );
            form.setName( part.getName() );
            form.setUtility_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R427_UtilityFunction_is_a_InvocableObject( UtilityFunction form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R427_UtilityFunction_is_a_InvocableObject_extent.remove( R427_UtilityFunction_is_a_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR427_is_a_UtilityFunction(UtilityFunctionImpl.EMPTY_UTILITYFUNCTION);
            form.setR427_is_a_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R428_InvocableObject_return_value_is_typed_by_TypeReference( InvocableObject form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R428_InvocableObject_return_value_is_typed_by_TypeReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR428_defines_return_type_for_InvocableObject(form);
            form.setR428_return_value_is_typed_by_TypeReference(part);
            form.setType_package( part.getType_package() );
            form.setType_reference_name( part.getType_reference_name() );
            form.setType_name( part.getType_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R428_InvocableObject_return_value_is_typed_by_TypeReference( InvocableObject form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R428_InvocableObject_return_value_is_typed_by_TypeReference_extent.remove( R428_InvocableObject_return_value_is_typed_by_TypeReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR428_defines_return_type_for_InvocableObject(form);
            form.setR428_return_value_is_typed_by_TypeReference(TypeReferenceImpl.EMPTY_TYPEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R429_FormalParameter_shapes_data_for_InvocableObject( FormalParameter form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R429_FormalParameter_shapes_data_for_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR429_declares_signature_with_FormalParameter(form);
            form.setR429_shapes_data_for_InvocableObject(part);
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setInvocable_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R429_FormalParameter_shapes_data_for_InvocableObject( FormalParameter form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R429_FormalParameter_shapes_data_for_InvocableObject_extent.remove( R429_FormalParameter_shapes_data_for_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR429_declares_signature_with_FormalParameter(form);
            form.setR429_shapes_data_for_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R431_FormalParameter_is_typed_by_TypeReference( FormalParameter form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R431_FormalParameter_is_typed_by_TypeReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR431_defines_type_for_FormalParameter(form);
            form.setR431_is_typed_by_TypeReference(part);
            form.setType_package( part.getType_package() );
            form.setType_name( part.getType_name() );
            form.setType_reference_name( part.getType_reference_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R431_FormalParameter_is_typed_by_TypeReference( FormalParameter form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R431_FormalParameter_is_typed_by_TypeReference_extent.remove( R431_FormalParameter_is_typed_by_TypeReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR431_defines_type_for_FormalParameter(form);
            form.setR431_is_typed_by_TypeReference(TypeReferenceImpl.EMPTY_TYPEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R432_InvocableObject_Body( InvocableObject form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R432_InvocableObject_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR432_InvocableObject(form);
            form.setR432_Body(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R432_InvocableObject_Body( InvocableObject form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R432_InvocableObject_Body_extent.remove( R432_InvocableObject_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR432_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
            form.setR432_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R434_ClassRelationship_has_participating_ModelInst( ClassRelationship form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R434_ClassRelationship_has_participating_ModelInst_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR434_participates_in_ClassRelationship(form);
            form.setR434_has_participating_ModelInst(part);
            form.setComp_name( part.getComp_name() );
            form.setPart_name( part.getName() );
            form.setPart_package( part.getPackage() );
            form.setComp_package( part.getComp_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R434_ClassRelationship_has_participating_ModelInst( ClassRelationship form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R434_ClassRelationship_has_participating_ModelInst_extent.remove( R434_ClassRelationship_has_participating_ModelInst_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR434_participates_in_ClassRelationship(form);
            form.setR434_has_participating_ModelInst(ModelInstImpl.EMPTY_MODELINST);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R435_ClassRelationship_has_formalizing_ModelInst( ClassRelationship form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R435_ClassRelationship_has_formalizing_ModelInst_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR435_formalizes_ClassRelationship(form);
            form.setR435_has_formalizing_ModelInst(part);
            form.setComp_name( part.getComp_name() );
            form.setForm_name( part.getName() );
            form.setComp_package( part.getComp_package() );
            form.setForm_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R435_ClassRelationship_has_formalizing_ModelInst( ClassRelationship form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R435_ClassRelationship_has_formalizing_ModelInst_extent.remove( R435_ClassRelationship_has_formalizing_ModelInst_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR435_formalizes_ClassRelationship(form);
            form.setR435_has_formalizing_ModelInst(ModelInstImpl.EMPTY_MODELINST);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R436_ClassRelationship_is_other_half_of_associative_ClassRelationship( ClassRelationship form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R436_ClassRelationship_is_other_half_of_associative_ClassRelationship_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR436_is_one_half_of_associative_ClassRelationship(form);
            form.setR436_is_other_half_of_associative_ClassRelationship(part);
            form.setPeer_package( part.getComp_package() );
            form.setPeer_comp_name( part.getComp_name() );
            form.setPeer_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R436_ClassRelationship_is_other_half_of_associative_ClassRelationship( ClassRelationship form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R436_ClassRelationship_is_other_half_of_associative_ClassRelationship_extent.remove( R436_ClassRelationship_is_other_half_of_associative_ClassRelationship_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR436_is_one_half_of_associative_ClassRelationship(ClassRelationshipImpl.EMPTY_CLASSRELATIONSHIP);
            form.setR436_is_other_half_of_associative_ClassRelationship(ClassRelationshipImpl.EMPTY_CLASSRELATIONSHIP);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R441_AttributeDerivation_calculates_value_for_AttributeAccessor( AttributeDerivation form, AttributeAccessor part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R441_AttributeDerivation_calculates_value_for_AttributeAccessor_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR441_value_derived_by_AttributeDerivation(form);
            form.setR441_calculates_value_for_AttributeAccessor(part);
            form.setAttribute_name( part.getAttribute_name() );
            form.setAccessor_type( part.getAccessor_type() );
            form.setClass_name( part.getClass_name() );
            form.setClass_package( part.getClass_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R441_AttributeDerivation_calculates_value_for_AttributeAccessor( AttributeDerivation form, AttributeAccessor part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R441_AttributeDerivation_calculates_value_for_AttributeAccessor_extent.remove( R441_AttributeDerivation_calculates_value_for_AttributeAccessor_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR441_value_derived_by_AttributeDerivation(AttributeDerivationImpl.EMPTY_ATTRIBUTEDERIVATION);
            form.setR441_calculates_value_for_AttributeAccessor(AttributeAccessorImpl.EMPTY_ATTRIBUTEACCESSOR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R442_InstanceSelector_navigates_from_ModelInst( InstanceSelector form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R442_InstanceSelector_navigates_from_ModelInst_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR442_selects_instances_through_InstanceSelector(form);
            form.setR442_navigates_from_ModelInst(part);
            form.setComp_name( part.getComp_name() );
            form.setClass_package( part.getPackage() );
            form.setComp_package( part.getComp_package() );
            form.setClass_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R442_InstanceSelector_navigates_from_ModelInst( InstanceSelector form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R442_InstanceSelector_navigates_from_ModelInst_extent.remove( R442_InstanceSelector_navigates_from_ModelInst_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR442_selects_instances_through_InstanceSelector(form);
            form.setR442_navigates_from_ModelInst(ModelInstImpl.EMPTY_MODELINST);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R444_SetSelector_navigates_from_InstSet( SetSelector form, InstSet part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R444_SetSelector_navigates_from_InstSet_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR444_selects_instances_through_SetSelector(form);
            form.setR444_navigates_from_InstSet(part);
            form.setSet_parent_package( part.getPackage() );
            form.setSet_parent_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R444_SetSelector_navigates_from_InstSet( SetSelector form, InstSet part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R444_SetSelector_navigates_from_InstSet_extent.remove( R444_SetSelector_navigates_from_InstSet_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR444_selects_instances_through_SetSelector(form);
            form.setR444_navigates_from_InstSet(InstSetImpl.EMPTY_INSTSET);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R445_InstanceSelector_is_a_Selector( InstanceSelector form, Selector part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R445_InstanceSelector_is_a_Selector_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR445_is_a_InstanceSelector(form);
            form.setR445_is_a_Selector(part);
            form.setName( part.getName() );
            form.setClass_package( part.getParent_package() );
            form.setClass_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R445_InstanceSelector_is_a_Selector( InstanceSelector form, Selector part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R445_InstanceSelector_is_a_Selector_extent.remove( R445_InstanceSelector_is_a_Selector_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR445_is_a_InstanceSelector(InstanceSelectorImpl.EMPTY_INSTANCESELECTOR);
            form.setR445_is_a_Selector(SelectorImpl.EMPTY_SELECTOR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R445_SetSelector_is_a_Selector( SetSelector form, Selector part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R445_SetSelector_is_a_Selector_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR445_is_a_SetSelector(form);
            form.setR445_is_a_Selector(part);
            form.setSet_parent_package( part.getParent_package() );
            form.setName( part.getName() );
            form.setSet_parent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R445_SetSelector_is_a_Selector( SetSelector form, Selector part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R445_SetSelector_is_a_Selector_extent.remove( R445_SetSelector_is_a_Selector_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR445_is_a_SetSelector(SetSelectorImpl.EMPTY_SETSELECTOR);
            form.setR445_is_a_Selector(SelectorImpl.EMPTY_SELECTOR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R446_Selector_selects_instances_of_TypeReference( Selector form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R446_Selector_selects_instances_of_TypeReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR446_shapes_return_of_Selector(form);
            form.setR446_selects_instances_of_TypeReference(part);
            form.setType_name( part.getType_name() );
            form.setType_package( part.getType_package() );
            form.setType_reference_name( part.getType_reference_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R446_Selector_selects_instances_of_TypeReference( Selector form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R446_Selector_selects_instances_of_TypeReference_extent.remove( R446_Selector_selects_instances_of_TypeReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR446_shapes_return_of_Selector(form);
            form.setR446_selects_instances_of_TypeReference(TypeReferenceImpl.EMPTY_TYPEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R447_InstancePopulationSelector_selects_instances_out_of_population_of_ComponentDefinition( InstancePopulationSelector form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R447_InstancePopulationSelector_selects_instances_out_of_population_of_ComponentDefinition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR447_selects_instances_through_InstancePopulationSelector(form);
            form.setR447_selects_instances_out_of_population_of_ComponentDefinition(part);
            form.setComp_package( part.getPackage() );
            form.setComp_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R447_InstancePopulationSelector_selects_instances_out_of_population_of_ComponentDefinition( InstancePopulationSelector form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R447_InstancePopulationSelector_selects_instances_out_of_population_of_ComponentDefinition_extent.remove( R447_InstancePopulationSelector_selects_instances_out_of_population_of_ComponentDefinition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR447_selects_instances_through_InstancePopulationSelector(form);
            form.setR447_selects_instances_out_of_population_of_ComponentDefinition(ComponentDefinitionImpl.EMPTY_COMPONENTDEFINITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R448_ClassRelationship_forms_relationship_population_of_ComponentDefinition( ClassRelationship form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R448_ClassRelationship_forms_relationship_population_of_ComponentDefinition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR448_maintains_instances_of_ClassRelationship(form);
            form.setR448_forms_relationship_population_of_ComponentDefinition(part);
            form.setComp_package( part.getPackage() );
            form.setComp_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R448_ClassRelationship_forms_relationship_population_of_ComponentDefinition( ClassRelationship form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R448_ClassRelationship_forms_relationship_population_of_ComponentDefinition_extent.remove( R448_ClassRelationship_forms_relationship_population_of_ComponentDefinition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR448_maintains_instances_of_ClassRelationship(form);
            form.setR448_forms_relationship_population_of_ComponentDefinition(ComponentDefinitionImpl.EMPTY_COMPONENTDEFINITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R449_InstancePopulationSelector_selects_instances_of_ModelInst( InstancePopulationSelector form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R449_InstancePopulationSelector_selects_instances_of_ModelInst_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR449_extent_accessed_by_InstancePopulationSelector(form);
            form.setR449_selects_instances_of_ModelInst(part);
            form.setComp_package( part.getComp_package() );
            form.setComp_name( part.getComp_name() );
            form.setClass_name( part.getName() );
            form.setClass_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R449_InstancePopulationSelector_selects_instances_of_ModelInst( InstancePopulationSelector form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R449_InstancePopulationSelector_selects_instances_of_ModelInst_extent.remove( R449_InstancePopulationSelector_selects_instances_of_ModelInst_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR449_extent_accessed_by_InstancePopulationSelector(InstancePopulationSelectorImpl.EMPTY_INSTANCEPOPULATIONSELECTOR);
            form.setR449_selects_instances_of_ModelInst(ModelInstImpl.EMPTY_MODELINST);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R44_StructureMember_has_parent_StructuredDataType( StructureMember form, StructuredDataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R44_StructureMember_has_parent_StructuredDataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR44_has_member_StructureMember(form);
            form.setR44_has_parent_StructuredDataType(part);
            form.setParent_DT_DT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R44_StructureMember_has_parent_StructuredDataType( StructureMember form, StructuredDataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R44_StructureMember_has_parent_StructuredDataType_extent.remove( R44_StructureMember_has_parent_StructuredDataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR44_has_member_StructureMember(form);
            form.setR44_has_parent_StructuredDataType(StructuredDataTypeImpl.EMPTY_STRUCTUREDDATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4500_RequiredExecutableProperty_implements_ExecutableProperty( RequiredExecutableProperty form, ExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4500_RequiredExecutableProperty_implements_ExecutableProperty_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4500_is_implemented_by_RequiredExecutableProperty(form);
            form.setR4500_implements_ExecutableProperty(part);
            form.setExecutableProperty_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4500_RequiredExecutableProperty_implements_ExecutableProperty( RequiredExecutableProperty form, ExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4500_RequiredExecutableProperty_implements_ExecutableProperty_extent.remove( R4500_RequiredExecutableProperty_implements_ExecutableProperty_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4500_is_implemented_by_RequiredExecutableProperty(form);
            form.setR4500_implements_ExecutableProperty(ExecutablePropertyImpl.EMPTY_EXECUTABLEPROPERTY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4500_RequiredExecutableProperty_is_implemented_by_Requirement( RequiredExecutableProperty form, Requirement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4500_RequiredExecutableProperty_is_implemented_by_Requirement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4500_implements_RequiredExecutableProperty(form);
            form.setR4500_is_implemented_by_Requirement(part);
            form.setRequirement_Id( part.getRequirement_Id() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4500_RequiredExecutableProperty_is_implemented_by_Requirement( RequiredExecutableProperty form, Requirement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4500_RequiredExecutableProperty_is_implemented_by_Requirement_extent.remove( R4500_RequiredExecutableProperty_is_implemented_by_Requirement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4500_implements_RequiredExecutableProperty(form);
            form.setR4500_is_implemented_by_Requirement(RequirementImpl.EMPTY_REQUIREMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4501_ProvidedExecutableProperty_implements_ExecutableProperty( ProvidedExecutableProperty form, ExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4501_ProvidedExecutableProperty_implements_ExecutableProperty_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4501_is_implemented_by_ProvidedExecutableProperty(form);
            form.setR4501_implements_ExecutableProperty(part);
            form.setExecutableProperty_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4501_ProvidedExecutableProperty_implements_ExecutableProperty( ProvidedExecutableProperty form, ExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4501_ProvidedExecutableProperty_implements_ExecutableProperty_extent.remove( R4501_ProvidedExecutableProperty_implements_ExecutableProperty_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4501_is_implemented_by_ProvidedExecutableProperty(form);
            form.setR4501_implements_ExecutableProperty(ExecutablePropertyImpl.EMPTY_EXECUTABLEPROPERTY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4501_ProvidedExecutableProperty_is_implemented_by_Provision( ProvidedExecutableProperty form, Provision part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4501_ProvidedExecutableProperty_is_implemented_by_Provision_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4501_implements_ProvidedExecutableProperty(form);
            form.setR4501_is_implemented_by_Provision(part);
            form.setProvision_Id( part.getProvision_Id() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4501_ProvidedExecutableProperty_is_implemented_by_Provision( ProvidedExecutableProperty form, Provision part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4501_ProvidedExecutableProperty_is_implemented_by_Provision_extent.remove( R4501_ProvidedExecutableProperty_is_implemented_by_Provision_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4501_implements_ProvidedExecutableProperty(form);
            form.setR4501_is_implemented_by_Provision(ProvisionImpl.EMPTY_PROVISION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4502_RequiredOperation_is_a_RequiredExecutableProperty( RequiredOperation form, RequiredExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4502_RequiredOperation_is_a_RequiredExecutableProperty_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4502_is_a_RequiredOperation(form);
            form.setR4502_is_a_RequiredExecutableProperty(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4502_RequiredOperation_is_a_RequiredExecutableProperty( RequiredOperation form, RequiredExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4502_RequiredOperation_is_a_RequiredExecutableProperty_extent.remove( R4502_RequiredOperation_is_a_RequiredExecutableProperty_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4502_is_a_RequiredOperation(RequiredOperationImpl.EMPTY_REQUIREDOPERATION);
            form.setR4502_is_a_RequiredExecutableProperty(RequiredExecutablePropertyImpl.EMPTY_REQUIREDEXECUTABLEPROPERTY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4502_RequiredSignal_is_a_RequiredExecutableProperty( RequiredSignal form, RequiredExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4502_RequiredSignal_is_a_RequiredExecutableProperty_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4502_is_a_RequiredSignal(form);
            form.setR4502_is_a_RequiredExecutableProperty(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4502_RequiredSignal_is_a_RequiredExecutableProperty( RequiredSignal form, RequiredExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4502_RequiredSignal_is_a_RequiredExecutableProperty_extent.remove( R4502_RequiredSignal_is_a_RequiredExecutableProperty_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4502_is_a_RequiredSignal(RequiredSignalImpl.EMPTY_REQUIREDSIGNAL);
            form.setR4502_is_a_RequiredExecutableProperty(RequiredExecutablePropertyImpl.EMPTY_REQUIREDEXECUTABLEPROPERTY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4503_ProvidedOperation_is_a_ProvidedExecutableProperty( ProvidedOperation form, ProvidedExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4503_ProvidedOperation_is_a_ProvidedExecutableProperty_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4503_is_a_ProvidedOperation(form);
            form.setR4503_is_a_ProvidedExecutableProperty(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4503_ProvidedOperation_is_a_ProvidedExecutableProperty( ProvidedOperation form, ProvidedExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4503_ProvidedOperation_is_a_ProvidedExecutableProperty_extent.remove( R4503_ProvidedOperation_is_a_ProvidedExecutableProperty_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4503_is_a_ProvidedOperation(ProvidedOperationImpl.EMPTY_PROVIDEDOPERATION);
            form.setR4503_is_a_ProvidedExecutableProperty(ProvidedExecutablePropertyImpl.EMPTY_PROVIDEDEXECUTABLEPROPERTY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4503_ProvidedSignal_is_a_ProvidedExecutableProperty( ProvidedSignal form, ProvidedExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4503_ProvidedSignal_is_a_ProvidedExecutableProperty_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4503_is_a_ProvidedSignal(form);
            form.setR4503_is_a_ProvidedExecutableProperty(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4503_ProvidedSignal_is_a_ProvidedExecutableProperty( ProvidedSignal form, ProvidedExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4503_ProvidedSignal_is_a_ProvidedExecutableProperty_extent.remove( R4503_ProvidedSignal_is_a_ProvidedExecutableProperty_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4503_is_a_ProvidedSignal(ProvidedSignalImpl.EMPTY_PROVIDEDSIGNAL);
            form.setR4503_is_a_ProvidedExecutableProperty(ProvidedExecutablePropertyImpl.EMPTY_PROVIDEDEXECUTABLEPROPERTY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4505_SetSelector_invokes_InstanceSelector( SetSelector form, InstanceSelector part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4505_SetSelector_invokes_InstanceSelector_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4505_invoked_by_SetSelector(form);
            form.setR4505_invokes_InstanceSelector(part);
            form.setSelector_class_name( part.getClass_name() );
            form.setSelector_class_package( part.getClass_package() );
            form.setSelector_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4505_SetSelector_invokes_InstanceSelector( SetSelector form, InstanceSelector part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4505_SetSelector_invokes_InstanceSelector_extent.remove( R4505_SetSelector_invokes_InstanceSelector_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4505_invoked_by_SetSelector(form);
            form.setR4505_invokes_InstanceSelector(InstanceSelectorImpl.EMPTY_INSTANCESELECTOR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4506_AttributeReference_has_value_provided_by_Attribute( AttributeReference form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4506_AttributeReference_has_value_provided_by_Attribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4506_provides_value_for_AttributeReference(form);
            form.setR4506_has_value_provided_by_Attribute(part);
            form.setReferred_to_attribute_class_package( part.getClass_package() );
            form.setReferred_to_attribute_class_name( part.getClass_name() );
            form.setReferred_to_attribute_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4506_AttributeReference_has_value_provided_by_Attribute( AttributeReference form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4506_AttributeReference_has_value_provided_by_Attribute_extent.remove( R4506_AttributeReference_has_value_provided_by_Attribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4506_provides_value_for_AttributeReference(form);
            form.setR4506_has_value_provided_by_Attribute(AttributeImpl.EMPTY_ATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4506_AttributeReference_provides_value_for_Attribute( AttributeReference form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4506_AttributeReference_provides_value_for_Attribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4506_has_value_provided_by_AttributeReference(form);
            form.setR4506_provides_value_for_Attribute(part);
            form.setReferring_attribute_class_package( part.getClass_package() );
            form.setReferring_attribute_class_name( part.getClass_name() );
            form.setReferring_attribute_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4506_AttributeReference_provides_value_for_Attribute( AttributeReference form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4506_AttributeReference_provides_value_for_Attribute_extent.remove( R4506_AttributeReference_provides_value_for_Attribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4506_has_value_provided_by_AttributeReference(form);
            form.setR4506_provides_value_for_Attribute(AttributeImpl.EMPTY_ATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R450_Statement_is_contained_by_CodeBlock( Statement form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R450_Statement_is_contained_by_CodeBlock_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR450_is_scope_for_Statement(form);
            form.setR450_is_contained_by_CodeBlock(part);
            form.setBlock_number( part.getBlock_number() );
            form.setParent_name( part.getParent_name() );
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R450_Statement_is_contained_by_CodeBlock( Statement form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R450_Statement_is_contained_by_CodeBlock_extent.remove( R450_Statement_is_contained_by_CodeBlock_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR450_is_scope_for_Statement(form);
            form.setR450_is_contained_by_CodeBlock(CodeBlockImpl.EMPTY_CODEBLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4510_AttributeAccessor_gets_and_sets_Attribute( AttributeAccessor form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4510_AttributeAccessor_gets_and_sets_Attribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4510_value_accessed_through_AttributeAccessor(form);
            form.setR4510_gets_and_sets_Attribute(part);
            form.setAttribute_name( part.getName() );
            form.setClass_name( part.getClass_name() );
            form.setClass_package( part.getClass_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4510_AttributeAccessor_gets_and_sets_Attribute( AttributeAccessor form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4510_AttributeAccessor_gets_and_sets_Attribute_extent.remove( R4510_AttributeAccessor_gets_and_sets_Attribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4510_value_accessed_through_AttributeAccessor(form);
            form.setR4510_gets_and_sets_Attribute(AttributeImpl.EMPTY_ATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4511_AttributeReference_refers_to_another_attribute_through_ClassRelationship( AttributeReference form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4511_AttributeReference_refers_to_another_attribute_through_ClassRelationship_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4511_provides_link_for_AttributeReference(form);
            form.setR4511_refers_to_another_attribute_through_ClassRelationship(part);
            form.setForm_phrase( part.getForm_phrase() );
            form.setPart_phrase( part.getPart_phrase() );
            form.setForm_name( part.getForm_name() );
            form.setPart_name( part.getPart_name() );
            form.setRel_num( part.getNum() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4511_AttributeReference_refers_to_another_attribute_through_ClassRelationship( AttributeReference form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4511_AttributeReference_refers_to_another_attribute_through_ClassRelationship_extent.remove( R4511_AttributeReference_refers_to_another_attribute_through_ClassRelationship_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4511_provides_link_for_AttributeReference(form);
            form.setR4511_refers_to_another_attribute_through_ClassRelationship(ClassRelationshipImpl.EMPTY_CLASSRELATIONSHIP);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4512_Selector_traverses_across_ClassRelationship( Selector form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4512_Selector_traverses_across_ClassRelationship_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4512_traversed_by_Selector(form);
            form.setR4512_traverses_across_ClassRelationship(part);
            form.setRel_name( part.getName() );
            form.setRel_comp_package( part.getComp_package() );
            form.setRel_comp_name( part.getComp_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4512_Selector_traverses_across_ClassRelationship( Selector form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4512_Selector_traverses_across_ClassRelationship_extent.remove( R4512_Selector_traverses_across_ClassRelationship_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4512_traversed_by_Selector(form);
            form.setR4512_traverses_across_ClassRelationship(ClassRelationshipImpl.EMPTY_CLASSRELATIONSHIP);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_BreakSmt_is_a_Statement( BreakSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_BreakSmt_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_BreakSmt(form);
            form.setR451_is_a_Statement(part);
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_BreakSmt_is_a_Statement( BreakSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_BreakSmt_is_a_Statement_extent.remove( R451_BreakSmt_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_BreakSmt(BreakSmtImpl.EMPTY_BREAKSMT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_ContinueSmt_is_a_Statement( ContinueSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_ContinueSmt_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_ContinueSmt(form);
            form.setR451_is_a_Statement(part);
            form.setParent_package( part.getParent_package() );
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_ContinueSmt_is_a_Statement( ContinueSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_ContinueSmt_is_a_Statement_extent.remove( R451_ContinueSmt_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_ContinueSmt(ContinueSmtImpl.EMPTY_CONTINUESMT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_DeleteSmt_is_a_Statement( DeleteSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_DeleteSmt_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_DeleteSmt(form);
            form.setR451_is_a_Statement(part);
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setBody_name( part.getBody_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_DeleteSmt_is_a_Statement( DeleteSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_DeleteSmt_is_a_Statement_extent.remove( R451_DeleteSmt_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_DeleteSmt(DeleteSmtImpl.EMPTY_DELETESMT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_ExpressionAsStatement_is_a_Statement( ExpressionAsStatement form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_ExpressionAsStatement_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_ExpressionAsStatement(form);
            form.setR451_is_a_Statement(part);
            form.setParent_name( part.getParent_name() );
            form.setParent_package( part.getParent_package() );
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_ExpressionAsStatement_is_a_Statement( ExpressionAsStatement form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_ExpressionAsStatement_is_a_Statement_extent.remove( R451_ExpressionAsStatement_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_ExpressionAsStatement(ExpressionAsStatementImpl.EMPTY_EXPRESSIONASSTATEMENT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_ForSmt_is_a_Statement( ForSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_ForSmt_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_ForSmt(form);
            form.setR451_is_a_Statement(part);
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_ForSmt_is_a_Statement( ForSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_ForSmt_is_a_Statement_extent.remove( R451_ForSmt_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_ForSmt(ForSmtImpl.EMPTY_FORSMT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_Generate_is_a_Statement( Generate form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_Generate_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_Generate(form);
            form.setR451_is_a_Statement(part);
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_Generate_is_a_Statement( Generate form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_Generate_is_a_Statement_extent.remove( R451_Generate_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_Generate(GenerateImpl.EMPTY_GENERATE);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_Halt_is_a_Statement( Halt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_Halt_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_Halt(form);
            form.setR451_is_a_Statement(part);
            form.setBlock_number( part.getBlock_number() );
            form.setName( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_Halt_is_a_Statement( Halt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_Halt_is_a_Statement_extent.remove( R451_Halt_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_Halt(HaltImpl.EMPTY_HALT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_IfSmt_is_a_Statement( IfSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_IfSmt_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_IfSmt(form);
            form.setR451_is_a_Statement(part);
            form.setBlock_number( part.getBlock_number() );
            form.setParent_name( part.getParent_name() );
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_IfSmt_is_a_Statement( IfSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_IfSmt_is_a_Statement_extent.remove( R451_IfSmt_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_IfSmt(IfSmtImpl.EMPTY_IFSMT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_NullSmt_is_a_Statement( NullSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_NullSmt_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_NullSmt(form);
            form.setR451_is_a_Statement(part);
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setName( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_NullSmt_is_a_Statement( NullSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_NullSmt_is_a_Statement_extent.remove( R451_NullSmt_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_NullSmt(NullSmtImpl.EMPTY_NULLSMT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_RelateSmt_is_a_Statement( RelateSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_RelateSmt_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_RelateSmt(form);
            form.setR451_is_a_Statement(part);
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_RelateSmt_is_a_Statement( RelateSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_RelateSmt_is_a_Statement_extent.remove( R451_RelateSmt_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_RelateSmt(RelateSmtImpl.EMPTY_RELATESMT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_ReturnSmt_is_a_Statement( ReturnSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_ReturnSmt_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_ReturnSmt(form);
            form.setR451_is_a_Statement(part);
            form.setStatement_number( part.getStatement_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_ReturnSmt_is_a_Statement( ReturnSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_ReturnSmt_is_a_Statement_extent.remove( R451_ReturnSmt_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_ReturnSmt(ReturnSmtImpl.EMPTY_RETURNSMT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_UnrelateSmt_is_a_Statement( UnrelateSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_UnrelateSmt_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_UnrelateSmt(form);
            form.setR451_is_a_Statement(part);
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_UnrelateSmt_is_a_Statement( UnrelateSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_UnrelateSmt_is_a_Statement_extent.remove( R451_UnrelateSmt_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_UnrelateSmt(UnrelateSmtImpl.EMPTY_UNRELATESMT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R451_WhileSmt_is_a_Statement( WhileSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R451_WhileSmt_is_a_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_WhileSmt(form);
            form.setR451_is_a_Statement(part);
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R451_WhileSmt_is_a_Statement( WhileSmt form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R451_WhileSmt_is_a_Statement_extent.remove( R451_WhileSmt_is_a_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR451_is_a_WhileSmt(WhileSmtImpl.EMPTY_WHILESMT);
            form.setR451_is_a_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R453_IfSmt_has_then_CodeBlock( IfSmt form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R453_IfSmt_has_then_CodeBlock_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR453_controls_then_for_IfSmt(form);
            form.setR453_has_then_CodeBlock(part);
            form.setParent_name( part.getParent_name() );
            form.setThen_block_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R453_IfSmt_has_then_CodeBlock( IfSmt form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R453_IfSmt_has_then_CodeBlock_extent.remove( R453_IfSmt_has_then_CodeBlock_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR453_controls_then_for_IfSmt(IfSmtImpl.EMPTY_IFSMT);
            form.setR453_has_then_CodeBlock(CodeBlockImpl.EMPTY_CODEBLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R454_IfSmt_has_else_CodeBlock( IfSmt form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R454_IfSmt_has_else_CodeBlock_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR454_controls_else_for_IfSmt(form);
            form.setR454_has_else_CodeBlock(part);
            form.setParent_name( part.getParent_name() );
            form.setElse_block_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R454_IfSmt_has_else_CodeBlock( IfSmt form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R454_IfSmt_has_else_CodeBlock_extent.remove( R454_IfSmt_has_else_CodeBlock_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR454_controls_else_for_IfSmt(IfSmtImpl.EMPTY_IFSMT);
            form.setR454_has_else_CodeBlock(CodeBlockImpl.EMPTY_CODEBLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4558_UtilityReference_contains_Utility( UtilityReference form, Utility part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4558_UtilityReference_contains_Utility_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4558_used_within_context_of_UtilityReference(form);
            form.setR4558_contains_Utility(part);
            form.setUtility_package( part.getPackage() );
            form.setUtility_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4558_UtilityReference_contains_Utility( UtilityReference form, Utility part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4558_UtilityReference_contains_Utility_extent.remove( R4558_UtilityReference_contains_Utility_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4558_used_within_context_of_UtilityReference(form);
            form.setR4558_contains_Utility(UtilityImpl.EMPTY_UTILITY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4558_UtilityReference_used_within_context_of_ComponentDefinition( UtilityReference form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4558_UtilityReference_used_within_context_of_ComponentDefinition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4558_contains_UtilityReference(form);
            form.setR4558_used_within_context_of_ComponentDefinition(part);
            form.setComp_name( part.getName() );
            form.setComp_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4558_UtilityReference_used_within_context_of_ComponentDefinition( UtilityReference form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4558_UtilityReference_used_within_context_of_ComponentDefinition_extent.remove( R4558_UtilityReference_used_within_context_of_ComponentDefinition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4558_contains_UtilityReference(form);
            form.setR4558_used_within_context_of_ComponentDefinition(ComponentDefinitionImpl.EMPTY_COMPONENTDEFINITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4559_UtilityFunction_provided_by_Utility( UtilityFunction form, Utility part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4559_UtilityFunction_provided_by_Utility_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4559_provides_UtilityFunction(form);
            form.setR4559_provided_by_Utility(part);
            form.setUtility_package( part.getPackage() );
            form.setUtility_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4559_UtilityFunction_provided_by_Utility( UtilityFunction form, Utility part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4559_UtilityFunction_provided_by_Utility_extent.remove( R4559_UtilityFunction_provided_by_Utility_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4559_provides_UtilityFunction(form);
            form.setR4559_provided_by_Utility(UtilityImpl.EMPTY_UTILITY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R455_ForSmt_has_control_CodeBlock( ForSmt form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R455_ForSmt_has_control_CodeBlock_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR455_controls_ForSmt(form);
            form.setR455_has_control_CodeBlock(part);
            form.setControl_block_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R455_ForSmt_has_control_CodeBlock( ForSmt form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R455_ForSmt_has_control_CodeBlock_extent.remove( R455_ForSmt_has_control_CodeBlock_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR455_controls_ForSmt(ForSmtImpl.EMPTY_FORSMT);
            form.setR455_has_control_CodeBlock(CodeBlockImpl.EMPTY_CODEBLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4561_ComponentDefinition_initialized_by_Function( ComponentDefinition form, Function part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4561_ComponentDefinition_initialized_by_Function_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4561_initializes_ComponentDefinition(form);
            form.setR4561_initialized_by_Function(part);
            form.setPackage( part.getComp_package() );
            form.setName( part.getComp_name() );
            form.setInit_function_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4561_ComponentDefinition_initialized_by_Function( ComponentDefinition form, Function part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4561_ComponentDefinition_initialized_by_Function_extent.remove( R4561_ComponentDefinition_initialized_by_Function_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4561_initializes_ComponentDefinition(form);
            form.setR4561_initialized_by_Function(FunctionImpl.EMPTY_FUNCTION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R456_WhileSmt_has_control_CodeBlock( WhileSmt form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R456_WhileSmt_has_control_CodeBlock_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR456_controls_WhileSmt(form);
            form.setR456_has_control_CodeBlock(part);
            form.setParent_package( part.getParent_package() );
            form.setControl_block_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R456_WhileSmt_has_control_CodeBlock( WhileSmt form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R456_WhileSmt_has_control_CodeBlock_extent.remove( R456_WhileSmt_has_control_CodeBlock_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR456_controls_WhileSmt(WhileSmtImpl.EMPTY_WHILESMT);
            form.setR456_has_control_CodeBlock(CodeBlockImpl.EMPTY_CODEBLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4570_UtilityFunction_Bridge( UtilityFunction form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4570_UtilityFunction_Bridge_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4570_UtilityFunction(form);
            form.setR4570_Bridge(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4570_UtilityFunction_Bridge( UtilityFunction form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4570_UtilityFunction_Bridge_extent.remove( R4570_UtilityFunction_Bridge_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4570_UtilityFunction(UtilityFunctionImpl.EMPTY_UTILITYFUNCTION);
            form.setR4570_Bridge(BridgeImpl.EMPTY_BRIDGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4571_RelationshipPopulationSelector_selects_relationships_out_of_population_of_ComponentDefinition( RelationshipPopulationSelector form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4571_RelationshipPopulationSelector_selects_relationships_out_of_population_of_ComponentDefinition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4571_selects_relationships_through_RelationshipPopulationSelector(form);
            form.setR4571_selects_relationships_out_of_population_of_ComponentDefinition(part);
            form.setComp_name( part.getName() );
            form.setComp_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4571_RelationshipPopulationSelector_selects_relationships_out_of_population_of_ComponentDefinition( RelationshipPopulationSelector form, ComponentDefinition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4571_RelationshipPopulationSelector_selects_relationships_out_of_population_of_ComponentDefinition_extent.remove( R4571_RelationshipPopulationSelector_selects_relationships_out_of_population_of_ComponentDefinition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4571_selects_relationships_through_RelationshipPopulationSelector(form);
            form.setR4571_selects_relationships_out_of_population_of_ComponentDefinition(ComponentDefinitionImpl.EMPTY_COMPONENTDEFINITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4572_RelationshipPopulationSelector_selects_instances_of_ClassRelationship( RelationshipPopulationSelector form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4572_RelationshipPopulationSelector_selects_instances_of_ClassRelationship_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4572_extent_accessed_by_RelationshipPopulationSelector(form);
            form.setR4572_selects_instances_of_ClassRelationship(part);
            form.setComp_name( part.getComp_name() );
            form.setRel_name( part.getName() );
            form.setComp_package( part.getComp_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4572_RelationshipPopulationSelector_selects_instances_of_ClassRelationship( RelationshipPopulationSelector form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4572_RelationshipPopulationSelector_selects_instances_of_ClassRelationship_extent.remove( R4572_RelationshipPopulationSelector_selects_instances_of_ClassRelationship_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4572_extent_accessed_by_RelationshipPopulationSelector(RelationshipPopulationSelectorImpl.EMPTY_RELATIONSHIPPOPULATIONSELECTOR);
            form.setR4572_selects_instances_of_ClassRelationship(ClassRelationshipImpl.EMPTY_CLASSRELATIONSHIP);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4573_ComponentDefinition_C_C( ComponentDefinition form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4573_ComponentDefinition_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4573_ComponentDefinition(form);
            form.setR4573_C_C(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4573_ComponentDefinition_C_C( ComponentDefinition form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4573_ComponentDefinition_C_C_extent.remove( R4573_ComponentDefinition_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4573_ComponentDefinition(ComponentDefinitionImpl.EMPTY_COMPONENTDEFINITION);
            form.setR4573_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R457_Variable_is_declared_by_Statement( Variable form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R457_Variable_is_declared_by_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR457_declares_Variable(form);
            form.setR457_is_declared_by_Statement(part);
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R457_Variable_is_declared_by_Statement( Variable form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R457_Variable_is_declared_by_Statement_extent.remove( R457_Variable_is_declared_by_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR457_declares_Variable(form);
            form.setR457_is_declared_by_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R458_VariableInScope_has_in_scope_Variable( VariableInScope form, Variable part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R458_VariableInScope_has_in_scope_Variable_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR458_is_in_scope_for_VariableInScope(form);
            form.setR458_has_in_scope_Variable(part);
            form.setParent_package( part.getParent_package() );
            form.setVar_name( part.getName() );
            form.setVar_block_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R458_VariableInScope_has_in_scope_Variable( VariableInScope form, Variable part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R458_VariableInScope_has_in_scope_Variable_extent.remove( R458_VariableInScope_has_in_scope_Variable_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR458_is_in_scope_for_VariableInScope(form);
            form.setR458_has_in_scope_Variable(VariableImpl.EMPTY_VARIABLE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R458_VariableInScope_is_in_scope_for_CodeBlock( VariableInScope form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R458_VariableInScope_is_in_scope_for_CodeBlock_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR458_has_in_scope_VariableInScope(form);
            form.setR458_is_in_scope_for_CodeBlock(part);
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R458_VariableInScope_is_in_scope_for_CodeBlock( VariableInScope form, CodeBlock part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R458_VariableInScope_is_in_scope_for_CodeBlock_extent.remove( R458_VariableInScope_is_in_scope_for_CodeBlock_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR458_has_in_scope_VariableInScope(form);
            form.setR458_is_in_scope_for_CodeBlock(CodeBlockImpl.EMPTY_CODEBLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R459_ForSmt_declares_as_iterator_Variable( ForSmt form, Variable part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R459_ForSmt_declares_as_iterator_Variable_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR459_is_iterator_for_ForSmt(form);
            form.setR459_declares_as_iterator_Variable(part);
            form.setIterator_block_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setIterator_name( part.getName() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R459_ForSmt_declares_as_iterator_Variable( ForSmt form, Variable part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R459_ForSmt_declares_as_iterator_Variable_extent.remove( R459_ForSmt_declares_as_iterator_Variable_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR459_is_iterator_for_ForSmt(ForSmtImpl.EMPTY_FORSMT);
            form.setR459_declares_as_iterator_Variable(VariableImpl.EMPTY_VARIABLE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R45_StructureMember_is_defined_by_DataType( StructureMember form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R45_StructureMember_is_defined_by_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR45_defines_the_type_of_StructureMember(form);
            form.setR45_is_defined_by_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R45_StructureMember_is_defined_by_DataType( StructureMember form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R45_StructureMember_is_defined_by_DataType_extent.remove( R45_StructureMember_is_defined_by_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR45_defines_the_type_of_StructureMember(form);
            form.setR45_is_defined_by_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R461_Variable_is_typed_by_TypeReference( Variable form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R461_Variable_is_typed_by_TypeReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR461_defines_declared_type_of_Variable(form);
            form.setR461_is_typed_by_TypeReference(part);
            form.setType_package( part.getType_package() );
            form.setType_reference_name( part.getType_reference_name() );
            form.setType_name( part.getType_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R461_Variable_is_typed_by_TypeReference( Variable form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R461_Variable_is_typed_by_TypeReference_extent.remove( R461_Variable_is_typed_by_TypeReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR461_defines_declared_type_of_Variable(form);
            form.setR461_is_typed_by_TypeReference(TypeReferenceImpl.EMPTY_TYPEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R462_DeleteSmt_deletes_instance_specified_by_Expression( DeleteSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R462_DeleteSmt_deletes_instance_specified_by_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR462_is_deleted_by_DeleteSmt(form);
            form.setR462_deletes_instance_specified_by_Expression(part);
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setExpression_number( part.getExpression_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R462_DeleteSmt_deletes_instance_specified_by_Expression( DeleteSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R462_DeleteSmt_deletes_instance_specified_by_Expression_extent.remove( R462_DeleteSmt_deletes_instance_specified_by_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR462_is_deleted_by_DeleteSmt(form);
            form.setR462_deletes_instance_specified_by_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R46_StructureMember_succeeds_StructureMember( StructureMember form, StructureMember part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R46_StructureMember_succeeds_StructureMember_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR46_precedes_StructureMember(form);
            form.setR46_succeeds_StructureMember(part);
            form.setPrevious_Member_ID( part.getMember_ID() );
            form.setParent_DT_DT_ID( part.getParent_DT_DT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R46_StructureMember_succeeds_StructureMember( StructureMember form, StructureMember part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R46_StructureMember_succeeds_StructureMember_extent.remove( R46_StructureMember_succeeds_StructureMember_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR46_precedes_StructureMember(StructureMemberImpl.EMPTY_STRUCTUREMEMBER);
            form.setR46_succeeds_StructureMember(StructureMemberImpl.EMPTY_STRUCTUREMEMBER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4701_ImportedReference_imports_InterfaceReference( ImportedReference form, InterfaceReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4701_ImportedReference_imports_InterfaceReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4701_is_imported_ImportedReference(form);
            form.setR4701_imports_InterfaceReference(part);
            form.setRef_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4701_ImportedReference_imports_InterfaceReference( ImportedReference form, InterfaceReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4701_ImportedReference_imports_InterfaceReference_extent.remove( R4701_ImportedReference_imports_InterfaceReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4701_is_imported_ImportedReference(form);
            form.setR4701_imports_InterfaceReference(InterfaceReferenceImpl.EMPTY_INTERFACEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4703_ImportedProvision_is_a_ImportedReference( ImportedProvision form, ImportedReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4703_ImportedProvision_is_a_ImportedReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4703_is_a_ImportedProvision(form);
            form.setR4703_is_a_ImportedReference(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4703_ImportedProvision_is_a_ImportedReference( ImportedProvision form, ImportedReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4703_ImportedProvision_is_a_ImportedReference_extent.remove( R4703_ImportedProvision_is_a_ImportedReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4703_is_a_ImportedProvision(ImportedProvisionImpl.EMPTY_IMPORTEDPROVISION);
            form.setR4703_is_a_ImportedReference(ImportedReferenceImpl.EMPTY_IMPORTEDREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4703_ImportedRequirement_is_a_ImportedReference( ImportedRequirement form, ImportedReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4703_ImportedRequirement_is_a_ImportedReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4703_is_a_ImportedRequirement(form);
            form.setR4703_is_a_ImportedReference(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4703_ImportedRequirement_is_a_ImportedReference( ImportedRequirement form, ImportedReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4703_ImportedRequirement_is_a_ImportedReference_extent.remove( R4703_ImportedRequirement_is_a_ImportedReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4703_is_a_ImportedRequirement(ImportedRequirementImpl.EMPTY_IMPORTEDREQUIREMENT);
            form.setR4703_is_a_ImportedReference(ImportedReferenceImpl.EMPTY_IMPORTEDREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4704_ImportedReference_accepts_communication_through_Delegation( ImportedReference form, Delegation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4704_ImportedReference_accepts_communication_through_Delegation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4704_delivers_communication_through_ImportedReference(form);
            form.setR4704_accepts_communication_through_Delegation(part);
            form.setDelegation_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4704_ImportedReference_accepts_communication_through_Delegation( ImportedReference form, Delegation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4704_ImportedReference_accepts_communication_through_Delegation_extent.remove( R4704_ImportedReference_accepts_communication_through_Delegation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4704_delivers_communication_through_ImportedReference(ImportedReferenceImpl.EMPTY_IMPORTEDREFERENCE);
            form.setR4704_accepts_communication_through_Delegation(DelegationImpl.EMPTY_DELEGATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4705_ImportedProvisionInSatisfaction_provides_satisfaction_through_Satisfaction( ImportedProvisionInSatisfaction form, Satisfaction part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4705_ImportedProvisionInSatisfaction_provides_satisfaction_through_Satisfaction_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4705_satisfaction_made_with_ImportedProvisionInSatisfaction(form);
            form.setR4705_provides_satisfaction_through_Satisfaction(part);
            form.setSatisfaction_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4705_ImportedProvisionInSatisfaction_provides_satisfaction_through_Satisfaction( ImportedProvisionInSatisfaction form, Satisfaction part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4705_ImportedProvisionInSatisfaction_provides_satisfaction_through_Satisfaction_extent.remove( R4705_ImportedProvisionInSatisfaction_provides_satisfaction_through_Satisfaction_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4705_satisfaction_made_with_ImportedProvisionInSatisfaction(ImportedProvisionInSatisfactionImpl.EMPTY_IMPORTEDPROVISIONINSATISFACTION);
            form.setR4705_provides_satisfaction_through_Satisfaction(SatisfactionImpl.EMPTY_SATISFACTION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4705_ImportedProvisionInSatisfaction_satisfaction_made_with_ImportedProvision( ImportedProvisionInSatisfaction form, ImportedProvision part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4705_ImportedProvisionInSatisfaction_satisfaction_made_with_ImportedProvision_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4705_provides_satisfaction_through_ImportedProvisionInSatisfaction(form);
            form.setR4705_satisfaction_made_with_ImportedProvision(part);
            form.setImportedProvision_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4705_ImportedProvisionInSatisfaction_satisfaction_made_with_ImportedProvision( ImportedProvisionInSatisfaction form, ImportedProvision part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4705_ImportedProvisionInSatisfaction_satisfaction_made_with_ImportedProvision_extent.remove( R4705_ImportedProvisionInSatisfaction_satisfaction_made_with_ImportedProvision_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4705_provides_satisfaction_through_ImportedProvisionInSatisfaction(form);
            form.setR4705_satisfaction_made_with_ImportedProvision(ImportedProvisionImpl.EMPTY_IMPORTEDPROVISION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4706_ImportedRequirement_provides_satisfaction_through_Satisfaction( ImportedRequirement form, Satisfaction part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4706_ImportedRequirement_provides_satisfaction_through_Satisfaction_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4706_satisfaction_made_with_ImportedRequirement(form);
            form.setR4706_provides_satisfaction_through_Satisfaction(part);
            form.setSatisfaction_Element_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4706_ImportedRequirement_provides_satisfaction_through_Satisfaction( ImportedRequirement form, Satisfaction part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4706_ImportedRequirement_provides_satisfaction_through_Satisfaction_extent.remove( R4706_ImportedRequirement_provides_satisfaction_through_Satisfaction_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4706_satisfaction_made_with_ImportedRequirement(ImportedRequirementImpl.EMPTY_IMPORTEDREQUIREMENT);
            form.setR4706_provides_satisfaction_through_Satisfaction(SatisfactionImpl.EMPTY_SATISFACTION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4707_PortReference_orginates_from_ComponentReference( PortReference form, ComponentReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4707_PortReference_orginates_from_ComponentReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4707_communicates_through_PortReference(form);
            form.setR4707_orginates_from_ComponentReference(part);
            form.setCL_IC_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4707_PortReference_orginates_from_ComponentReference( PortReference form, ComponentReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4707_PortReference_orginates_from_ComponentReference_extent.remove( R4707_PortReference_orginates_from_ComponentReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4707_communicates_through_PortReference(form);
            form.setR4707_orginates_from_ComponentReference(ComponentReferenceImpl.EMPTY_COMPONENTREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4708_ImportedReference_originates_from_PortReference( ImportedReference form, PortReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4708_ImportedReference_originates_from_PortReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4708_exposes_ImportedReference(form);
            form.setR4708_originates_from_PortReference(part);
            form.setCL_POR_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4708_ImportedReference_originates_from_PortReference( ImportedReference form, PortReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4708_ImportedReference_originates_from_PortReference_extent.remove( R4708_ImportedReference_originates_from_PortReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4708_exposes_ImportedReference(form);
            form.setR4708_originates_from_PortReference(PortReferenceImpl.EMPTY_PORTREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4709_PortReference_references_C_PO( PortReference form, C_PO part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4709_PortReference_references_C_PO_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4709_is_referenced_by_PortReference(form);
            form.setR4709_references_C_PO(part);
            form.setC_PO_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4709_PortReference_references_C_PO( PortReference form, C_PO part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4709_PortReference_references_C_PO_extent.remove( R4709_PortReference_references_C_PO_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4709_is_referenced_by_PortReference(form);
            form.setR4709_references_C_PO(C_POImpl.EMPTY_C_PO);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R471_IfSmt_executes_then_block_if_true_Expression( IfSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R471_IfSmt_executes_then_block_if_true_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR471_determines_execution_of_blocks_for_IfSmt(form);
            form.setR471_executes_then_block_if_true_Expression(part);
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setCond_expression_number( part.getExpression_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R471_IfSmt_executes_then_block_if_true_Expression( IfSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R471_IfSmt_executes_then_block_if_true_Expression_extent.remove( R471_IfSmt_executes_then_block_if_true_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR471_determines_execution_of_blocks_for_IfSmt(IfSmtImpl.EMPTY_IFSMT);
            form.setR471_executes_then_block_if_true_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R472_WhileSmt_executes_block_while_true_Expression( WhileSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R472_WhileSmt_executes_block_while_true_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR472_determines_execution_of_block_for_WhileSmt(form);
            form.setR472_executes_block_while_true_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setCond_expression_number( part.getExpression_number() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R472_WhileSmt_executes_block_while_true_Expression( WhileSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R472_WhileSmt_executes_block_while_true_Expression_extent.remove( R472_WhileSmt_executes_block_while_true_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR472_determines_execution_of_block_for_WhileSmt(WhileSmtImpl.EMPTY_WHILESMT);
            form.setR472_executes_block_while_true_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R473_ReturnSmt_returns_value_specified_by_Expression( ReturnSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R473_ReturnSmt_returns_value_specified_by_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR473_defines_return_value_for_ReturnSmt(form);
            form.setR473_returns_value_specified_by_Expression(part);
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setBody_name( part.getBody_name() );
            form.setRet_expression_number( part.getExpression_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R473_ReturnSmt_returns_value_specified_by_Expression( ReturnSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R473_ReturnSmt_returns_value_specified_by_Expression_extent.remove( R473_ReturnSmt_returns_value_specified_by_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR473_defines_return_value_for_ReturnSmt(ReturnSmtImpl.EMPTY_RETURNSMT);
            form.setR473_returns_value_specified_by_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4750_StateMachine_models_behavior_of_ModelInst( StateMachine form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4750_StateMachine_models_behavior_of_ModelInst_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4750_behavior_modeled_by_StateMachine(form);
            form.setR4750_models_behavior_of_ModelInst(part);
            form.setClass_name( part.getName() );
            form.setComp_package( part.getComp_package() );
            form.setPackage( part.getPackage() );
            form.setComp_name( part.getComp_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4750_StateMachine_models_behavior_of_ModelInst( StateMachine form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4750_StateMachine_models_behavior_of_ModelInst_extent.remove( R4750_StateMachine_models_behavior_of_ModelInst_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4750_behavior_modeled_by_StateMachine(StateMachineImpl.EMPTY_STATEMACHINE);
            form.setR4750_models_behavior_of_ModelInst(ModelInstImpl.EMPTY_MODELINST);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4751_State_StateMachine( State form, StateMachine part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4751_State_StateMachine_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4751_declares_State(form);
            form.setR4751_StateMachine(part);
            form.setSm_name( part.getName() );
            form.setSm_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4751_State_StateMachine( State form, StateMachine part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4751_State_StateMachine_extent.remove( R4751_State_StateMachine_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4751_declares_State(form);
            form.setR4751_StateMachine(StateMachineImpl.EMPTY_STATEMACHINE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4752_Event_StateMachine( Event form, StateMachine part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4752_Event_StateMachine_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4752_declares_Event(form);
            form.setR4752_StateMachine(part);
            form.setSm_package( part.getPackage() );
            form.setSm_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4752_Event_StateMachine( Event form, StateMachine part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4752_Event_StateMachine_extent.remove( R4752_Event_StateMachine_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4752_declares_Event(form);
            form.setR4752_StateMachine(StateMachineImpl.EMPTY_STATEMACHINE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4753_TransitionTableRow_StateMachine( TransitionTableRow form, StateMachine part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4753_TransitionTableRow_StateMachine_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4753_transitions_defined_by_TransitionTableRow(form);
            form.setR4753_StateMachine(part);
            form.setSm_name( part.getName() );
            form.setSm_package( part.getPackage() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4753_TransitionTableRow_StateMachine( TransitionTableRow form, StateMachine part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4753_TransitionTableRow_StateMachine_extent.remove( R4753_TransitionTableRow_StateMachine_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4753_transitions_defined_by_TransitionTableRow(form);
            form.setR4753_StateMachine(StateMachineImpl.EMPTY_STATEMACHINE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4754_TransitionTableRow_State( TransitionTableRow form, State part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4754_TransitionTableRow_State_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4754_is_start_state_for_TransitionTableRow(form);
            form.setR4754_State(part);
            form.setSm_package( part.getSm_package() );
            form.setState_name( part.getName() );
            form.setSm_name( part.getSm_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4754_TransitionTableRow_State( TransitionTableRow form, State part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4754_TransitionTableRow_State_extent.remove( R4754_TransitionTableRow_State_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4754_is_start_state_for_TransitionTableRow(TransitionTableRowImpl.EMPTY_TRANSITIONTABLEROW);
            form.setR4754_State(StateImpl.EMPTY_STATE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4755_TransitionTableCell_TransitionTableRow( TransitionTableCell form, TransitionTableRow part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4755_TransitionTableCell_TransitionTableRow_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4755_defined_by_TransitionTableCell(form);
            form.setR4755_TransitionTableRow(part);
            form.setSm_package( part.getSm_package() );
            form.setSm_name( part.getSm_name() );
            form.setState_name( part.getState_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4755_TransitionTableCell_TransitionTableRow( TransitionTableCell form, TransitionTableRow part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4755_TransitionTableCell_TransitionTableRow_extent.remove( R4755_TransitionTableCell_TransitionTableRow_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4755_defined_by_TransitionTableCell(form);
            form.setR4755_TransitionTableRow(TransitionTableRowImpl.EMPTY_TRANSITIONTABLEROW);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4756_TransitionTableCell_receives_Event( TransitionTableCell form, Event part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4756_TransitionTableCell_receives_Event_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4756_TransitionTableCell(form);
            form.setR4756_receives_Event(part);
            form.setEvent_sm_package( part.getSm_package() );
            form.setEvent_sm_name( part.getSm_name() );
            form.setEvent_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4756_TransitionTableCell_receives_Event( TransitionTableCell form, Event part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4756_TransitionTableCell_receives_Event_extent.remove( R4756_TransitionTableCell_receives_Event_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4756_TransitionTableCell(form);
            form.setR4756_receives_Event(EventImpl.EMPTY_EVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4757_StateTransition_TransitionTableCell( StateTransition form, TransitionTableCell part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4757_StateTransition_TransitionTableCell_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4757_transitions_to_StateTransition(form);
            form.setR4757_TransitionTableCell(part);
            form.setStart_state_name( part.getState_name() );
            form.setSm_package( part.getSm_package() );
            form.setSm_name( part.getSm_name() );
            form.setEvent_sm_name( part.getEvent_sm_name() );
            form.setEvent_name( part.getEvent_name() );
            form.setEvent_sm_package( part.getEvent_sm_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4757_StateTransition_TransitionTableCell( StateTransition form, TransitionTableCell part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4757_StateTransition_TransitionTableCell_extent.remove( R4757_StateTransition_TransitionTableCell_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4757_transitions_to_StateTransition(StateTransitionImpl.EMPTY_STATETRANSITION);
            form.setR4757_TransitionTableCell(TransitionTableCellImpl.EMPTY_TRANSITIONTABLECELL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4757_StateTransition_transitions_to_State( StateTransition form, State part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4757_StateTransition_transitions_to_State_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR4757_StateTransition(form);
            form.setR4757_transitions_to_State(part);
            form.setSm_package( part.getSm_package() );
            form.setEnd_state_name( part.getName() );
            form.setSm_name( part.getSm_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4757_StateTransition_transitions_to_State( StateTransition form, State part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4757_StateTransition_transitions_to_State_extent.remove( R4757_StateTransition_transitions_to_State_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR4757_StateTransition(form);
            form.setR4757_transitions_to_State(StateImpl.EMPTY_STATE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4758_StateMachineState_State( StateMachineState form, State part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4758_StateMachineState_State_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4758_StateMachineState(form);
            form.setR4758_State(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4758_StateMachineState_State( StateMachineState form, State part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4758_StateMachineState_State_extent.remove( R4758_StateMachineState_State_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4758_StateMachineState(StateMachineStateImpl.EMPTY_STATEMACHINESTATE);
            form.setR4758_State(StateImpl.EMPTY_STATE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R4759_StateMachineEvent_Event( StateMachineEvent form, Event part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R4759_StateMachineEvent_Event_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4759_StateMachineEvent(form);
            form.setR4759_Event(part);
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R4759_StateMachineEvent_Event( StateMachineEvent form, Event part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R4759_StateMachineEvent_Event_extent.remove( R4759_StateMachineEvent_Event_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR4759_StateMachineEvent(StateMachineEventImpl.EMPTY_STATEMACHINEEVENT);
            form.setR4759_Event(EventImpl.EMPTY_EVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R476_ExpressionAsStatement_executes_as_statement_Expression( ExpressionAsStatement form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R476_ExpressionAsStatement_executes_as_statement_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR476_executed_by_ExpressionAsStatement(form);
            form.setR476_executes_as_statement_Expression(part);
            form.setParent_name( part.getParent_name() );
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setExpression_number( part.getExpression_number() );
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R476_ExpressionAsStatement_executes_as_statement_Expression( ExpressionAsStatement form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R476_ExpressionAsStatement_executes_as_statement_Expression_extent.remove( R476_ExpressionAsStatement_executes_as_statement_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR476_executed_by_ExpressionAsStatement(ExpressionAsStatementImpl.EMPTY_EXPRESSIONASSTATEMENT);
            form.setR476_executes_as_statement_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R477_Statement_executes_before_Statement( Statement form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R477_Statement_executes_before_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR477_executes_after_Statement(form);
            form.setR477_executes_before_Statement(part);
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
            form.setNext_statement_number( part.getStatement_number() );
            form.setParent_package( part.getParent_package() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R477_Statement_executes_before_Statement( Statement form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R477_Statement_executes_before_Statement_extent.remove( R477_Statement_executes_before_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR477_executes_after_Statement(StatementImpl.EMPTY_STATEMENT);
            form.setR477_executes_before_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R478_ForSmt_iterates_over_Expression( ForSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R478_ForSmt_iterates_over_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR478_is_iterated_by_ForSmt(form);
            form.setR478_iterates_over_Expression(part);
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
            form.setIterable_expression_number( part.getExpression_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R478_ForSmt_iterates_over_Expression( ForSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R478_ForSmt_iterates_over_Expression_extent.remove( R478_ForSmt_iterates_over_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR478_is_iterated_by_ForSmt(ForSmtImpl.EMPTY_FORSMT);
            form.setR478_iterates_over_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R479_RelateSmt_relates_formalizing_Expression( RelateSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R479_RelateSmt_relates_formalizing_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR479_related_to_participant_by_RelateSmt(form);
            form.setR479_relates_formalizing_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setForm_expression_number( part.getExpression_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R479_RelateSmt_relates_formalizing_Expression( RelateSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R479_RelateSmt_relates_formalizing_Expression_extent.remove( R479_RelateSmt_relates_formalizing_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR479_related_to_participant_by_RelateSmt(RelateSmtImpl.EMPTY_RELATESMT);
            form.setR479_relates_formalizing_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R480_RelateSmt_relates_participating_Expression( RelateSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R480_RelateSmt_relates_participating_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR480_related_to_formalizer_by_RelateSmt(form);
            form.setR480_relates_participating_Expression(part);
            form.setParent_name( part.getParent_name() );
            form.setBody_name( part.getBody_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setPart_expression_number( part.getExpression_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R480_RelateSmt_relates_participating_Expression( RelateSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R480_RelateSmt_relates_participating_Expression_extent.remove( R480_RelateSmt_relates_participating_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR480_related_to_formalizer_by_RelateSmt(RelateSmtImpl.EMPTY_RELATESMT);
            form.setR480_relates_participating_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R481_RelateSmt_creates_instances_of_ClassRelationship( RelateSmt form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R481_RelateSmt_creates_instances_of_ClassRelationship_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR481_created_by_RelateSmt(form);
            form.setR481_creates_instances_of_ClassRelationship(part);
            form.setComp_package( part.getComp_package() );
            form.setRel_name( part.getName() );
            form.setComp_name( part.getComp_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R481_RelateSmt_creates_instances_of_ClassRelationship( RelateSmt form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R481_RelateSmt_creates_instances_of_ClassRelationship_extent.remove( R481_RelateSmt_creates_instances_of_ClassRelationship_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR481_created_by_RelateSmt(form);
            form.setR481_creates_instances_of_ClassRelationship(ClassRelationshipImpl.EMPTY_CLASSRELATIONSHIP);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R482_UnrelateSmt_unrelates_participating_Expression( UnrelateSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R482_UnrelateSmt_unrelates_participating_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR482_unrelated_from_formalizer_by_UnrelateSmt(form);
            form.setR482_unrelates_participating_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
            form.setPart_expression_number( part.getExpression_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R482_UnrelateSmt_unrelates_participating_Expression( UnrelateSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R482_UnrelateSmt_unrelates_participating_Expression_extent.remove( R482_UnrelateSmt_unrelates_participating_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR482_unrelated_from_formalizer_by_UnrelateSmt(UnrelateSmtImpl.EMPTY_UNRELATESMT);
            form.setR482_unrelates_participating_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R483_UnrelateSmt_unrelates_formalizing_Expression( UnrelateSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R483_UnrelateSmt_unrelates_formalizing_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR483_unrelated_from_participant_by_UnrelateSmt(form);
            form.setR483_unrelates_formalizing_Expression(part);
            form.setForm_expression_number( part.getExpression_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R483_UnrelateSmt_unrelates_formalizing_Expression( UnrelateSmt form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R483_UnrelateSmt_unrelates_formalizing_Expression_extent.remove( R483_UnrelateSmt_unrelates_formalizing_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR483_unrelated_from_participant_by_UnrelateSmt(UnrelateSmtImpl.EMPTY_UNRELATESMT);
            form.setR483_unrelates_formalizing_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R484_UnrelateSmt_deletes_instances_of_ClassRelationship( UnrelateSmt form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R484_UnrelateSmt_deletes_instances_of_ClassRelationship_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR484_deleted_by_UnrelateSmt(form);
            form.setR484_deletes_instances_of_ClassRelationship(part);
            form.setComp_package( part.getComp_package() );
            form.setRel_name( part.getName() );
            form.setComp_name( part.getComp_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R484_UnrelateSmt_deletes_instances_of_ClassRelationship( UnrelateSmt form, ClassRelationship part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R484_UnrelateSmt_deletes_instances_of_ClassRelationship_extent.remove( R484_UnrelateSmt_deletes_instances_of_ClassRelationship_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR484_deleted_by_UnrelateSmt(form);
            form.setR484_deletes_instances_of_ClassRelationship(ClassRelationshipImpl.EMPTY_CLASSRELATIONSHIP);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R485_Finalization_finalized_by_Statement( Finalization form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R485_Finalization_finalized_by_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR485_finalizes_Finalization(form);
            form.setR485_finalized_by_Statement(part);
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R485_Finalization_finalized_by_Statement( Finalization form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R485_Finalization_finalized_by_Statement_extent.remove( R485_Finalization_finalized_by_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR485_finalizes_Finalization(form);
            form.setR485_finalized_by_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R485_Finalization_finalizes_Variable( Finalization form, Variable part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R485_Finalization_finalizes_Variable_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR485_finalized_by_Finalization(form);
            form.setR485_finalizes_Variable(part);
            form.setVar_block_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
            form.setVar_name( part.getName() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R485_Finalization_finalizes_Variable( Finalization form, Variable part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R485_Finalization_finalizes_Variable_extent.remove( R485_Finalization_finalizes_Variable_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR485_finalized_by_Finalization(form);
            form.setR485_finalizes_Variable(VariableImpl.EMPTY_VARIABLE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R486_Generate_generates_Expression( Generate form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R486_Generate_generates_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR486_Generate(form);
            form.setR486_generates_Expression(part);
            form.setBlock_number( part.getBlock_number() );
            form.setParent_name( part.getParent_name() );
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setEvt_expression_number( part.getExpression_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R486_Generate_generates_Expression( Generate form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R486_Generate_generates_Expression_extent.remove( R486_Generate_generates_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR486_Generate(GenerateImpl.EMPTY_GENERATE);
            form.setR486_generates_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R49_Dimensions_specifies_occurrences_of_BridgeParameter( Dimensions form, BridgeParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R49_Dimensions_specifies_occurrences_of_BridgeParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR49_may_have_Dimensions(form);
            form.setR49_specifies_occurrences_of_BridgeParameter(part);
            form.setBParm_ID( part.getBParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R49_Dimensions_specifies_occurrences_of_BridgeParameter( Dimensions form, BridgeParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R49_Dimensions_specifies_occurrences_of_BridgeParameter_extent.remove( R49_Dimensions_specifies_occurrences_of_BridgeParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR49_may_have_Dimensions(form);
            form.setR49_specifies_occurrences_of_BridgeParameter(BridgeParameterImpl.EMPTY_BRIDGEPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R501_StateMachineState_SM_SM( StateMachineState form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R501_StateMachineState_SM_SM_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR501_is_decomposed_into_StateMachineState(form);
            form.setR501_SM_SM(part);
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R501_StateMachineState_SM_SM( StateMachineState form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R501_StateMachineState_SM_SM_extent.remove( R501_StateMachineState_SM_SM_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR501_is_decomposed_into_StateMachineState(form);
            form.setR501_SM_SM(SM_SMImpl.EMPTY_SM_SM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R502_StateMachineEvent_SM_SM( StateMachineEvent form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R502_StateMachineEvent_SM_SM_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR502_can_be_communicated_to_via_StateMachineEvent(form);
            form.setR502_SM_SM(part);
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R502_StateMachineEvent_SM_SM( StateMachineEvent form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R502_StateMachineEvent_SM_SM_extent.remove( R502_StateMachineEvent_SM_SM_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR502_can_be_communicated_to_via_StateMachineEvent(form);
            form.setR502_SM_SM(SM_SMImpl.EMPTY_SM_SM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R503_StateEventMatrixEntry_is_received_by_StateMachineState( StateEventMatrixEntry form, StateMachineState part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R503_StateEventMatrixEntry_is_received_by_StateMachineState_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR503_receives_StateEventMatrixEntry(form);
            form.setR503_is_received_by_StateMachineState(part);
            form.setSM_ID( part.getSM_ID() );
            form.setSMstt_ID( part.getSMstt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R503_StateEventMatrixEntry_is_received_by_StateMachineState( StateEventMatrixEntry form, StateMachineState part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R503_StateEventMatrixEntry_is_received_by_StateMachineState_extent.remove( R503_StateEventMatrixEntry_is_received_by_StateMachineState_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR503_receives_StateEventMatrixEntry(form);
            form.setR503_is_received_by_StateMachineState(StateMachineStateImpl.EMPTY_STATEMACHINESTATE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R503_StateEventMatrixEntry_receives_SEMEvent( StateEventMatrixEntry form, SEMEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R503_StateEventMatrixEntry_receives_SEMEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR503_is_received_by_StateEventMatrixEntry(form);
            form.setR503_receives_SEMEvent(part);
            form.setSMevt_ID( part.getSMevt_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R503_StateEventMatrixEntry_receives_SEMEvent( StateEventMatrixEntry form, SEMEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R503_StateEventMatrixEntry_receives_SEMEvent_extent.remove( R503_StateEventMatrixEntry_receives_SEMEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR503_is_received_by_StateEventMatrixEntry(form);
            form.setR503_receives_SEMEvent(SEMEventImpl.EMPTY_SEMEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R504_CantHappen_is_a_StateEventMatrixEntry( CantHappen form, StateEventMatrixEntry part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R504_CantHappen_is_a_StateEventMatrixEntry_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR504_is_a_CantHappen(form);
            form.setR504_is_a_StateEventMatrixEntry(part);
            form.setSMstt_ID( part.getSMstt_ID() );
            form.setSM_ID( part.getSM_ID() );
            form.setSMevt_ID( part.getSMevt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R504_CantHappen_is_a_StateEventMatrixEntry( CantHappen form, StateEventMatrixEntry part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R504_CantHappen_is_a_StateEventMatrixEntry_extent.remove( R504_CantHappen_is_a_StateEventMatrixEntry_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR504_is_a_CantHappen(CantHappenImpl.EMPTY_CANTHAPPEN);
            form.setR504_is_a_StateEventMatrixEntry(StateEventMatrixEntryImpl.EMPTY_STATEEVENTMATRIXENTRY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R504_EventIgnored_is_a_StateEventMatrixEntry( EventIgnored form, StateEventMatrixEntry part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R504_EventIgnored_is_a_StateEventMatrixEntry_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR504_is_a_EventIgnored(form);
            form.setR504_is_a_StateEventMatrixEntry(part);
            form.setSM_ID( part.getSM_ID() );
            form.setSMevt_ID( part.getSMevt_ID() );
            form.setSMstt_ID( part.getSMstt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R504_EventIgnored_is_a_StateEventMatrixEntry( EventIgnored form, StateEventMatrixEntry part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R504_EventIgnored_is_a_StateEventMatrixEntry_extent.remove( R504_EventIgnored_is_a_StateEventMatrixEntry_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR504_is_a_EventIgnored(EventIgnoredImpl.EMPTY_EVENTIGNORED);
            form.setR504_is_a_StateEventMatrixEntry(StateEventMatrixEntryImpl.EMPTY_STATEEVENTMATRIXENTRY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R504_NewStateTransition_is_a_StateEventMatrixEntry( NewStateTransition form, StateEventMatrixEntry part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R504_NewStateTransition_is_a_StateEventMatrixEntry_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR504_is_a_NewStateTransition(form);
            form.setR504_is_a_StateEventMatrixEntry(part);
            form.setSMstt_ID( part.getSMstt_ID() );
            form.setSMevt_ID( part.getSMevt_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R504_NewStateTransition_is_a_StateEventMatrixEntry( NewStateTransition form, StateEventMatrixEntry part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R504_NewStateTransition_is_a_StateEventMatrixEntry_extent.remove( R504_NewStateTransition_is_a_StateEventMatrixEntry_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR504_is_a_NewStateTransition(NewStateTransitionImpl.EMPTY_NEWSTATETRANSITION);
            form.setR504_is_a_StateEventMatrixEntry(StateEventMatrixEntryImpl.EMPTY_STATEEVENTMATRIXENTRY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R505_Transition_SM_SM( Transition form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R505_Transition_SM_SM_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR505_contains_Transition(form);
            form.setR505_SM_SM(part);
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R505_Transition_SM_SM( Transition form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R505_Transition_SM_SM_extent.remove( R505_Transition_SM_SM_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR505_contains_Transition(form);
            form.setR505_SM_SM(SM_SMImpl.EMPTY_SM_SM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R506_Transition_is_destined_to_StateMachineState( Transition form, StateMachineState part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R506_Transition_is_destined_to_StateMachineState_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR506_is_destination_of_Transition(form);
            form.setR506_is_destined_to_StateMachineState(part);
            form.setSM_ID( part.getSM_ID() );
            form.setSMstt_ID( part.getSMstt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R506_Transition_is_destined_to_StateMachineState( Transition form, StateMachineState part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R506_Transition_is_destined_to_StateMachineState_extent.remove( R506_Transition_is_destined_to_StateMachineState_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR506_is_destination_of_Transition(form);
            form.setR506_is_destined_to_StateMachineState(StateMachineStateImpl.EMPTY_STATEMACHINESTATE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R507_CreationTransition_is_a_Transition( CreationTransition form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R507_CreationTransition_is_a_Transition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR507_is_a_CreationTransition(form);
            form.setR507_is_a_Transition(part);
            form.setSM_ID( part.getSM_ID() );
            form.setTrans_ID( part.getTrans_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R507_CreationTransition_is_a_Transition( CreationTransition form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R507_CreationTransition_is_a_Transition_extent.remove( R507_CreationTransition_is_a_Transition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR507_is_a_CreationTransition(CreationTransitionImpl.EMPTY_CREATIONTRANSITION);
            form.setR507_is_a_Transition(TransitionImpl.EMPTY_TRANSITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R507_NewStateTransition_is_a_Transition( NewStateTransition form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R507_NewStateTransition_is_a_Transition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR507_is_a_NewStateTransition(form);
            form.setR507_is_a_Transition(part);
            form.setTrans_ID( part.getTrans_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R507_NewStateTransition_is_a_Transition( NewStateTransition form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R507_NewStateTransition_is_a_Transition_extent.remove( R507_NewStateTransition_is_a_Transition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR507_is_a_NewStateTransition(NewStateTransitionImpl.EMPTY_NEWSTATETRANSITION);
            form.setR507_is_a_Transition(TransitionImpl.EMPTY_TRANSITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R507_NoEventTransition_is_a_Transition( NoEventTransition form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R507_NoEventTransition_is_a_Transition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR507_is_a_NoEventTransition(form);
            form.setR507_is_a_Transition(part);
            form.setTrans_ID( part.getTrans_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R507_NoEventTransition_is_a_Transition( NoEventTransition form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R507_NoEventTransition_is_a_Transition_extent.remove( R507_NoEventTransition_is_a_Transition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR507_is_a_NoEventTransition(NoEventTransitionImpl.EMPTY_NOEVENTTRANSITION);
            form.setR507_is_a_Transition(TransitionImpl.EMPTY_TRANSITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R508_NoEventTransition_originates_from_StateMachineState( NoEventTransition form, StateMachineState part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R508_NoEventTransition_originates_from_StateMachineState_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR508_is_origination_of_NoEventTransition(form);
            form.setR508_originates_from_StateMachineState(part);
            form.setSM_ID( part.getSM_ID() );
            form.setSMstt_ID( part.getSMstt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R508_NoEventTransition_originates_from_StateMachineState( NoEventTransition form, StateMachineState part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R508_NoEventTransition_originates_from_StateMachineState_extent.remove( R508_NoEventTransition_originates_from_StateMachineState_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR508_is_origination_of_NoEventTransition(form);
            form.setR508_originates_from_StateMachineState(StateMachineStateImpl.EMPTY_STATEMACHINESTATE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R509_CreationTransition_is_assigned_to_LocalEvent( CreationTransition form, LocalEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R509_CreationTransition_is_assigned_to_LocalEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR509_has_assigned_to_it_CreationTransition(form);
            form.setR509_is_assigned_to_LocalEvent(part);
            form.setSMevt_ID( part.getSMevt_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R509_CreationTransition_is_assigned_to_LocalEvent( CreationTransition form, LocalEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R509_CreationTransition_is_assigned_to_LocalEvent_extent.remove( R509_CreationTransition_is_assigned_to_LocalEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR509_has_assigned_to_it_CreationTransition(CreationTransitionImpl.EMPTY_CREATIONTRANSITION);
            form.setR509_is_assigned_to_LocalEvent(LocalEventImpl.EMPTY_LOCALEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R50_Dimensions_defines_return_value_dimensions_for_Bridge( Dimensions form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R50_Dimensions_defines_return_value_dimensions_for_Bridge_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR50_return_value_may_have_Dimensions(form);
            form.setR50_defines_return_value_dimensions_for_Bridge(part);
            form.setBrg_ID( part.getBrg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R50_Dimensions_defines_return_value_dimensions_for_Bridge( Dimensions form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R50_Dimensions_defines_return_value_dimensions_for_Bridge_extent.remove( R50_Dimensions_defines_return_value_dimensions_for_Bridge_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR50_return_value_may_have_Dimensions(form);
            form.setR50_defines_return_value_dimensions_for_Bridge(BridgeImpl.EMPTY_BRIDGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R510_MealyStateMachine_is_a_SM_SM( MealyStateMachine form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R510_MealyStateMachine_is_a_SM_SM_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR510_is_a_MealyStateMachine(form);
            form.setR510_is_a_SM_SM(part);
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R510_MealyStateMachine_is_a_SM_SM( MealyStateMachine form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R510_MealyStateMachine_is_a_SM_SM_extent.remove( R510_MealyStateMachine_is_a_SM_SM_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR510_is_a_MealyStateMachine(MealyStateMachineImpl.EMPTY_MEALYSTATEMACHINE);
            form.setR510_is_a_SM_SM(SM_SMImpl.EMPTY_SM_SM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R510_MooreStateMachine_is_a_SM_SM( MooreStateMachine form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R510_MooreStateMachine_is_a_SM_SM_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR510_is_a_MooreStateMachine(form);
            form.setR510_is_a_SM_SM(part);
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R510_MooreStateMachine_is_a_SM_SM( MooreStateMachine form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R510_MooreStateMachine_is_a_SM_SM_extent.remove( R510_MooreStateMachine_is_a_SM_SM_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR510_is_a_MooreStateMachine(MooreStateMachineImpl.EMPTY_MOORESTATEMACHINE);
            form.setR510_is_a_SM_SM(SM_SMImpl.EMPTY_SM_SM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R511_MooreActionHome_MooreStateMachine( MooreActionHome form, MooreStateMachine part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R511_MooreActionHome_MooreStateMachine_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR511_MooreActionHome(form);
            form.setR511_MooreStateMachine(part);
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R511_MooreActionHome_MooreStateMachine( MooreActionHome form, MooreStateMachine part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R511_MooreActionHome_MooreStateMachine_extent.remove( R511_MooreActionHome_MooreStateMachine_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR511_MooreActionHome(form);
            form.setR511_MooreStateMachine(MooreStateMachineImpl.EMPTY_MOORESTATEMACHINE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R511_MooreActionHome_StateMachineState( MooreActionHome form, StateMachineState part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R511_MooreActionHome_StateMachineState_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR511_MooreActionHome(form);
            form.setR511_StateMachineState(part);
            form.setSMstt_ID( part.getSMstt_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R511_MooreActionHome_StateMachineState( MooreActionHome form, StateMachineState part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R511_MooreActionHome_StateMachineState_extent.remove( R511_MooreActionHome_StateMachineState_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR511_MooreActionHome(MooreActionHomeImpl.EMPTY_MOOREACTIONHOME);
            form.setR511_StateMachineState(StateMachineStateImpl.EMPTY_STATEMACHINESTATE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R512_MealyActionHome_MealyStateMachine( MealyActionHome form, MealyStateMachine part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R512_MealyActionHome_MealyStateMachine_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR512_MealyActionHome(form);
            form.setR512_MealyStateMachine(part);
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R512_MealyActionHome_MealyStateMachine( MealyActionHome form, MealyStateMachine part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R512_MealyActionHome_MealyStateMachine_extent.remove( R512_MealyActionHome_MealyStateMachine_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR512_MealyActionHome(form);
            form.setR512_MealyStateMachine(MealyStateMachineImpl.EMPTY_MEALYSTATEMACHINE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R512_MealyActionHome_Transition( MealyActionHome form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R512_MealyActionHome_Transition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR512_MealyActionHome(form);
            form.setR512_Transition(part);
            form.setTrans_ID( part.getTrans_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R512_MealyActionHome_Transition( MealyActionHome form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R512_MealyActionHome_Transition_extent.remove( R512_MealyActionHome_Transition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR512_MealyActionHome(MealyActionHomeImpl.EMPTY_MEALYACTIONHOME);
            form.setR512_Transition(TransitionImpl.EMPTY_TRANSITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R513_MealyActionHome_is_a_ActionHome( MealyActionHome form, ActionHome part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R513_MealyActionHome_is_a_ActionHome_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR513_is_a_MealyActionHome(form);
            form.setR513_is_a_ActionHome(part);
            form.setAct_ID( part.getAct_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R513_MealyActionHome_is_a_ActionHome( MealyActionHome form, ActionHome part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R513_MealyActionHome_is_a_ActionHome_extent.remove( R513_MealyActionHome_is_a_ActionHome_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR513_is_a_MealyActionHome(MealyActionHomeImpl.EMPTY_MEALYACTIONHOME);
            form.setR513_is_a_ActionHome(ActionHomeImpl.EMPTY_ACTIONHOME);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R513_MooreActionHome_is_a_ActionHome( MooreActionHome form, ActionHome part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R513_MooreActionHome_is_a_ActionHome_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR513_is_a_MooreActionHome(form);
            form.setR513_is_a_ActionHome(part);
            form.setAct_ID( part.getAct_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R513_MooreActionHome_is_a_ActionHome( MooreActionHome form, ActionHome part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R513_MooreActionHome_is_a_ActionHome_extent.remove( R513_MooreActionHome_is_a_ActionHome_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR513_is_a_MooreActionHome(MooreActionHomeImpl.EMPTY_MOOREACTIONHOME);
            form.setR513_is_a_ActionHome(ActionHomeImpl.EMPTY_ACTIONHOME);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R513_TransitionActionHome_is_a_ActionHome( TransitionActionHome form, ActionHome part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R513_TransitionActionHome_is_a_ActionHome_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR513_is_a_TransitionActionHome(form);
            form.setR513_is_a_ActionHome(part);
            form.setSM_ID( part.getSM_ID() );
            form.setAct_ID( part.getAct_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R513_TransitionActionHome_is_a_ActionHome( TransitionActionHome form, ActionHome part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R513_TransitionActionHome_is_a_ActionHome_extent.remove( R513_TransitionActionHome_is_a_ActionHome_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR513_is_a_TransitionActionHome(TransitionActionHomeImpl.EMPTY_TRANSITIONACTIONHOME);
            form.setR513_is_a_ActionHome(ActionHomeImpl.EMPTY_ACTIONHOME);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R514_ActionHome_houses_Action( ActionHome form, Action part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R514_ActionHome_houses_Action_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR514_resides_in_ActionHome(form);
            form.setR514_houses_Action(part);
            form.setSM_ID( part.getSM_ID() );
            form.setAct_ID( part.getAct_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R514_ActionHome_houses_Action( ActionHome form, Action part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R514_ActionHome_houses_Action_extent.remove( R514_ActionHome_houses_Action_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR514_resides_in_ActionHome(ActionHomeImpl.EMPTY_ACTIONHOME);
            form.setR514_houses_Action(ActionImpl.EMPTY_ACTION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R515_Action_SM_SM( Action form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R515_Action_SM_SM_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR515_contains_Action(form);
            form.setR515_SM_SM(part);
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R515_Action_SM_SM( Action form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R515_Action_SM_SM_extent.remove( R515_Action_SM_SM_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR515_contains_Action(form);
            form.setR515_SM_SM(SM_SMImpl.EMPTY_SM_SM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R516_StateMachineEventDataItem_is_carried_on_events_into_SM_SM( StateMachineEventDataItem form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R516_StateMachineEventDataItem_is_carried_on_events_into_SM_SM_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR516_can_asynchronously_communicate_via_StateMachineEventDataItem(form);
            form.setR516_is_carried_on_events_into_SM_SM(part);
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R516_StateMachineEventDataItem_is_carried_on_events_into_SM_SM( StateMachineEventDataItem form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R516_StateMachineEventDataItem_is_carried_on_events_into_SM_SM_extent.remove( R516_StateMachineEventDataItem_is_carried_on_events_into_SM_SM_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR516_can_asynchronously_communicate_via_StateMachineEventDataItem(form);
            form.setR516_is_carried_on_events_into_SM_SM(SM_SMImpl.EMPTY_SM_SM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R517_ClassStateMachine_is_a_SM_SM( ClassStateMachine form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R517_ClassStateMachine_is_a_SM_SM_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR517_is_a_ClassStateMachine(form);
            form.setR517_is_a_SM_SM(part);
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R517_ClassStateMachine_is_a_SM_SM( ClassStateMachine form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R517_ClassStateMachine_is_a_SM_SM_extent.remove( R517_ClassStateMachine_is_a_SM_SM_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR517_is_a_ClassStateMachine(ClassStateMachineImpl.EMPTY_CLASSSTATEMACHINE);
            form.setR517_is_a_SM_SM(SM_SMImpl.EMPTY_SM_SM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R517_InstanceStateMachine_is_a_SM_SM( InstanceStateMachine form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R517_InstanceStateMachine_is_a_SM_SM_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR517_is_a_InstanceStateMachine(form);
            form.setR517_is_a_SM_SM(part);
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R517_InstanceStateMachine_is_a_SM_SM( InstanceStateMachine form, SM_SM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R517_InstanceStateMachine_is_a_SM_SM_extent.remove( R517_InstanceStateMachine_is_a_SM_SM_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR517_is_a_InstanceStateMachine(InstanceStateMachineImpl.EMPTY_INSTANCESTATEMACHINE);
            form.setR517_is_a_SM_SM(SM_SMImpl.EMPTY_SM_SM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R518_InstanceStateMachine_ModelClass( InstanceStateMachine form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R518_InstanceStateMachine_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR518_InstanceStateMachine(form);
            form.setR518_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R518_InstanceStateMachine_ModelClass( InstanceStateMachine form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R518_InstanceStateMachine_ModelClass_extent.remove( R518_InstanceStateMachine_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR518_InstanceStateMachine(InstanceStateMachineImpl.EMPTY_INSTANCESTATEMACHINE);
            form.setR518_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R519_ClassStateMachine_ModelClass( ClassStateMachine form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R519_ClassStateMachine_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR519_ClassStateMachine(form);
            form.setR519_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R519_ClassStateMachine_ModelClass( ClassStateMachine form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R519_ClassStateMachine_ModelClass_extent.remove( R519_ClassStateMachine_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR519_ClassStateMachine(ClassStateMachineImpl.EMPTY_CLASSSTATEMACHINE);
            form.setR519_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R51_Dimensions_defines_return_value_dimensions_for_S_SYNC( Dimensions form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R51_Dimensions_defines_return_value_dimensions_for_S_SYNC_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR51_return_value_may_have_Dimensions(form);
            form.setR51_defines_return_value_dimensions_for_S_SYNC(part);
            form.setSync_ID( part.getSync_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R51_Dimensions_defines_return_value_dimensions_for_S_SYNC( Dimensions form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R51_Dimensions_defines_return_value_dimensions_for_S_SYNC_extent.remove( R51_Dimensions_defines_return_value_dimensions_for_S_SYNC_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR51_return_value_may_have_Dimensions(form);
            form.setR51_defines_return_value_dimensions_for_S_SYNC(S_SYNCImpl.EMPTY_S_SYNC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R524_StateMachineEventDataItem_is_defined_by_DataType( StateMachineEventDataItem form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R524_StateMachineEventDataItem_is_defined_by_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR524_defines_the_type_of_StateMachineEventDataItem(form);
            form.setR524_is_defined_by_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R524_StateMachineEventDataItem_is_defined_by_DataType( StateMachineEventDataItem form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R524_StateMachineEventDataItem_is_defined_by_DataType_extent.remove( R524_StateMachineEventDataItem_is_defined_by_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR524_defines_the_type_of_StateMachineEventDataItem(form);
            form.setR524_is_defined_by_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R525_PolymorphicEvent_is_a_StateMachineEvent( PolymorphicEvent form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R525_PolymorphicEvent_is_a_StateMachineEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR525_is_a_PolymorphicEvent(form);
            form.setR525_is_a_StateMachineEvent(part);
            form.setSMevt_ID( part.getSMevt_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R525_PolymorphicEvent_is_a_StateMachineEvent( PolymorphicEvent form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R525_PolymorphicEvent_is_a_StateMachineEvent_extent.remove( R525_PolymorphicEvent_is_a_StateMachineEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR525_is_a_PolymorphicEvent(PolymorphicEventImpl.EMPTY_POLYMORPHICEVENT);
            form.setR525_is_a_StateMachineEvent(StateMachineEventImpl.EMPTY_STATEMACHINEEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R525_SEMEvent_is_a_StateMachineEvent( SEMEvent form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R525_SEMEvent_is_a_StateMachineEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR525_is_a_SEMEvent(form);
            form.setR525_is_a_StateMachineEvent(part);
            form.setSMevt_ID( part.getSMevt_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R525_SEMEvent_is_a_StateMachineEvent( SEMEvent form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R525_SEMEvent_is_a_StateMachineEvent_extent.remove( R525_SEMEvent_is_a_StateMachineEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR525_is_a_SEMEvent(SEMEventImpl.EMPTY_SEMEVENT);
            form.setR525_is_a_StateMachineEvent(StateMachineEventImpl.EMPTY_STATEMACHINEEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R526_LocalEvent_is_a_SEMEvent( LocalEvent form, SEMEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R526_LocalEvent_is_a_SEMEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR526_is_a_LocalEvent(form);
            form.setR526_is_a_SEMEvent(part);
            form.setSM_ID( part.getSM_ID() );
            form.setSMevt_ID( part.getSMevt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R526_LocalEvent_is_a_SEMEvent( LocalEvent form, SEMEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R526_LocalEvent_is_a_SEMEvent_extent.remove( R526_LocalEvent_is_a_SEMEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR526_is_a_LocalEvent(LocalEventImpl.EMPTY_LOCALEVENT);
            form.setR526_is_a_SEMEvent(SEMEventImpl.EMPTY_SEMEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R526_NonLocalEvent_is_a_SEMEvent( NonLocalEvent form, SEMEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R526_NonLocalEvent_is_a_SEMEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR526_is_a_NonLocalEvent(form);
            form.setR526_is_a_SEMEvent(part);
            form.setSM_ID( part.getSM_ID() );
            form.setSMevt_ID( part.getSMevt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R526_NonLocalEvent_is_a_SEMEvent( NonLocalEvent form, SEMEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R526_NonLocalEvent_is_a_SEMEvent_extent.remove( R526_NonLocalEvent_is_a_SEMEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR526_is_a_NonLocalEvent(NonLocalEventImpl.EMPTY_NONLOCALEVENT);
            form.setR526_is_a_SEMEvent(SEMEventImpl.EMPTY_SEMEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R526_SignalEvent_is_a_SEMEvent( SignalEvent form, SEMEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R526_SignalEvent_is_a_SEMEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR526_is_a_SignalEvent(form);
            form.setR526_is_a_SEMEvent(part);
            form.setSM_ID( part.getSM_ID() );
            form.setSMevt_ID( part.getSMevt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R526_SignalEvent_is_a_SEMEvent( SignalEvent form, SEMEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R526_SignalEvent_is_a_SEMEvent_extent.remove( R526_SignalEvent_is_a_SEMEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR526_is_a_SignalEvent(SignalEventImpl.EMPTY_SIGNALEVENT);
            form.setR526_is_a_SEMEvent(SEMEventImpl.EMPTY_SEMEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R527_NonLocalEvent_is_defined_by_PolymorphicEvent( NonLocalEvent form, PolymorphicEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R527_NonLocalEvent_is_defined_by_PolymorphicEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR527_is_aliased_by_NonLocalEvent(form);
            form.setR527_is_defined_by_PolymorphicEvent(part);
            form.setPolySM_ID( part.getSM_ID() );
            form.setPolySMevt_ID( part.getSMevt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R527_NonLocalEvent_is_defined_by_PolymorphicEvent( NonLocalEvent form, PolymorphicEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R527_NonLocalEvent_is_defined_by_PolymorphicEvent_extent.remove( R527_NonLocalEvent_is_defined_by_PolymorphicEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR527_is_aliased_by_NonLocalEvent(form);
            form.setR527_is_defined_by_PolymorphicEvent(PolymorphicEventImpl.EMPTY_POLYMORPHICEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R528_SignalEvent_ProvidedSignal( SignalEvent form, ProvidedSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R528_SignalEvent_ProvidedSignal_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR528_SignalEvent(form);
            form.setR528_ProvidedSignal(part);
            form.setProvided_Signal_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R528_SignalEvent_ProvidedSignal( SignalEvent form, ProvidedSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R528_SignalEvent_ProvidedSignal_extent.remove( R528_SignalEvent_ProvidedSignal_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR528_SignalEvent(SignalEventImpl.EMPTY_SIGNALEVENT);
            form.setR528_ProvidedSignal(ProvidedSignalImpl.EMPTY_PROVIDEDSIGNAL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R529_SignalEvent_RequiredSignal( SignalEvent form, RequiredSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R529_SignalEvent_RequiredSignal_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR529_SignalEvent(form);
            form.setR529_RequiredSignal(part);
            form.setRequired_Signal_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R529_SignalEvent_RequiredSignal( SignalEvent form, RequiredSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R529_SignalEvent_RequiredSignal_extent.remove( R529_SignalEvent_RequiredSignal_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR529_SignalEvent(SignalEventImpl.EMPTY_SIGNALEVENT);
            form.setR529_RequiredSignal(RequiredSignalImpl.EMPTY_REQUIREDSIGNAL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R52_Dimensions_specifies_occurrences_of_FunctionParameter( Dimensions form, FunctionParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R52_Dimensions_specifies_occurrences_of_FunctionParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR52_may_have_Dimensions(form);
            form.setR52_specifies_occurrences_of_FunctionParameter(part);
            form.setSParm_ID( part.getSParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R52_Dimensions_specifies_occurrences_of_FunctionParameter( Dimensions form, FunctionParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R52_Dimensions_specifies_occurrences_of_FunctionParameter_extent.remove( R52_Dimensions_specifies_occurrences_of_FunctionParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR52_may_have_Dimensions(form);
            form.setR52_specifies_occurrences_of_FunctionParameter(FunctionParameterImpl.EMPTY_FUNCTIONPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R530_TransitionActionHome_Transition( TransitionActionHome form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R530_TransitionActionHome_Transition_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR530_houses_action_for_TransitionActionHome(form);
            form.setR530_Transition(part);
            form.setSM_ID( part.getSM_ID() );
            form.setTrans_ID( part.getTrans_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R530_TransitionActionHome_Transition( TransitionActionHome form, Transition part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R530_TransitionActionHome_Transition_extent.remove( R530_TransitionActionHome_Transition_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR530_houses_action_for_TransitionActionHome(TransitionActionHomeImpl.EMPTY_TRANSITIONACTIONHOME);
            form.setR530_Transition(TransitionImpl.EMPTY_TRANSITION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R531_Dimensions_specifies_occurrences_of_StateMachineEventDataItem( Dimensions form, StateMachineEventDataItem part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R531_Dimensions_specifies_occurrences_of_StateMachineEventDataItem_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR531_may_have_Dimensions(form);
            form.setR531_specifies_occurrences_of_StateMachineEventDataItem(part);
            form.setSM_ID( part.getSM_ID() );
            form.setSMedi_ID( part.getSMedi_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R531_Dimensions_specifies_occurrences_of_StateMachineEventDataItem( Dimensions form, StateMachineEventDataItem part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R531_Dimensions_specifies_occurrences_of_StateMachineEventDataItem_extent.remove( R531_Dimensions_specifies_occurrences_of_StateMachineEventDataItem_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR531_may_have_Dimensions(form);
            form.setR531_specifies_occurrences_of_StateMachineEventDataItem(StateMachineEventDataItemImpl.EMPTY_STATEMACHINEEVENTDATAITEM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R532_StateMachineEventDataItem_carried_by_StateMachineEvent( StateMachineEventDataItem form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R532_StateMachineEventDataItem_carried_by_StateMachineEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR532_carries_StateMachineEventDataItem(form);
            form.setR532_carried_by_StateMachineEvent(part);
            form.setSMevt_ID( part.getSMevt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R532_StateMachineEventDataItem_carried_by_StateMachineEvent( StateMachineEventDataItem form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R532_StateMachineEventDataItem_carried_by_StateMachineEvent_extent.remove( R532_StateMachineEventDataItem_carried_by_StateMachineEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR532_carries_StateMachineEventDataItem(form);
            form.setR532_carried_by_StateMachineEvent(StateMachineEventImpl.EMPTY_STATEMACHINEEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R533_StateMachineEventDataItem_succeeds_StateMachineEventDataItem( StateMachineEventDataItem form, StateMachineEventDataItem part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R533_StateMachineEventDataItem_succeeds_StateMachineEventDataItem_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR533_precedes_StateMachineEventDataItem(form);
            form.setR533_succeeds_StateMachineEventDataItem(part);
            form.setSM_ID( part.getSM_ID() );
            form.setPrevious_SMedi_ID( part.getSMedi_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R533_StateMachineEventDataItem_succeeds_StateMachineEventDataItem( StateMachineEventDataItem form, StateMachineEventDataItem part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R533_StateMachineEventDataItem_succeeds_StateMachineEventDataItem_extent.remove( R533_StateMachineEventDataItem_succeeds_StateMachineEventDataItem_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR533_precedes_StateMachineEventDataItem(StateMachineEventDataItemImpl.EMPTY_STATEMACHINEEVENTDATAITEM);
            form.setR533_succeeds_StateMachineEventDataItem(StateMachineEventDataItemImpl.EMPTY_STATEMACHINEEVENTDATAITEM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R53_Dimensions_specifies_occurrences_of_StructureMember( Dimensions form, StructureMember part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R53_Dimensions_specifies_occurrences_of_StructureMember_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR53_may_have_Dimensions(form);
            form.setR53_specifies_occurrences_of_StructureMember(part);
            form.setDT_ID( part.getParent_DT_DT_ID() );
            form.setMember_ID( part.getMember_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R53_Dimensions_specifies_occurrences_of_StructureMember( Dimensions form, StructureMember part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R53_Dimensions_specifies_occurrences_of_StructureMember_extent.remove( R53_Dimensions_specifies_occurrences_of_StructureMember_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR53_may_have_Dimensions(form);
            form.setR53_specifies_occurrences_of_StructureMember(StructureMemberImpl.EMPTY_STRUCTUREMEMBER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R54_FunctionParameter_succeeds_FunctionParameter( FunctionParameter form, FunctionParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R54_FunctionParameter_succeeds_FunctionParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR54_precedes_FunctionParameter(form);
            form.setR54_succeeds_FunctionParameter(part);
            form.setPrevious_SParm_ID( part.getSParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R54_FunctionParameter_succeeds_FunctionParameter( FunctionParameter form, FunctionParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R54_FunctionParameter_succeeds_FunctionParameter_extent.remove( R54_FunctionParameter_succeeds_FunctionParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR54_precedes_FunctionParameter(FunctionParameterImpl.EMPTY_FUNCTIONPARAMETER);
            form.setR54_succeeds_FunctionParameter(FunctionParameterImpl.EMPTY_FUNCTIONPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R55_BridgeParameter_succeeds_BridgeParameter( BridgeParameter form, BridgeParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R55_BridgeParameter_succeeds_BridgeParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR55_precedes_BridgeParameter(form);
            form.setR55_succeeds_BridgeParameter(part);
            form.setPrevious_BParm_ID( part.getBParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R55_BridgeParameter_succeeds_BridgeParameter( BridgeParameter form, BridgeParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R55_BridgeParameter_succeeds_BridgeParameter_extent.remove( R55_BridgeParameter_succeeds_BridgeParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR55_precedes_BridgeParameter(BridgeParameterImpl.EMPTY_BRIDGEPARAMETER);
            form.setR55_succeeds_BridgeParameter(BridgeParameterImpl.EMPTY_BRIDGEPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R56_S_ENUM_succeeds_S_ENUM( S_ENUM form, S_ENUM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R56_S_ENUM_succeeds_S_ENUM_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR56_precedes_S_ENUM(form);
            form.setR56_succeeds_S_ENUM(part);
            form.setPrevious_Enum_ID( part.getEnum_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R56_S_ENUM_succeeds_S_ENUM( S_ENUM form, S_ENUM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R56_S_ENUM_succeeds_S_ENUM_extent.remove( R56_S_ENUM_succeeds_S_ENUM_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR56_precedes_S_ENUM(S_ENUMImpl.EMPTY_S_ENUM);
            form.setR56_succeeds_S_ENUM(S_ENUMImpl.EMPTY_S_ENUM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R57_Range_spans_UserDataType( Range form, UserDataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R57_Range_spans_UserDataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR57_has_span_of_Range(form);
            form.setR57_spans_UserDataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R57_Range_spans_UserDataType( Range form, UserDataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R57_Range_spans_UserDataType_extent.remove( R57_Range_spans_UserDataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR57_has_span_of_Range(RangeImpl.EMPTY_RANGE);
            form.setR57_spans_UserDataType(UserDataTypeImpl.EMPTY_USERDATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R601_Block_is_committed_from_Body( Block form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R601_Block_is_committed_from_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR601_has_committed_Block(form);
            form.setR601_is_committed_from_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R601_Block_is_committed_from_Body( Block form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R601_Block_is_committed_from_Body_extent.remove( R601_Block_is_committed_from_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR601_has_committed_Block(form);
            form.setR601_is_committed_from_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R602_ACT_SMT_contains_Block( ACT_SMT form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R602_ACT_SMT_contains_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR602_contained_by_ACT_SMT(form);
            form.setR602_contains_Block(part);
            form.setBlock_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R602_ACT_SMT_contains_Block( ACT_SMT form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R602_ACT_SMT_contains_Block_extent.remove( R602_ACT_SMT_contains_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR602_contained_by_ACT_SMT(form);
            form.setR602_contains_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_ACT_BRK_is_a_ACT_SMT( ACT_BRK form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_ACT_BRK_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ACT_BRK(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_ACT_BRK_is_a_ACT_SMT( ACT_BRK form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_ACT_BRK_is_a_ACT_SMT_extent.remove( R603_ACT_BRK_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ACT_BRK(ACT_BRKImpl.EMPTY_ACT_BRK);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_ACT_CON_is_a_ACT_SMT( ACT_CON form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_ACT_CON_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ACT_CON(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_ACT_CON_is_a_ACT_SMT( ACT_CON form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_ACT_CON_is_a_ACT_SMT_extent.remove( R603_ACT_CON_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ACT_CON(ACT_CONImpl.EMPTY_ACT_CON);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_ACT_FIO_is_a_ACT_SMT( ACT_FIO form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_ACT_FIO_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ACT_FIO(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_ACT_FIO_is_a_ACT_SMT( ACT_FIO form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_ACT_FIO_is_a_ACT_SMT_extent.remove( R603_ACT_FIO_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ACT_FIO(ACT_FIOImpl.EMPTY_ACT_FIO);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_ACT_SEL_is_a_ACT_SMT( ACT_SEL form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_ACT_SEL_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ACT_SEL(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_ACT_SEL_is_a_ACT_SMT( ACT_SEL form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_ACT_SEL_is_a_ACT_SMT_extent.remove( R603_ACT_SEL_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ACT_SEL(ACT_SELImpl.EMPTY_ACT_SEL);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_AssignToMember_is_a_ACT_SMT( AssignToMember form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_AssignToMember_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_AssignToMember(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_AssignToMember_is_a_ACT_SMT( AssignToMember form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_AssignToMember_is_a_ACT_SMT_extent.remove( R603_AssignToMember_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_AssignToMember(AssignToMemberImpl.EMPTY_ASSIGNTOMEMBER);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_BridgeInvocation_is_a_ACT_SMT( BridgeInvocation form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_BridgeInvocation_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_BridgeInvocation(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_BridgeInvocation_is_a_ACT_SMT( BridgeInvocation form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_BridgeInvocation_is_a_ACT_SMT_extent.remove( R603_BridgeInvocation_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_BridgeInvocation(BridgeInvocationImpl.EMPTY_BRIDGEINVOCATION);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_Control_is_a_ACT_SMT( Control form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_Control_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_Control(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_Control_is_a_ACT_SMT( Control form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_Control_is_a_ACT_SMT_extent.remove( R603_Control_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_Control(ControlImpl.EMPTY_CONTROL);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_CreateNoVariable_is_a_ACT_SMT( CreateNoVariable form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_CreateNoVariable_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_CreateNoVariable(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_CreateNoVariable_is_a_ACT_SMT( CreateNoVariable form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_CreateNoVariable_is_a_ACT_SMT_extent.remove( R603_CreateNoVariable_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_CreateNoVariable(CreateNoVariableImpl.EMPTY_CREATENOVARIABLE);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_Create_is_a_ACT_SMT( Create form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_Create_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_Create(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_Create_is_a_ACT_SMT( Create form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_Create_is_a_ACT_SMT_extent.remove( R603_Create_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_Create(CreateImpl.EMPTY_CREATE);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_Delete_is_a_ACT_SMT( Delete form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_Delete_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_Delete(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_Delete_is_a_ACT_SMT( Delete form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_Delete_is_a_ACT_SMT_extent.remove( R603_Delete_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_Delete(DeleteImpl.EMPTY_DELETE);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_ElseIfStmt_is_a_ACT_SMT( ElseIfStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_ElseIfStmt_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ElseIfStmt(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_ElseIfStmt_is_a_ACT_SMT( ElseIfStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_ElseIfStmt_is_a_ACT_SMT_extent.remove( R603_ElseIfStmt_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ElseIfStmt(ElseIfStmtImpl.EMPTY_ELSEIFSTMT);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_ElseStmt_is_a_ACT_SMT( ElseStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_ElseStmt_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ElseStmt(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_ElseStmt_is_a_ACT_SMT( ElseStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_ElseStmt_is_a_ACT_SMT_extent.remove( R603_ElseStmt_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ElseStmt(ElseStmtImpl.EMPTY_ELSESTMT);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_EventSpecificationStatement_is_a_ACT_SMT( EventSpecificationStatement form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_EventSpecificationStatement_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_EventSpecificationStatement(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_EventSpecificationStatement_is_a_ACT_SMT( EventSpecificationStatement form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_EventSpecificationStatement_is_a_ACT_SMT_extent.remove( R603_EventSpecificationStatement_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_EventSpecificationStatement(EventSpecificationStatementImpl.EMPTY_EVENTSPECIFICATIONSTATEMENT);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_ForStmt_is_a_ACT_SMT( ForStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_ForStmt_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ForStmt(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_ForStmt_is_a_ACT_SMT( ForStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_ForStmt_is_a_ACT_SMT_extent.remove( R603_ForStmt_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ForStmt(ForStmtImpl.EMPTY_FORSTMT);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_FunctionInvocation_is_a_ACT_SMT( FunctionInvocation form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_FunctionInvocation_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_FunctionInvocation(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_FunctionInvocation_is_a_ACT_SMT( FunctionInvocation form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_FunctionInvocation_is_a_ACT_SMT_extent.remove( R603_FunctionInvocation_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_FunctionInvocation(FunctionInvocationImpl.EMPTY_FUNCTIONINVOCATION);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_GeneratePreexistingEvent_is_a_ACT_SMT( GeneratePreexistingEvent form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_GeneratePreexistingEvent_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_GeneratePreexistingEvent(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_GeneratePreexistingEvent_is_a_ACT_SMT( GeneratePreexistingEvent form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_GeneratePreexistingEvent_is_a_ACT_SMT_extent.remove( R603_GeneratePreexistingEvent_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_GeneratePreexistingEvent(GeneratePreexistingEventImpl.EMPTY_GENERATEPREEXISTINGEVENT);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_IfStmt_is_a_ACT_SMT( IfStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_IfStmt_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_IfStmt(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_IfStmt_is_a_ACT_SMT( IfStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_IfStmt_is_a_ACT_SMT_extent.remove( R603_IfStmt_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_IfStmt(IfStmtImpl.EMPTY_IFSTMT);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_InterfaceOperationInvocation_is_a_ACT_SMT( InterfaceOperationInvocation form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_InterfaceOperationInvocation_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_InterfaceOperationInvocation(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_InterfaceOperationInvocation_is_a_ACT_SMT( InterfaceOperationInvocation form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_InterfaceOperationInvocation_is_a_ACT_SMT_extent.remove( R603_InterfaceOperationInvocation_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_InterfaceOperationInvocation(InterfaceOperationInvocationImpl.EMPTY_INTERFACEOPERATIONINVOCATION);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_OperationInvocation_is_a_ACT_SMT( OperationInvocation form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_OperationInvocation_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_OperationInvocation(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_OperationInvocation_is_a_ACT_SMT( OperationInvocation form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_OperationInvocation_is_a_ACT_SMT_extent.remove( R603_OperationInvocation_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_OperationInvocation(OperationInvocationImpl.EMPTY_OPERATIONINVOCATION);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_RelateUsing_is_a_ACT_SMT( RelateUsing form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_RelateUsing_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_RelateUsing(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_RelateUsing_is_a_ACT_SMT( RelateUsing form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_RelateUsing_is_a_ACT_SMT_extent.remove( R603_RelateUsing_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_RelateUsing(RelateUsingImpl.EMPTY_RELATEUSING);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_Relate_is_a_ACT_SMT( Relate form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_Relate_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_Relate(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_Relate_is_a_ACT_SMT( Relate form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_Relate_is_a_ACT_SMT_extent.remove( R603_Relate_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_Relate(RelateImpl.EMPTY_RELATE);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_ReturnStmt_is_a_ACT_SMT( ReturnStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_ReturnStmt_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ReturnStmt(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_ReturnStmt_is_a_ACT_SMT( ReturnStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_ReturnStmt_is_a_ACT_SMT_extent.remove( R603_ReturnStmt_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_ReturnStmt(ReturnStmtImpl.EMPTY_RETURNSTMT);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_SelectFromInstancesWhere_is_a_ACT_SMT( SelectFromInstancesWhere form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_SelectFromInstancesWhere_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_SelectFromInstancesWhere(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_SelectFromInstancesWhere_is_a_ACT_SMT( SelectFromInstancesWhere form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_SelectFromInstancesWhere_is_a_ACT_SMT_extent.remove( R603_SelectFromInstancesWhere_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_SelectFromInstancesWhere(SelectFromInstancesWhereImpl.EMPTY_SELECTFROMINSTANCESWHERE);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_SignalInvocation_is_a_ACT_SMT( SignalInvocation form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_SignalInvocation_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_SignalInvocation(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_SignalInvocation_is_a_ACT_SMT( SignalInvocation form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_SignalInvocation_is_a_ACT_SMT_extent.remove( R603_SignalInvocation_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_SignalInvocation(SignalInvocationImpl.EMPTY_SIGNALINVOCATION);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_UnrelateUsing_is_a_ACT_SMT( UnrelateUsing form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_UnrelateUsing_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_UnrelateUsing(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_UnrelateUsing_is_a_ACT_SMT( UnrelateUsing form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_UnrelateUsing_is_a_ACT_SMT_extent.remove( R603_UnrelateUsing_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_UnrelateUsing(UnrelateUsingImpl.EMPTY_UNRELATEUSING);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_Unrelate_is_a_ACT_SMT( Unrelate form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_Unrelate_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_Unrelate(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_Unrelate_is_a_ACT_SMT( Unrelate form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_Unrelate_is_a_ACT_SMT_extent.remove( R603_Unrelate_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_Unrelate(UnrelateImpl.EMPTY_UNRELATE);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R603_WhileStmt_is_a_ACT_SMT( WhileStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R603_WhileStmt_is_a_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_WhileStmt(form);
            form.setR603_is_a_ACT_SMT(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R603_WhileStmt_is_a_ACT_SMT( WhileStmt form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R603_WhileStmt_is_a_ACT_SMT_extent.remove( R603_WhileStmt_is_a_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR603_is_a_WhileStmt(WhileStmtImpl.EMPTY_WHILESTMT);
            form.setR603_is_a_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R604_ChainLink_precedes_ChainLink( ChainLink form, ChainLink part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R604_ChainLink_precedes_ChainLink_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR604_succeeds_ChainLink(form);
            form.setR604_precedes_ChainLink(part);
            form.setNext_Link_ID( part.getLink_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R604_ChainLink_precedes_ChainLink( ChainLink form, ChainLink part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R604_ChainLink_precedes_ChainLink_extent.remove( R604_ChainLink_precedes_ChainLink_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR604_succeeds_ChainLink(ChainLinkImpl.EMPTY_CHAINLINK);
            form.setR604_precedes_ChainLink(ChainLinkImpl.EMPTY_CHAINLINK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R605_ForStmt_controls_Block( ForStmt form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R605_ForStmt_controls_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR605_ForStmt(form);
            form.setR605_controls_Block(part);
            form.setBlock_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R605_ForStmt_controls_Block( ForStmt form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R605_ForStmt_controls_Block_extent.remove( R605_ForStmt_controls_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR605_ForStmt(ForStmtImpl.EMPTY_FORSTMT);
            form.setR605_controls_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R606_ElseStmt_controls_Block( ElseStmt form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R606_ElseStmt_controls_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR606_ElseStmt(form);
            form.setR606_controls_Block(part);
            form.setBlock_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R606_ElseStmt_controls_Block( ElseStmt form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R606_ElseStmt_controls_Block_extent.remove( R606_ElseStmt_controls_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR606_ElseStmt(ElseStmtImpl.EMPTY_ELSESTMT);
            form.setR606_controls_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R607_IfStmt_controls_Block( IfStmt form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R607_IfStmt_controls_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR607_IfStmt(form);
            form.setR607_controls_Block(part);
            form.setBlock_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R607_IfStmt_controls_Block( IfStmt form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R607_IfStmt_controls_Block_extent.remove( R607_IfStmt_controls_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR607_IfStmt(IfStmtImpl.EMPTY_IFSTMT);
            form.setR607_controls_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R608_WhileStmt_controls_Block( WhileStmt form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R608_WhileStmt_controls_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR608_WhileStmt(form);
            form.setR608_controls_Block(part);
            form.setBlock_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R608_WhileStmt_controls_Block( WhileStmt form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R608_WhileStmt_controls_Block_extent.remove( R608_WhileStmt_controls_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR608_WhileStmt(WhileStmtImpl.EMPTY_WHILESTMT);
            form.setR608_controls_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R609_AssignToMember_reads_Value( AssignToMember form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R609_AssignToMember_reads_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR609_AssignToMember(form);
            form.setR609_reads_Value(part);
            form.setR_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R609_AssignToMember_reads_Value( AssignToMember form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R609_AssignToMember_reads_Value_extent.remove( R609_AssignToMember_reads_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR609_AssignToMember(AssignToMemberImpl.EMPTY_ASSIGNTOMEMBER);
            form.setR609_reads_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R610_SelectFromInstancesWhere_where_clause_Value( SelectFromInstancesWhere form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R610_SelectFromInstancesWhere_where_clause_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR610_SelectFromInstancesWhere(form);
            form.setR610_where_clause_Value(part);
            form.setWhere_Clause_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R610_SelectFromInstancesWhere_where_clause_Value( SelectFromInstancesWhere form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R610_SelectFromInstancesWhere_where_clause_Value_extent.remove( R610_SelectFromInstancesWhere_where_clause_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR610_SelectFromInstancesWhere(SelectFromInstancesWhereImpl.EMPTY_SELECTFROMINSTANCESWHERE);
            form.setR610_where_clause_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R611_SelectRelatedWhere_where_clause_Value( SelectRelatedWhere form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R611_SelectRelatedWhere_where_clause_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR611_SelectRelatedWhere(form);
            form.setR611_where_clause_Value(part);
            form.setWhere_Clause_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R611_SelectRelatedWhere_where_clause_Value( SelectRelatedWhere form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R611_SelectRelatedWhere_where_clause_Value_extent.remove( R611_SelectRelatedWhere_where_clause_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR611_SelectRelatedWhere(SelectRelatedWhereImpl.EMPTY_SELECTRELATEDWHERE);
            form.setR611_where_clause_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R612_Block_is_parsed_from_Body( Block form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R612_Block_is_parsed_from_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR612_has_parsed_Block(form);
            form.setR612_is_parsed_from_Body(part);
            form.setParsed_Action_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R612_Block_is_parsed_from_Body( Block form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R612_Block_is_parsed_from_Body_extent.remove( R612_Block_is_parsed_from_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR612_has_parsed_Block(form);
            form.setR612_is_parsed_from_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R613_ACT_SEL_starting_point_Value( ACT_SEL form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R613_ACT_SEL_starting_point_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR613_ACT_SEL(form);
            form.setR613_starting_point_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R613_ACT_SEL_starting_point_Value( ACT_SEL form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R613_ACT_SEL_starting_point_Value_extent.remove( R613_ACT_SEL_starting_point_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR613_ACT_SEL(ACT_SELImpl.EMPTY_ACT_SEL);
            form.setR613_starting_point_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R614_ForStmt_loop_V_VAR( ForStmt form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R614_ForStmt_loop_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR614_is_loop_variable_ForStmt(form);
            form.setR614_loop_V_VAR(part);
            form.setLoop_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R614_ForStmt_loop_V_VAR( ForStmt form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R614_ForStmt_loop_V_VAR_extent.remove( R614_ForStmt_loop_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR614_is_loop_variable_ForStmt(form);
            form.setR614_loop_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R615_Relate_one_V_VAR( Relate form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R615_Relate_one_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR615_is_one_variable_Relate(form);
            form.setR615_one_V_VAR(part);
            form.setOne_Side_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R615_Relate_one_V_VAR( Relate form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R615_Relate_one_V_VAR_extent.remove( R615_Relate_one_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR615_is_one_variable_Relate(form);
            form.setR615_one_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R616_Relate_other_V_VAR( Relate form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R616_Relate_other_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR616_is_other_variable_Relate(form);
            form.setR616_other_V_VAR(part);
            form.setOther_Side_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R616_Relate_other_V_VAR( Relate form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R616_Relate_other_V_VAR_extent.remove( R616_Relate_other_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR616_is_other_variable_Relate(form);
            form.setR616_other_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R617_RelateUsing_one_V_VAR( RelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R617_RelateUsing_one_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR617_is_one_variable_RelateUsing(form);
            form.setR617_one_V_VAR(part);
            form.setOne_Side_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R617_RelateUsing_one_V_VAR( RelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R617_RelateUsing_one_V_VAR_extent.remove( R617_RelateUsing_one_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR617_is_one_variable_RelateUsing(form);
            form.setR617_one_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R618_RelateUsing_other_V_VAR( RelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R618_RelateUsing_other_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR618_is_other_variable_RelateUsing(form);
            form.setR618_other_V_VAR(part);
            form.setOther_Side_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R618_RelateUsing_other_V_VAR( RelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R618_RelateUsing_other_V_VAR_extent.remove( R618_RelateUsing_other_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR618_is_other_variable_RelateUsing(form);
            form.setR618_other_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R619_RelateUsing_using_V_VAR( RelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R619_RelateUsing_using_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR619_is_using_variable_RelateUsing(form);
            form.setR619_using_V_VAR(part);
            form.setAssociative_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R619_RelateUsing_using_V_VAR( RelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R619_RelateUsing_using_V_VAR_extent.remove( R619_RelateUsing_using_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR619_is_using_variable_RelateUsing(form);
            form.setR619_using_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R620_Unrelate_one_V_VAR( Unrelate form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R620_Unrelate_one_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR620_is_one_variable_Unrelate(form);
            form.setR620_one_V_VAR(part);
            form.setOne_Side_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R620_Unrelate_one_V_VAR( Unrelate form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R620_Unrelate_one_V_VAR_extent.remove( R620_Unrelate_one_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR620_is_one_variable_Unrelate(form);
            form.setR620_one_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R621_Unrelate_other_V_VAR( Unrelate form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R621_Unrelate_other_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR621_is_other_variable_Unrelate(form);
            form.setR621_other_V_VAR(part);
            form.setOther_Side_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R621_Unrelate_other_V_VAR( Unrelate form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R621_Unrelate_other_V_VAR_extent.remove( R621_Unrelate_other_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR621_is_other_variable_Unrelate(form);
            form.setR621_other_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R622_UnrelateUsing_one_V_VAR( UnrelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R622_UnrelateUsing_one_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR622_is_one_variable_UnrelateUsing(form);
            form.setR622_one_V_VAR(part);
            form.setOne_Side_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R622_UnrelateUsing_one_V_VAR( UnrelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R622_UnrelateUsing_one_V_VAR_extent.remove( R622_UnrelateUsing_one_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR622_is_one_variable_UnrelateUsing(form);
            form.setR622_one_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R623_UnrelateUsing_other_V_VAR( UnrelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R623_UnrelateUsing_other_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR623_is_other_variable_UnrelateUsing(form);
            form.setR623_other_V_VAR(part);
            form.setOther_Side_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R623_UnrelateUsing_other_V_VAR( UnrelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R623_UnrelateUsing_other_V_VAR_extent.remove( R623_UnrelateUsing_other_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR623_is_other_variable_UnrelateUsing(form);
            form.setR623_other_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R624_UnrelateUsing_using_V_VAR( UnrelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R624_UnrelateUsing_using_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR624_is_using_variable_UnrelateUsing(form);
            form.setR624_using_V_VAR(part);
            form.setAssociative_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R624_UnrelateUsing_using_V_VAR( UnrelateUsing form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R624_UnrelateUsing_using_V_VAR_extent.remove( R624_UnrelateUsing_using_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR624_is_using_variable_UnrelateUsing(form);
            form.setR624_using_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R625_IfStmt_test_result_Value( IfStmt form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R625_IfStmt_test_result_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR625_IfStmt(form);
            form.setR625_test_result_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R625_IfStmt_test_result_Value( IfStmt form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R625_IfStmt_test_result_Value_extent.remove( R625_IfStmt_test_result_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR625_IfStmt(IfStmtImpl.EMPTY_IFSTMT);
            form.setR625_test_result_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R626_WhileStmt_continue_result_Value( WhileStmt form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R626_WhileStmt_continue_result_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR626_WhileStmt(form);
            form.setR626_continue_result_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R626_WhileStmt_continue_result_Value( WhileStmt form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R626_WhileStmt_continue_result_Value_extent.remove( R626_WhileStmt_continue_result_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR626_WhileStmt(WhileStmtImpl.EMPTY_WHILESTMT);
            form.setR626_continue_result_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R627_V_PAR_OperationInvocation( V_PAR form, OperationInvocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R627_V_PAR_OperationInvocation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR627_takes_V_PAR(form);
            form.setR627_OperationInvocation(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R627_V_PAR_OperationInvocation( V_PAR form, OperationInvocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R627_V_PAR_OperationInvocation_extent.remove( R627_V_PAR_OperationInvocation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR627_takes_V_PAR(form);
            form.setR627_OperationInvocation(OperationInvocationImpl.EMPTY_OPERATIONINVOCATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R628_V_PAR_BridgeInvocation( V_PAR form, BridgeInvocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R628_V_PAR_BridgeInvocation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR628_takes_V_PAR(form);
            form.setR628_BridgeInvocation(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R628_V_PAR_BridgeInvocation( V_PAR form, BridgeInvocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R628_V_PAR_BridgeInvocation_extent.remove( R628_V_PAR_BridgeInvocation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR628_takes_V_PAR(form);
            form.setR628_BridgeInvocation(BridgeInvocationImpl.EMPTY_BRIDGEINVOCATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R629_InterfaceOperationInvocation_has_target_Value( InterfaceOperationInvocation form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R629_InterfaceOperationInvocation_has_target_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR629_is_target_of_InterfaceOperationInvocation(form);
            form.setR629_has_target_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R629_InterfaceOperationInvocation_has_target_Value( InterfaceOperationInvocation form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R629_InterfaceOperationInvocation_has_target_Value_extent.remove( R629_InterfaceOperationInvocation_has_target_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR629_is_target_of_InterfaceOperationInvocation(form);
            form.setR629_has_target_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R630_SignalInvocation_has_target_Value( SignalInvocation form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R630_SignalInvocation_has_target_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR630_is_target_of_SignalInvocation(form);
            form.setR630_has_target_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R630_SignalInvocation_has_target_Value( SignalInvocation form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R630_SignalInvocation_has_target_Value_extent.remove( R630_SignalInvocation_has_target_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR630_is_target_of_SignalInvocation(form);
            form.setR630_has_target_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R633_Create_result_V_VAR( Create form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R633_Create_result_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR633_Create(form);
            form.setR633_result_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R633_Create_result_V_VAR( Create form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R633_Create_result_V_VAR_extent.remove( R633_Create_result_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR633_Create(form);
            form.setR633_result_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R634_Delete_destroys_V_VAR( Delete form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R634_Delete_destroys_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR634_Delete(form);
            form.setR634_destroys_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R634_Delete_destroys_V_VAR( Delete form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R634_Delete_destroys_V_VAR_extent.remove( R634_Delete_destroys_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR634_Delete(form);
            form.setR634_destroys_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R637_ChainLink_ACT_SEL( ChainLink form, ACT_SEL part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R637_ChainLink_ACT_SEL_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR637_starts_with_ChainLink(form);
            form.setR637_ACT_SEL(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R637_ChainLink_ACT_SEL( ChainLink form, ACT_SEL part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R637_ChainLink_ACT_SEL_extent.remove( R637_ChainLink_ACT_SEL_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR637_starts_with_ChainLink(ChainLinkImpl.EMPTY_CHAINLINK);
            form.setR637_ACT_SEL(ACT_SELImpl.EMPTY_ACT_SEL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R638_ACT_SEL_selection_V_VAR( ACT_SEL form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R638_ACT_SEL_selection_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR638_ACT_SEL(form);
            form.setR638_selection_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R638_ACT_SEL_selection_V_VAR( ACT_SEL form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R638_ACT_SEL_selection_V_VAR_extent.remove( R638_ACT_SEL_selection_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR638_ACT_SEL(form);
            form.setR638_selection_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R639_ACT_FIO_selection_V_VAR( ACT_FIO form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R639_ACT_FIO_selection_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR639_ACT_FIO(form);
            form.setR639_selection_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R639_ACT_FIO_selection_V_VAR( ACT_FIO form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R639_ACT_FIO_selection_V_VAR_extent.remove( R639_ACT_FIO_selection_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR639_ACT_FIO(form);
            form.setR639_selection_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R640_BodyInElement_has_declared_Body( BodyInElement form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R640_BodyInElement_has_declared_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR640_is_declared_in_BodyInElement(form);
            form.setR640_has_declared_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R640_BodyInElement_has_declared_Body( BodyInElement form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R640_BodyInElement_has_declared_Body_extent.remove( R640_BodyInElement_has_declared_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR640_is_declared_in_BodyInElement(BodyInElementImpl.EMPTY_BODYINELEMENT);
            form.setR640_has_declared_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R640_BodyInElement_is_declared_in_PackageableElement( BodyInElement form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R640_BodyInElement_is_declared_in_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR640_has_declared_BodyInElement(form);
            form.setR640_is_declared_in_PackageableElement(part);
            form.setElement_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R640_BodyInElement_is_declared_in_PackageableElement( BodyInElement form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R640_BodyInElement_is_declared_in_PackageableElement_extent.remove( R640_BodyInElement_is_declared_in_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR640_has_declared_BodyInElement(form);
            form.setR640_is_declared_in_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R650_Body_has_parsed_outer_Block( Body form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R650_Body_has_parsed_outer_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR650_is_outer_parse_level_of_Body(form);
            form.setR650_has_parsed_outer_Block(part);
            form.setParsed_Block_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R650_Body_has_parsed_outer_Block( Body form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R650_Body_has_parsed_outer_Block_extent.remove( R650_Body_has_parsed_outer_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR650_is_outer_parse_level_of_Body(BodyImpl.EMPTY_BODY);
            form.setR650_has_parsed_outer_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R652_ForStmt_set_V_VAR( ForStmt form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R652_ForStmt_set_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR652_is_set_variable_ForStmt(form);
            form.setR652_set_V_VAR(part);
            form.setSet_Var_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R652_ForStmt_set_V_VAR( ForStmt form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R652_ForStmt_set_V_VAR_extent.remove( R652_ForStmt_set_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR652_is_set_variable_ForStmt(form);
            form.setR652_set_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R653_Relate_creates_Association( Relate form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R653_Relate_creates_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR653_Relate(form);
            form.setR653_creates_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R653_Relate_creates_Association( Relate form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R653_Relate_creates_Association_extent.remove( R653_Relate_creates_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR653_Relate(form);
            form.setR653_creates_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R654_RelateUsing_creates_Association( RelateUsing form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R654_RelateUsing_creates_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR654_RelateUsing(form);
            form.setR654_creates_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R654_RelateUsing_creates_Association( RelateUsing form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R654_RelateUsing_creates_Association_extent.remove( R654_RelateUsing_creates_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR654_RelateUsing(form);
            form.setR654_creates_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R655_Unrelate_destroys_Association( Unrelate form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R655_Unrelate_destroys_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR655_Unrelate(form);
            form.setR655_destroys_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R655_Unrelate_destroys_Association( Unrelate form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R655_Unrelate_destroys_Association_extent.remove( R655_Unrelate_destroys_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR655_Unrelate(form);
            form.setR655_destroys_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R656_UnrelateUsing_destroys_Association( UnrelateUsing form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R656_UnrelateUsing_destroys_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR656_UnrelateUsing(form);
            form.setR656_destroys_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R656_UnrelateUsing_destroys_Association( UnrelateUsing form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R656_UnrelateUsing_destroys_Association_extent.remove( R656_UnrelateUsing_destroys_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR656_UnrelateUsing(form);
            form.setR656_destroys_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R657_InterfaceOperationInvocation_is_invocation_of_RequiredOperation( InterfaceOperationInvocation form, RequiredOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R657_InterfaceOperationInvocation_is_invocation_of_RequiredOperation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR657_InterfaceOperationInvocation(form);
            form.setR657_is_invocation_of_RequiredOperation(part);
            form.setRequiredOp_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R657_InterfaceOperationInvocation_is_invocation_of_RequiredOperation( InterfaceOperationInvocation form, RequiredOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R657_InterfaceOperationInvocation_is_invocation_of_RequiredOperation_extent.remove( R657_InterfaceOperationInvocation_is_invocation_of_RequiredOperation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR657_InterfaceOperationInvocation(form);
            form.setR657_is_invocation_of_RequiredOperation(RequiredOperationImpl.EMPTY_REQUIREDOPERATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R658_ElseIfStmt_controls_Block( ElseIfStmt form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R658_ElseIfStmt_controls_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR658_ElseIfStmt(form);
            form.setR658_controls_Block(part);
            form.setBlock_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R658_ElseIfStmt_controls_Block( ElseIfStmt form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R658_ElseIfStmt_controls_Block_extent.remove( R658_ElseIfStmt_controls_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR658_ElseIfStmt(ElseIfStmtImpl.EMPTY_ELSEIFSTMT);
            form.setR658_controls_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R659_ElseIfStmt_test_result_Value( ElseIfStmt form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R659_ElseIfStmt_test_result_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR659_ElseIfStmt(form);
            form.setR659_test_result_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R659_ElseIfStmt_test_result_Value( ElseIfStmt form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R659_ElseIfStmt_test_result_Value_extent.remove( R659_ElseIfStmt_test_result_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR659_ElseIfStmt(ElseIfStmtImpl.EMPTY_ELSEIFSTMT);
            form.setR659_test_result_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R660_SignalInvocation_is_invocation_of_RequiredSignal( SignalInvocation form, RequiredSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R660_SignalInvocation_is_invocation_of_RequiredSignal_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR660_SignalInvocation(form);
            form.setR660_is_invocation_of_RequiredSignal(part);
            form.setRequiredSig_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R660_SignalInvocation_is_invocation_of_RequiredSignal( SignalInvocation form, RequiredSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R660_SignalInvocation_is_invocation_of_RequiredSignal_extent.remove( R660_SignalInvocation_is_invocation_of_RequiredSignal_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR660_SignalInvocation(form);
            form.setR660_is_invocation_of_RequiredSignal(RequiredSignalImpl.EMPTY_REQUIREDSIGNAL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R661_ACT_SMT_succeeds_ACT_SMT( ACT_SMT form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R661_ACT_SMT_succeeds_ACT_SMT_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR661_precedes_ACT_SMT(form);
            form.setR661_succeeds_ACT_SMT(part);
            form.setBlock_ID( part.getBlock_ID() );
            form.setPrevious_Statement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R661_ACT_SMT_succeeds_ACT_SMT( ACT_SMT form, ACT_SMT part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R661_ACT_SMT_succeeds_ACT_SMT_extent.remove( R661_ACT_SMT_succeeds_ACT_SMT_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR661_precedes_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
            form.setR661_succeeds_ACT_SMT(ACT_SMTImpl.EMPTY_ACT_SMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R662_V_PAR_taken_by_SignalInvocation( V_PAR form, SignalInvocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R662_V_PAR_taken_by_SignalInvocation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR662_takes_V_PAR(form);
            form.setR662_taken_by_SignalInvocation(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R662_V_PAR_taken_by_SignalInvocation( V_PAR form, SignalInvocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R662_V_PAR_taken_by_SignalInvocation_extent.remove( R662_V_PAR_taken_by_SignalInvocation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR662_takes_V_PAR(form);
            form.setR662_taken_by_SignalInvocation(SignalInvocationImpl.EMPTY_SIGNALINVOCATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R663_SignalInvocation_is_invocation_of_ProvidedSignal( SignalInvocation form, ProvidedSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R663_SignalInvocation_is_invocation_of_ProvidedSignal_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR663_SignalInvocation(form);
            form.setR663_is_invocation_of_ProvidedSignal(part);
            form.setProvidedSig_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R663_SignalInvocation_is_invocation_of_ProvidedSignal( SignalInvocation form, ProvidedSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R663_SignalInvocation_is_invocation_of_ProvidedSignal_extent.remove( R663_SignalInvocation_is_invocation_of_ProvidedSignal_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR663_SignalInvocation(form);
            form.setR663_is_invocation_of_ProvidedSignal(ProvidedSignalImpl.EMPTY_PROVIDEDSIGNAL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R664_SelectRelatedBy_is_a_ACT_SEL( SelectRelatedBy form, ACT_SEL part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R664_SelectRelatedBy_is_a_ACT_SEL_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR664_is_a_SelectRelatedBy(form);
            form.setR664_is_a_ACT_SEL(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R664_SelectRelatedBy_is_a_ACT_SEL( SelectRelatedBy form, ACT_SEL part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R664_SelectRelatedBy_is_a_ACT_SEL_extent.remove( R664_SelectRelatedBy_is_a_ACT_SEL_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR664_is_a_SelectRelatedBy(SelectRelatedByImpl.EMPTY_SELECTRELATEDBY);
            form.setR664_is_a_ACT_SEL(ACT_SELImpl.EMPTY_ACT_SEL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R664_SelectRelatedWhere_is_a_ACT_SEL( SelectRelatedWhere form, ACT_SEL part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R664_SelectRelatedWhere_is_a_ACT_SEL_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR664_is_a_SelectRelatedWhere(form);
            form.setR664_is_a_ACT_SEL(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R664_SelectRelatedWhere_is_a_ACT_SEL( SelectRelatedWhere form, ACT_SEL part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R664_SelectRelatedWhere_is_a_ACT_SEL_extent.remove( R664_SelectRelatedWhere_is_a_ACT_SEL_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR664_is_a_SelectRelatedWhere(SelectRelatedWhereImpl.EMPTY_SELECTRELATEDWHERE);
            form.setR664_is_a_ACT_SEL(ACT_SELImpl.EMPTY_ACT_SEL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R665_SelectFromInstancesWhere_result_V_VAR( SelectFromInstancesWhere form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R665_SelectFromInstancesWhere_result_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR665_SelectFromInstancesWhere(form);
            form.setR665_result_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R665_SelectFromInstancesWhere_result_V_VAR( SelectFromInstancesWhere form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R665_SelectFromInstancesWhere_result_V_VAR_extent.remove( R665_SelectFromInstancesWhere_result_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR665_SelectFromInstancesWhere(form);
            form.setR665_result_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R666_Body_has_committed_outer_Block( Body form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R666_Body_has_committed_outer_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR666_is_outer_committed_level_of_Body(form);
            form.setR666_has_committed_outer_Block(part);
            form.setBlock_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R666_Body_has_committed_outer_Block( Body form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R666_Body_has_committed_outer_Block_extent.remove( R666_Body_has_committed_outer_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR666_is_outer_committed_level_of_Body(BodyImpl.EMPTY_BODY);
            form.setR666_has_committed_outer_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R667_OperationInvocation_has_target_V_VAR( OperationInvocation form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R667_OperationInvocation_has_target_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR667_is_target_of_OperationInvocation(form);
            form.setR667_has_target_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R667_OperationInvocation_has_target_V_VAR( OperationInvocation form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R667_OperationInvocation_has_target_V_VAR_extent.remove( R667_OperationInvocation_has_target_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR667_is_target_of_OperationInvocation(form);
            form.setR667_has_target_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R668_ReturnStmt_has_Value( ReturnStmt form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R668_ReturnStmt_has_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR668_returned_by_ReturnStmt(form);
            form.setR668_has_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R668_ReturnStmt_has_Value( ReturnStmt form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R668_ReturnStmt_has_Value_extent.remove( R668_ReturnStmt_has_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR668_returned_by_ReturnStmt(ReturnStmtImpl.EMPTY_RETURNSTMT);
            form.setR668_has_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R669_V_PAR_FunctionInvocation( V_PAR form, FunctionInvocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R669_V_PAR_FunctionInvocation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR669_takes_V_PAR(form);
            form.setR669_FunctionInvocation(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R669_V_PAR_FunctionInvocation( V_PAR form, FunctionInvocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R669_V_PAR_FunctionInvocation_extent.remove( R669_V_PAR_FunctionInvocation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR669_takes_V_PAR(form);
            form.setR669_FunctionInvocation(FunctionInvocationImpl.EMPTY_FUNCTIONINVOCATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R670_ForStmt_iterates_a_set_of_ModelClass( ForStmt form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R670_ForStmt_iterates_a_set_of_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR670_ForStmt(form);
            form.setR670_iterates_a_set_of_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R670_ForStmt_iterates_a_set_of_ModelClass( ForStmt form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R670_ForStmt_iterates_a_set_of_ModelClass_extent.remove( R670_ForStmt_iterates_a_set_of_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR670_ForStmt(form);
            form.setR670_iterates_a_set_of_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R671_Create_instance_of_ModelClass( Create form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R671_Create_instance_of_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR671_Create(form);
            form.setR671_instance_of_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R671_Create_instance_of_ModelClass( Create form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R671_Create_instance_of_ModelClass_extent.remove( R671_Create_instance_of_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR671_Create(form);
            form.setR671_instance_of_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R672_CreateNoVariable_instance_of_ModelClass( CreateNoVariable form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R672_CreateNoVariable_instance_of_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR672_CreateNoVariable(form);
            form.setR672_instance_of_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R672_CreateNoVariable_instance_of_ModelClass( CreateNoVariable form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R672_CreateNoVariable_instance_of_ModelClass_extent.remove( R672_CreateNoVariable_instance_of_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR672_CreateNoVariable(form);
            form.setR672_instance_of_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R673_OperationInvocation_is_an_invocation_of_O_TFR( OperationInvocation form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R673_OperationInvocation_is_an_invocation_of_O_TFR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR673_OperationInvocation(form);
            form.setR673_is_an_invocation_of_O_TFR(part);
            form.setTfr_ID( part.getTfr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R673_OperationInvocation_is_an_invocation_of_O_TFR( OperationInvocation form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R673_OperationInvocation_is_an_invocation_of_O_TFR_extent.remove( R673_OperationInvocation_is_an_invocation_of_O_TFR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR673_OperationInvocation(form);
            form.setR673_is_an_invocation_of_O_TFR(O_TFRImpl.EMPTY_O_TFR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R674_BridgeInvocation_is_an_invocation_of_Bridge( BridgeInvocation form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R674_BridgeInvocation_is_an_invocation_of_Bridge_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR674_BridgeInvocation(form);
            form.setR674_is_an_invocation_of_Bridge(part);
            form.setBrg_ID( part.getBrg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R674_BridgeInvocation_is_an_invocation_of_Bridge( BridgeInvocation form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R674_BridgeInvocation_is_an_invocation_of_Bridge_extent.remove( R674_BridgeInvocation_is_an_invocation_of_Bridge_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR674_BridgeInvocation(form);
            form.setR674_is_an_invocation_of_Bridge(BridgeImpl.EMPTY_BRIDGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R675_FunctionInvocation_is_an_invocation_of_S_SYNC( FunctionInvocation form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R675_FunctionInvocation_is_an_invocation_of_S_SYNC_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR675_FunctionInvocation(form);
            form.setR675_is_an_invocation_of_S_SYNC(part);
            form.setSync_ID( part.getSync_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R675_FunctionInvocation_is_an_invocation_of_S_SYNC( FunctionInvocation form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R675_FunctionInvocation_is_an_invocation_of_S_SYNC_extent.remove( R675_FunctionInvocation_is_an_invocation_of_S_SYNC_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR675_FunctionInvocation(form);
            form.setR675_is_an_invocation_of_S_SYNC(S_SYNCImpl.EMPTY_S_SYNC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R676_SelectFromInstancesWhere_from_extent_of_ModelClass( SelectFromInstancesWhere form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R676_SelectFromInstancesWhere_from_extent_of_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR676_SelectFromInstancesWhere(form);
            form.setR676_from_extent_of_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R676_SelectFromInstancesWhere_from_extent_of_ModelClass( SelectFromInstancesWhere form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R676_SelectFromInstancesWhere_from_extent_of_ModelClass_extent.remove( R676_SelectFromInstancesWhere_from_extent_of_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR676_SelectFromInstancesWhere(form);
            form.setR676_from_extent_of_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R677_ACT_FIO_from_extent_of_ModelClass( ACT_FIO form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R677_ACT_FIO_from_extent_of_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR677_ACT_FIO(form);
            form.setR677_from_extent_of_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R677_ACT_FIO_from_extent_of_ModelClass( ACT_FIO form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R677_ACT_FIO_from_extent_of_ModelClass_extent.remove( R677_ACT_FIO_from_extent_of_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR677_ACT_FIO(form);
            form.setR677_from_extent_of_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R678_ChainLink_specifies_instances_of_ModelClass( ChainLink form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R678_ChainLink_specifies_instances_of_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR678_ChainLink(form);
            form.setR678_specifies_instances_of_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R678_ChainLink_specifies_instances_of_ModelClass( ChainLink form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R678_ChainLink_specifies_instances_of_ModelClass_extent.remove( R678_ChainLink_specifies_instances_of_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR678_ChainLink(form);
            form.setR678_specifies_instances_of_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R679_V_PAR_taken_by_InterfaceOperationInvocation( V_PAR form, InterfaceOperationInvocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R679_V_PAR_taken_by_InterfaceOperationInvocation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR679_takes_V_PAR(form);
            form.setR679_taken_by_InterfaceOperationInvocation(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R679_V_PAR_taken_by_InterfaceOperationInvocation( V_PAR form, InterfaceOperationInvocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R679_V_PAR_taken_by_InterfaceOperationInvocation_extent.remove( R679_V_PAR_taken_by_InterfaceOperationInvocation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR679_takes_V_PAR(form);
            form.setR679_taken_by_InterfaceOperationInvocation(InterfaceOperationInvocationImpl.EMPTY_INTERFACEOPERATIONINVOCATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R680_InterfaceOperationInvocation_is_invocation_of_ProvidedOperation( InterfaceOperationInvocation form, ProvidedOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R680_InterfaceOperationInvocation_is_invocation_of_ProvidedOperation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR680_InterfaceOperationInvocation(form);
            form.setR680_is_invocation_of_ProvidedOperation(part);
            form.setProvidedOp_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R680_InterfaceOperationInvocation_is_invocation_of_ProvidedOperation( InterfaceOperationInvocation form, ProvidedOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R680_InterfaceOperationInvocation_is_invocation_of_ProvidedOperation_extent.remove( R680_InterfaceOperationInvocation_is_invocation_of_ProvidedOperation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR680_InterfaceOperationInvocation(form);
            form.setR680_is_invocation_of_ProvidedOperation(ProvidedOperationImpl.EMPTY_PROVIDEDOPERATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R681_ChainLink_specifies_traversal_of_Association( ChainLink form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R681_ChainLink_specifies_traversal_of_Association_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR681_ChainLink(form);
            form.setR681_specifies_traversal_of_Association(part);
            form.setRel_ID( part.getRel_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R681_ChainLink_specifies_traversal_of_Association( ChainLink form, Association part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R681_ChainLink_specifies_traversal_of_Association_extent.remove( R681_ChainLink_specifies_traversal_of_Association_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR681_ChainLink(form);
            form.setR681_specifies_traversal_of_Association(AssociationImpl.EMPTY_ASSOCIATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R682_ElseIfStmt_IfStmt( ElseIfStmt form, IfStmt part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R682_ElseIfStmt_IfStmt_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR682_has_ElseIfStmt(form);
            form.setR682_IfStmt(part);
            form.setIf_Statement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R682_ElseIfStmt_IfStmt( ElseIfStmt form, IfStmt part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R682_ElseIfStmt_IfStmt_extent.remove( R682_ElseIfStmt_IfStmt_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR682_has_ElseIfStmt(form);
            form.setR682_IfStmt(IfStmtImpl.EMPTY_IFSTMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R683_ElseStmt_IfStmt( ElseStmt form, IfStmt part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R683_ElseStmt_IfStmt_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR683_has_ElseStmt(form);
            form.setR683_IfStmt(part);
            form.setIf_Statement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R683_ElseStmt_IfStmt( ElseStmt form, IfStmt part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R683_ElseStmt_IfStmt_extent.remove( R683_ElseStmt_IfStmt_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR683_has_ElseStmt(ElseStmtImpl.EMPTY_ELSESTMT);
            form.setR683_IfStmt(IfStmtImpl.EMPTY_IFSTMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R684_RequiredSignalBody_specifies_processing_for_RequiredSignal( RequiredSignalBody form, RequiredSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R684_RequiredSignalBody_specifies_processing_for_RequiredSignal_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR684_RequiredSignalBody(form);
            form.setR684_specifies_processing_for_RequiredSignal(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R684_RequiredSignalBody_specifies_processing_for_RequiredSignal( RequiredSignalBody form, RequiredSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R684_RequiredSignalBody_specifies_processing_for_RequiredSignal_extent.remove( R684_RequiredSignalBody_specifies_processing_for_RequiredSignal_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR684_RequiredSignalBody(RequiredSignalBodyImpl.EMPTY_REQUIREDSIGNALBODY);
            form.setR684_specifies_processing_for_RequiredSignal(RequiredSignalImpl.EMPTY_REQUIREDSIGNAL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R685_RequiredOperationBody_specifies_processing_for_RequiredOperation( RequiredOperationBody form, RequiredOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R685_RequiredOperationBody_specifies_processing_for_RequiredOperation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR685_RequiredOperationBody(form);
            form.setR685_specifies_processing_for_RequiredOperation(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R685_RequiredOperationBody_specifies_processing_for_RequiredOperation( RequiredOperationBody form, RequiredOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R685_RequiredOperationBody_specifies_processing_for_RequiredOperation_extent.remove( R685_RequiredOperationBody_specifies_processing_for_RequiredOperation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR685_RequiredOperationBody(RequiredOperationBodyImpl.EMPTY_REQUIREDOPERATIONBODY);
            form.setR685_specifies_processing_for_RequiredOperation(RequiredOperationImpl.EMPTY_REQUIREDOPERATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R686_ProvidedSignalBody_specifies_processing_for_ProvidedSignal( ProvidedSignalBody form, ProvidedSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R686_ProvidedSignalBody_specifies_processing_for_ProvidedSignal_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR686_ProvidedSignalBody(form);
            form.setR686_specifies_processing_for_ProvidedSignal(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R686_ProvidedSignalBody_specifies_processing_for_ProvidedSignal( ProvidedSignalBody form, ProvidedSignal part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R686_ProvidedSignalBody_specifies_processing_for_ProvidedSignal_extent.remove( R686_ProvidedSignalBody_specifies_processing_for_ProvidedSignal_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR686_ProvidedSignalBody(ProvidedSignalBodyImpl.EMPTY_PROVIDEDSIGNALBODY);
            form.setR686_specifies_processing_for_ProvidedSignal(ProvidedSignalImpl.EMPTY_PROVIDEDSIGNAL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R687_ProvidedOperationBody_specifies_processing_for_ProvidedOperation( ProvidedOperationBody form, ProvidedOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R687_ProvidedOperationBody_specifies_processing_for_ProvidedOperation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR687_ProvidedOperationBody(form);
            form.setR687_specifies_processing_for_ProvidedOperation(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R687_ProvidedOperationBody_specifies_processing_for_ProvidedOperation( ProvidedOperationBody form, ProvidedOperation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R687_ProvidedOperationBody_specifies_processing_for_ProvidedOperation_extent.remove( R687_ProvidedOperationBody_specifies_processing_for_ProvidedOperation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR687_ProvidedOperationBody(ProvidedOperationBodyImpl.EMPTY_PROVIDEDOPERATIONBODY);
            form.setR687_specifies_processing_for_ProvidedOperation(ProvidedOperationImpl.EMPTY_PROVIDEDOPERATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R688_TransitionActionBody_specifies_processing_for_Action( TransitionActionBody form, Action part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R688_TransitionActionBody_specifies_processing_for_Action_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR688_TransitionActionBody(form);
            form.setR688_specifies_processing_for_Action(part);
            form.setSM_ID( part.getSM_ID() );
            form.setAct_ID( part.getAct_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R688_TransitionActionBody_specifies_processing_for_Action( TransitionActionBody form, Action part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R688_TransitionActionBody_specifies_processing_for_Action_extent.remove( R688_TransitionActionBody_specifies_processing_for_Action_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR688_TransitionActionBody(TransitionActionBodyImpl.EMPTY_TRANSITIONACTIONBODY);
            form.setR688_specifies_processing_for_Action(ActionImpl.EMPTY_ACTION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R689_AssignToMember_writes_Value( AssignToMember form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R689_AssignToMember_writes_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR689_AssignToMember(form);
            form.setR689_writes_Value(part);
            form.setL_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R689_AssignToMember_writes_Value( AssignToMember form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R689_AssignToMember_writes_Value_extent.remove( R689_AssignToMember_writes_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR689_AssignToMember(AssignToMemberImpl.EMPTY_ASSIGNTOMEMBER);
            form.setR689_writes_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R690_IfStmt_was_executing_when_halted_ElseIfStmt( IfStmt form, ElseIfStmt part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R690_IfStmt_was_executing_when_halted_ElseIfStmt_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR690_IfStmt(form);
            form.setR690_was_executing_when_halted_ElseIfStmt(part);
            form.setElif_Statement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R690_IfStmt_was_executing_when_halted_ElseIfStmt( IfStmt form, ElseIfStmt part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R690_IfStmt_was_executing_when_halted_ElseIfStmt_extent.remove( R690_IfStmt_was_executing_when_halted_ElseIfStmt_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR690_IfStmt(IfStmtImpl.EMPTY_IFSTMT);
            form.setR690_was_executing_when_halted_ElseIfStmt(ElseIfStmtImpl.EMPTY_ELSEIFSTMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R691_StateActionBody_specifies_processing_for_Action( StateActionBody form, Action part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R691_StateActionBody_specifies_processing_for_Action_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR691_StateActionBody(form);
            form.setR691_specifies_processing_for_Action(part);
            form.setAct_ID( part.getAct_ID() );
            form.setSM_ID( part.getSM_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R691_StateActionBody_specifies_processing_for_Action( StateActionBody form, Action part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R691_StateActionBody_specifies_processing_for_Action_extent.remove( R691_StateActionBody_specifies_processing_for_Action_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR691_StateActionBody(StateActionBodyImpl.EMPTY_STATEACTIONBODY);
            form.setR691_specifies_processing_for_Action(ActionImpl.EMPTY_ACTION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R692_IfStmt_was_executing_when_halted_ElseStmt( IfStmt form, ElseStmt part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R692_IfStmt_was_executing_when_halted_ElseStmt_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR692_IfStmt(form);
            form.setR692_was_executing_when_halted_ElseStmt(part);
            form.setElse_Statement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R692_IfStmt_was_executing_when_halted_ElseStmt( IfStmt form, ElseStmt part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R692_IfStmt_was_executing_when_halted_ElseStmt_extent.remove( R692_IfStmt_was_executing_when_halted_ElseStmt_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR692_IfStmt(IfStmtImpl.EMPTY_IFSTMT);
            form.setR692_was_executing_when_halted_ElseStmt(ElseStmtImpl.EMPTY_ELSESTMT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R693_DerivedAttributeBody_specifies_processing_for_DerivedBaseAttribute( DerivedAttributeBody form, DerivedBaseAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R693_DerivedAttributeBody_specifies_processing_for_DerivedBaseAttribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR693_DerivedAttributeBody(form);
            form.setR693_specifies_processing_for_DerivedBaseAttribute(part);
            form.setObj_ID( part.getObj_ID() );
            form.setAttr_ID( part.getAttr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R693_DerivedAttributeBody_specifies_processing_for_DerivedBaseAttribute( DerivedAttributeBody form, DerivedBaseAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R693_DerivedAttributeBody_specifies_processing_for_DerivedBaseAttribute_extent.remove( R693_DerivedAttributeBody_specifies_processing_for_DerivedBaseAttribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR693_DerivedAttributeBody(DerivedAttributeBodyImpl.EMPTY_DERIVEDATTRIBUTEBODY);
            form.setR693_specifies_processing_for_DerivedBaseAttribute(DerivedBaseAttributeImpl.EMPTY_DERIVEDBASEATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R694_BodyInComponent_has_declared_Body( BodyInComponent form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R694_BodyInComponent_has_declared_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR694_is_declared_in_BodyInComponent(form);
            form.setR694_has_declared_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R694_BodyInComponent_has_declared_Body( BodyInComponent form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R694_BodyInComponent_has_declared_Body_extent.remove( R694_BodyInComponent_has_declared_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR694_is_declared_in_BodyInComponent(BodyInComponentImpl.EMPTY_BODYINCOMPONENT);
            form.setR694_has_declared_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R694_BodyInComponent_is_declared_in_C_C( BodyInComponent form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R694_BodyInComponent_is_declared_in_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR694_has_declared_BodyInComponent(form);
            form.setR694_is_declared_in_C_C(part);
            form.setComponent_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R694_BodyInComponent_is_declared_in_C_C( BodyInComponent form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R694_BodyInComponent_is_declared_in_C_C_extent.remove( R694_BodyInComponent_is_declared_in_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR694_has_declared_BodyInComponent(form);
            form.setR694_is_declared_in_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R695_FunctionBody_specifies_processing_for_S_SYNC( FunctionBody form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R695_FunctionBody_specifies_processing_for_S_SYNC_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR695_FunctionBody(form);
            form.setR695_specifies_processing_for_S_SYNC(part);
            form.setSync_ID( part.getSync_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R695_FunctionBody_specifies_processing_for_S_SYNC( FunctionBody form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R695_FunctionBody_specifies_processing_for_S_SYNC_extent.remove( R695_FunctionBody_specifies_processing_for_S_SYNC_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR695_FunctionBody(FunctionBodyImpl.EMPTY_FUNCTIONBODY);
            form.setR695_specifies_processing_for_S_SYNC(S_SYNCImpl.EMPTY_S_SYNC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R696_OperationBody_specifies_processing_for_O_TFR( OperationBody form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R696_OperationBody_specifies_processing_for_O_TFR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR696_OperationBody(form);
            form.setR696_specifies_processing_for_O_TFR(part);
            form.setTfr_ID( part.getTfr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R696_OperationBody_specifies_processing_for_O_TFR( OperationBody form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R696_OperationBody_specifies_processing_for_O_TFR_extent.remove( R696_OperationBody_specifies_processing_for_O_TFR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR696_OperationBody(OperationBodyImpl.EMPTY_OPERATIONBODY);
            form.setR696_specifies_processing_for_O_TFR(O_TFRImpl.EMPTY_O_TFR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R697_BridgeBody_specifies_processing_for_Bridge( BridgeBody form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R697_BridgeBody_specifies_processing_for_Bridge_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR697_BridgeBody(form);
            form.setR697_specifies_processing_for_Bridge(part);
            form.setBrg_ID( part.getBrg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R697_BridgeBody_specifies_processing_for_Bridge( BridgeBody form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R697_BridgeBody_specifies_processing_for_Bridge_extent.remove( R697_BridgeBody_specifies_processing_for_Bridge_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR697_BridgeBody(BridgeBodyImpl.EMPTY_BRIDGEBODY);
            form.setR697_specifies_processing_for_Bridge(BridgeImpl.EMPTY_BRIDGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R698_BridgeBody_is_a_Body( BridgeBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R698_BridgeBody_is_a_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_BridgeBody(form);
            form.setR698_is_a_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R698_BridgeBody_is_a_Body( BridgeBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R698_BridgeBody_is_a_Body_extent.remove( R698_BridgeBody_is_a_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_BridgeBody(BridgeBodyImpl.EMPTY_BRIDGEBODY);
            form.setR698_is_a_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R698_DerivedAttributeBody_is_a_Body( DerivedAttributeBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R698_DerivedAttributeBody_is_a_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_DerivedAttributeBody(form);
            form.setR698_is_a_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R698_DerivedAttributeBody_is_a_Body( DerivedAttributeBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R698_DerivedAttributeBody_is_a_Body_extent.remove( R698_DerivedAttributeBody_is_a_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_DerivedAttributeBody(DerivedAttributeBodyImpl.EMPTY_DERIVEDATTRIBUTEBODY);
            form.setR698_is_a_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R698_FunctionBody_is_a_Body( FunctionBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R698_FunctionBody_is_a_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_FunctionBody(form);
            form.setR698_is_a_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R698_FunctionBody_is_a_Body( FunctionBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R698_FunctionBody_is_a_Body_extent.remove( R698_FunctionBody_is_a_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_FunctionBody(FunctionBodyImpl.EMPTY_FUNCTIONBODY);
            form.setR698_is_a_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R698_OperationBody_is_a_Body( OperationBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R698_OperationBody_is_a_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_OperationBody(form);
            form.setR698_is_a_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R698_OperationBody_is_a_Body( OperationBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R698_OperationBody_is_a_Body_extent.remove( R698_OperationBody_is_a_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_OperationBody(OperationBodyImpl.EMPTY_OPERATIONBODY);
            form.setR698_is_a_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R698_ProvidedOperationBody_is_a_Body( ProvidedOperationBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R698_ProvidedOperationBody_is_a_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_ProvidedOperationBody(form);
            form.setR698_is_a_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R698_ProvidedOperationBody_is_a_Body( ProvidedOperationBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R698_ProvidedOperationBody_is_a_Body_extent.remove( R698_ProvidedOperationBody_is_a_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_ProvidedOperationBody(ProvidedOperationBodyImpl.EMPTY_PROVIDEDOPERATIONBODY);
            form.setR698_is_a_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R698_ProvidedSignalBody_is_a_Body( ProvidedSignalBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R698_ProvidedSignalBody_is_a_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_ProvidedSignalBody(form);
            form.setR698_is_a_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R698_ProvidedSignalBody_is_a_Body( ProvidedSignalBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R698_ProvidedSignalBody_is_a_Body_extent.remove( R698_ProvidedSignalBody_is_a_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_ProvidedSignalBody(ProvidedSignalBodyImpl.EMPTY_PROVIDEDSIGNALBODY);
            form.setR698_is_a_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R698_RequiredOperationBody_is_a_Body( RequiredOperationBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R698_RequiredOperationBody_is_a_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_RequiredOperationBody(form);
            form.setR698_is_a_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R698_RequiredOperationBody_is_a_Body( RequiredOperationBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R698_RequiredOperationBody_is_a_Body_extent.remove( R698_RequiredOperationBody_is_a_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_RequiredOperationBody(RequiredOperationBodyImpl.EMPTY_REQUIREDOPERATIONBODY);
            form.setR698_is_a_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R698_RequiredSignalBody_is_a_Body( RequiredSignalBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R698_RequiredSignalBody_is_a_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_RequiredSignalBody(form);
            form.setR698_is_a_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R698_RequiredSignalBody_is_a_Body( RequiredSignalBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R698_RequiredSignalBody_is_a_Body_extent.remove( R698_RequiredSignalBody_is_a_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_RequiredSignalBody(RequiredSignalBodyImpl.EMPTY_REQUIREDSIGNALBODY);
            form.setR698_is_a_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R698_StateActionBody_is_a_Body( StateActionBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R698_StateActionBody_is_a_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_StateActionBody(form);
            form.setR698_is_a_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R698_StateActionBody_is_a_Body( StateActionBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R698_StateActionBody_is_a_Body_extent.remove( R698_StateActionBody_is_a_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_StateActionBody(StateActionBodyImpl.EMPTY_STATEACTIONBODY);
            form.setR698_is_a_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R698_TransitionActionBody_is_a_Body( TransitionActionBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R698_TransitionActionBody_is_a_Body_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_TransitionActionBody(form);
            form.setR698_is_a_Body(part);
            form.setAction_ID( part.getAction_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R698_TransitionActionBody_is_a_Body( TransitionActionBody form, Body part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R698_TransitionActionBody_is_a_Body_extent.remove( R698_TransitionActionBody_is_a_Body_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR698_is_a_TransitionActionBody(TransitionActionBodyImpl.EMPTY_TRANSITIONACTIONBODY);
            form.setR698_is_a_Body(BodyImpl.EMPTY_BODY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R699_Body_has_current_scope_Block( Body form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R699_Body_has_current_scope_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR699_is_current_scope_for_Body(form);
            form.setR699_has_current_scope_Block(part);
            form.setCurrentScope_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R699_Body_has_current_scope_Block( Body form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R699_Body_has_current_scope_Block_extent.remove( R699_Body_has_current_scope_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR699_is_current_scope_for_Body(BodyImpl.EMPTY_BODY);
            form.setR699_has_current_scope_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R700_V_PAR_EventSpecificationStatement( V_PAR form, EventSpecificationStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R700_V_PAR_EventSpecificationStatement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR700_V_PAR(form);
            form.setR700_EventSpecificationStatement(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R700_V_PAR_EventSpecificationStatement( V_PAR form, EventSpecificationStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R700_V_PAR_EventSpecificationStatement_extent.remove( R700_V_PAR_EventSpecificationStatement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR700_V_PAR(form);
            form.setR700_EventSpecificationStatement(EventSpecificationStatementImpl.EMPTY_EVENTSPECIFICATIONSTATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R701_CreateEventStatement_is_a_EventSpecificationStatement( CreateEventStatement form, EventSpecificationStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R701_CreateEventStatement_is_a_EventSpecificationStatement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR701_is_a_CreateEventStatement(form);
            form.setR701_is_a_EventSpecificationStatement(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R701_CreateEventStatement_is_a_EventSpecificationStatement( CreateEventStatement form, EventSpecificationStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R701_CreateEventStatement_is_a_EventSpecificationStatement_extent.remove( R701_CreateEventStatement_is_a_EventSpecificationStatement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR701_is_a_CreateEventStatement(CreateEventStatementImpl.EMPTY_CREATEEVENTSTATEMENT);
            form.setR701_is_a_EventSpecificationStatement(EventSpecificationStatementImpl.EMPTY_EVENTSPECIFICATIONSTATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R701_GenerateEventStatement_is_a_EventSpecificationStatement( GenerateEventStatement form, EventSpecificationStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R701_GenerateEventStatement_is_a_EventSpecificationStatement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR701_is_a_GenerateEventStatement(form);
            form.setR701_is_a_EventSpecificationStatement(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R701_GenerateEventStatement_is_a_EventSpecificationStatement( GenerateEventStatement form, EventSpecificationStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R701_GenerateEventStatement_is_a_EventSpecificationStatement_extent.remove( R701_GenerateEventStatement_is_a_EventSpecificationStatement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR701_is_a_GenerateEventStatement(GenerateEventStatementImpl.EMPTY_GENERATEEVENTSTATEMENT);
            form.setR701_is_a_EventSpecificationStatement(EventSpecificationStatementImpl.EMPTY_EVENTSPECIFICATIONSTATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R702_CreateSMEventStatement_is_a_CreateEventStatement( CreateSMEventStatement form, CreateEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R702_CreateSMEventStatement_is_a_CreateEventStatement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR702_is_a_CreateSMEventStatement(form);
            form.setR702_is_a_CreateEventStatement(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R702_CreateSMEventStatement_is_a_CreateEventStatement( CreateSMEventStatement form, CreateEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R702_CreateSMEventStatement_is_a_CreateEventStatement_extent.remove( R702_CreateSMEventStatement_is_a_CreateEventStatement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR702_is_a_CreateSMEventStatement(CreateSMEventStatementImpl.EMPTY_CREATESMEVENTSTATEMENT);
            form.setR702_is_a_CreateEventStatement(CreateEventStatementImpl.EMPTY_CREATEEVENTSTATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R703_GenerateSMEventStatement_is_a_GenerateEventStatement( GenerateSMEventStatement form, GenerateEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R703_GenerateSMEventStatement_is_a_GenerateEventStatement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR703_is_a_GenerateSMEventStatement(form);
            form.setR703_is_a_GenerateEventStatement(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R703_GenerateSMEventStatement_is_a_GenerateEventStatement( GenerateSMEventStatement form, GenerateEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R703_GenerateSMEventStatement_is_a_GenerateEventStatement_extent.remove( R703_GenerateSMEventStatement_is_a_GenerateEventStatement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR703_is_a_GenerateSMEventStatement(GenerateSMEventStatementImpl.EMPTY_GENERATESMEVENTSTATEMENT);
            form.setR703_is_a_GenerateEventStatement(GenerateEventStatementImpl.EMPTY_GENERATEEVENTSTATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R704_CreateEventToClass_is_a_CreateSMEventStatement( CreateEventToClass form, CreateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R704_CreateEventToClass_is_a_CreateSMEventStatement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR704_is_a_CreateEventToClass(form);
            form.setR704_is_a_CreateSMEventStatement(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R704_CreateEventToClass_is_a_CreateSMEventStatement( CreateEventToClass form, CreateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R704_CreateEventToClass_is_a_CreateSMEventStatement_extent.remove( R704_CreateEventToClass_is_a_CreateSMEventStatement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR704_is_a_CreateEventToClass(CreateEventToClassImpl.EMPTY_CREATEEVENTTOCLASS);
            form.setR704_is_a_CreateSMEventStatement(CreateSMEventStatementImpl.EMPTY_CREATESMEVENTSTATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R704_CreateEventToCreator_is_a_CreateSMEventStatement( CreateEventToCreator form, CreateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R704_CreateEventToCreator_is_a_CreateSMEventStatement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR704_is_a_CreateEventToCreator(form);
            form.setR704_is_a_CreateSMEventStatement(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R704_CreateEventToCreator_is_a_CreateSMEventStatement( CreateEventToCreator form, CreateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R704_CreateEventToCreator_is_a_CreateSMEventStatement_extent.remove( R704_CreateEventToCreator_is_a_CreateSMEventStatement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR704_is_a_CreateEventToCreator(CreateEventToCreatorImpl.EMPTY_CREATEEVENTTOCREATOR);
            form.setR704_is_a_CreateSMEventStatement(CreateSMEventStatementImpl.EMPTY_CREATESMEVENTSTATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R704_CreateEventToInstance_is_a_CreateSMEventStatement( CreateEventToInstance form, CreateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R704_CreateEventToInstance_is_a_CreateSMEventStatement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR704_is_a_CreateEventToInstance(form);
            form.setR704_is_a_CreateSMEventStatement(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R704_CreateEventToInstance_is_a_CreateSMEventStatement( CreateEventToInstance form, CreateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R704_CreateEventToInstance_is_a_CreateSMEventStatement_extent.remove( R704_CreateEventToInstance_is_a_CreateSMEventStatement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR704_is_a_CreateEventToInstance(CreateEventToInstanceImpl.EMPTY_CREATEEVENTTOINSTANCE);
            form.setR704_is_a_CreateSMEventStatement(CreateSMEventStatementImpl.EMPTY_CREATESMEVENTSTATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R705_E_GEN_is_a_GenerateSMEventStatement( E_GEN form, GenerateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R705_E_GEN_is_a_GenerateSMEventStatement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR705_is_a_E_GEN(form);
            form.setR705_is_a_GenerateSMEventStatement(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R705_E_GEN_is_a_GenerateSMEventStatement( E_GEN form, GenerateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R705_E_GEN_is_a_GenerateSMEventStatement_extent.remove( R705_E_GEN_is_a_GenerateSMEventStatement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR705_is_a_E_GEN(E_GENImpl.EMPTY_E_GEN);
            form.setR705_is_a_GenerateSMEventStatement(GenerateSMEventStatementImpl.EMPTY_GENERATESMEVENTSTATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R705_GenerateToClass_is_a_GenerateSMEventStatement( GenerateToClass form, GenerateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R705_GenerateToClass_is_a_GenerateSMEventStatement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR705_is_a_GenerateToClass(form);
            form.setR705_is_a_GenerateSMEventStatement(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R705_GenerateToClass_is_a_GenerateSMEventStatement( GenerateToClass form, GenerateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R705_GenerateToClass_is_a_GenerateSMEventStatement_extent.remove( R705_GenerateToClass_is_a_GenerateSMEventStatement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR705_is_a_GenerateToClass(GenerateToClassImpl.EMPTY_GENERATETOCLASS);
            form.setR705_is_a_GenerateSMEventStatement(GenerateSMEventStatementImpl.EMPTY_GENERATESMEVENTSTATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R705_GenerateToCreator_is_a_GenerateSMEventStatement( GenerateToCreator form, GenerateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R705_GenerateToCreator_is_a_GenerateSMEventStatement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR705_is_a_GenerateToCreator(form);
            form.setR705_is_a_GenerateSMEventStatement(part);
            form.setStatement_ID( part.getStatement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R705_GenerateToCreator_is_a_GenerateSMEventStatement( GenerateToCreator form, GenerateSMEventStatement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R705_GenerateToCreator_is_a_GenerateSMEventStatement_extent.remove( R705_GenerateToCreator_is_a_GenerateSMEventStatement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR705_is_a_GenerateToCreator(GenerateToCreatorImpl.EMPTY_GENERATETOCREATOR);
            form.setR705_is_a_GenerateSMEventStatement(GenerateSMEventStatementImpl.EMPTY_GENERATESMEVENTSTATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R706_CreateSMEventStatement_creates_StateMachineEvent( CreateSMEventStatement form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R706_CreateSMEventStatement_creates_StateMachineEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR706_CreateSMEventStatement(form);
            form.setR706_creates_StateMachineEvent(part);
            form.setSMevt_ID( part.getSMevt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R706_CreateSMEventStatement_creates_StateMachineEvent( CreateSMEventStatement form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R706_CreateSMEventStatement_creates_StateMachineEvent_extent.remove( R706_CreateSMEventStatement_creates_StateMachineEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR706_CreateSMEventStatement(form);
            form.setR706_creates_StateMachineEvent(StateMachineEventImpl.EMPTY_STATEMACHINEEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R707_GenerateSMEventStatement_generates_StateMachineEvent( GenerateSMEventStatement form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R707_GenerateSMEventStatement_generates_StateMachineEvent_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR707_GenerateSMEventStatement(form);
            form.setR707_generates_StateMachineEvent(part);
            form.setSMevt_ID( part.getSMevt_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R707_GenerateSMEventStatement_generates_StateMachineEvent( GenerateSMEventStatement form, StateMachineEvent part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R707_GenerateSMEventStatement_generates_StateMachineEvent_extent.remove( R707_GenerateSMEventStatement_generates_StateMachineEvent_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR707_GenerateSMEventStatement(form);
            form.setR707_generates_StateMachineEvent(StateMachineEventImpl.EMPTY_STATEMACHINEEVENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R710_CreateEventStatement_result_V_VAR( CreateEventStatement form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R710_CreateEventStatement_result_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR710_CreateEventStatement(form);
            form.setR710_result_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R710_CreateEventStatement_result_V_VAR( CreateEventStatement form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R710_CreateEventStatement_result_V_VAR_extent.remove( R710_CreateEventStatement_result_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR710_CreateEventStatement(form);
            form.setR710_result_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R711_CreateEventToInstance_has_recipient_V_VAR( CreateEventToInstance form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R711_CreateEventToInstance_has_recipient_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR711_CreateEventToInstance(form);
            form.setR711_has_recipient_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R711_CreateEventToInstance_has_recipient_V_VAR( CreateEventToInstance form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R711_CreateEventToInstance_has_recipient_V_VAR_extent.remove( R711_CreateEventToInstance_has_recipient_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR711_CreateEventToInstance(form);
            form.setR711_has_recipient_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R712_E_GEN_has_recipient_V_VAR( E_GEN form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R712_E_GEN_has_recipient_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR712_E_GEN(form);
            form.setR712_has_recipient_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R712_E_GEN_has_recipient_V_VAR( E_GEN form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R712_E_GEN_has_recipient_V_VAR_extent.remove( R712_E_GEN_has_recipient_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR712_E_GEN(form);
            form.setR712_has_recipient_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R714_GeneratePreexistingEvent_generates_event_held_by_Value( GeneratePreexistingEvent form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R714_GeneratePreexistingEvent_generates_event_held_by_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR714_holds_event_to_be_generated_by_GeneratePreexistingEvent(form);
            form.setR714_generates_event_held_by_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R714_GeneratePreexistingEvent_generates_event_held_by_Value( GeneratePreexistingEvent form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R714_GeneratePreexistingEvent_generates_event_held_by_Value_extent.remove( R714_GeneratePreexistingEvent_generates_event_held_by_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR714_holds_event_to_be_generated_by_GeneratePreexistingEvent(GeneratePreexistingEventImpl.EMPTY_GENERATEPREEXISTINGEVENT);
            form.setR714_generates_event_held_by_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R775_Expression_expressed_within_Statement( Expression form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R775_Expression_expressed_within_Statement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR775_may_contain_Expression(form);
            form.setR775_expressed_within_Statement(part);
            form.setBlock_number( part.getBlock_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R775_Expression_expressed_within_Statement( Expression form, Statement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R775_Expression_expressed_within_Statement_extent.remove( R775_Expression_expressed_within_Statement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR775_may_contain_Expression(form);
            form.setR775_expressed_within_Statement(StatementImpl.EMPTY_STATEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_Any_is_a_Expression( Any form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_Any_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Any(form);
            form.setR776_is_a_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setExpression_number( part.getExpression_number() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_Any_is_a_Expression( Any form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_Any_is_a_Expression_extent.remove( R776_Any_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Any(AnyImpl.EMPTY_ANY);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_ArrayElementReference_is_a_Expression( ArrayElementReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_ArrayElementReference_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_ArrayElementReference(form);
            form.setR776_is_a_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setExpression_number( part.getExpression_number() );
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_ArrayElementReference_is_a_Expression( ArrayElementReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_ArrayElementReference_is_a_Expression_extent.remove( R776_ArrayElementReference_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_ArrayElementReference(ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_ArrayLengthAccess_is_a_Expression( ArrayLengthAccess form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_ArrayLengthAccess_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_ArrayLengthAccess(form);
            form.setR776_is_a_Expression(part);
            form.setBlock_number( part.getBlock_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setParent_package( part.getParent_package() );
            form.setExpression_number( part.getExpression_number() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_ArrayLengthAccess_is_a_Expression( ArrayLengthAccess form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_ArrayLengthAccess_is_a_Expression_extent.remove( R776_ArrayLengthAccess_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_ArrayLengthAccess(ArrayLengthAccessImpl.EMPTY_ARRAYLENGTHACCESS);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_AttributeAccess_is_a_Expression( AttributeAccess form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_AttributeAccess_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_AttributeAccess(form);
            form.setR776_is_a_Expression(part);
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setExpression_number( part.getExpression_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_AttributeAccess_is_a_Expression( AttributeAccess form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_AttributeAccess_is_a_Expression_extent.remove( R776_AttributeAccess_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_AttributeAccess(AttributeAccessImpl.EMPTY_ATTRIBUTEACCESS);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_BinaryOperation_is_a_Expression( BinaryOperation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_BinaryOperation_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_BinaryOperation(form);
            form.setR776_is_a_Expression(part);
            form.setBlock_number( part.getBlock_number() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
            form.setExpression_number( part.getExpression_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_BinaryOperation_is_a_Expression( BinaryOperation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_BinaryOperation_is_a_Expression_extent.remove( R776_BinaryOperation_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_BinaryOperation(BinaryOperationImpl.EMPTY_BINARYOPERATION);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_ConstantReference_is_a_Expression( ConstantReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_ConstantReference_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_ConstantReference(form);
            form.setR776_is_a_Expression(part);
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setExpression_number( part.getExpression_number() );
            form.setParent_package( part.getParent_package() );
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_ConstantReference_is_a_Expression( ConstantReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_ConstantReference_is_a_Expression_extent.remove( R776_ConstantReference_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_ConstantReference(ConstantReferenceImpl.EMPTY_CONSTANTREFERENCE);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_Creation_is_a_Expression( Creation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_Creation_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Creation(form);
            form.setR776_is_a_Expression(part);
            form.setParent_package( part.getParent_package() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setExpression_number( part.getExpression_number() );
            form.setName( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_Creation_is_a_Expression( Creation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_Creation_is_a_Expression_extent.remove( R776_Creation_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Creation(CreationImpl.EMPTY_CREATION);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_EnumeratorReference_is_a_Expression( EnumeratorReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_EnumeratorReference_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_EnumeratorReference(form);
            form.setR776_is_a_Expression(part);
            form.setExpression_number( part.getExpression_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_EnumeratorReference_is_a_Expression( EnumeratorReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_EnumeratorReference_is_a_Expression_extent.remove( R776_EnumeratorReference_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_EnumeratorReference(EnumeratorReferenceImpl.EMPTY_ENUMERATORREFERENCE);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_EventCreation_is_a_Expression( EventCreation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_EventCreation_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_EventCreation(form);
            form.setR776_is_a_Expression(part);
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setExpression_number( part.getExpression_number() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_EventCreation_is_a_Expression( EventCreation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_EventCreation_is_a_Expression_extent.remove( R776_EventCreation_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_EventCreation(EventCreationImpl.EMPTY_EVENTCREATION);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_Invocation_is_a_Expression( Invocation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_Invocation_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Invocation(form);
            form.setR776_is_a_Expression(part);
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setExpression_number( part.getExpression_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_Invocation_is_a_Expression( Invocation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_Invocation_is_a_Expression_extent.remove( R776_Invocation_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Invocation(InvocationImpl.EMPTY_INVOCATION);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_Literal_is_a_Expression( Literal form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_Literal_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Literal(form);
            form.setR776_is_a_Expression(part);
            form.setExpression_number( part.getExpression_number() );
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_Literal_is_a_Expression( Literal form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_Literal_is_a_Expression_extent.remove( R776_Literal_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Literal(LiteralImpl.EMPTY_LITERAL);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_MemberReference_is_a_Expression( MemberReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_MemberReference_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_MemberReference(form);
            form.setR776_is_a_Expression(part);
            form.setParent_name( part.getParent_name() );
            form.setParent_package( part.getParent_package() );
            form.setBlock_number( part.getBlock_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setExpression_number( part.getExpression_number() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_MemberReference_is_a_Expression( MemberReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_MemberReference_is_a_Expression_extent.remove( R776_MemberReference_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_MemberReference(MemberReferenceImpl.EMPTY_MEMBERREFERENCE);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_NamedReference_is_a_Expression( NamedReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_NamedReference_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_NamedReference(form);
            form.setR776_is_a_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setExpression_number( part.getExpression_number() );
            form.setParent_name( part.getParent_name() );
            form.setParent_package( part.getParent_package() );
            form.setBlock_number( part.getBlock_number() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_NamedReference_is_a_Expression( NamedReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_NamedReference_is_a_Expression_extent.remove( R776_NamedReference_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_NamedReference(NamedReferenceImpl.EMPTY_NAMEDREFERENCE);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_ParameterReference_is_a_Expression( ParameterReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_ParameterReference_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_ParameterReference(form);
            form.setR776_is_a_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setExpression_number( part.getExpression_number() );
            form.setParent_package( part.getParent_package() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_ParameterReference_is_a_Expression( ParameterReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_ParameterReference_is_a_Expression_extent.remove( R776_ParameterReference_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_ParameterReference(ParameterReferenceImpl.EMPTY_PARAMETERREFERENCE);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_ParenthesizedExpression_is_a_Expression( ParenthesizedExpression form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_ParenthesizedExpression_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_ParenthesizedExpression(form);
            form.setR776_is_a_Expression(part);
            form.setExpression_number( part.getExpression_number() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_ParenthesizedExpression_is_a_Expression( ParenthesizedExpression form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_ParenthesizedExpression_is_a_Expression_extent.remove( R776_ParenthesizedExpression_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_ParenthesizedExpression(ParenthesizedExpressionImpl.EMPTY_PARENTHESIZEDEXPRESSION);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_Promotion_is_a_Expression( Promotion form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_Promotion_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Promotion(form);
            form.setR776_is_a_Expression(part);
            form.setStatement_number( part.getStatement_number() );
            form.setExpression_number( part.getExpression_number() );
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_Promotion_is_a_Expression( Promotion form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_Promotion_is_a_Expression_extent.remove( R776_Promotion_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Promotion(PromotionImpl.EMPTY_PROMOTION);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_Select_is_a_Expression( Select form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_Select_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Select(form);
            form.setR776_is_a_Expression(part);
            form.setStatement_number( part.getStatement_number() );
            form.setExpression_number( part.getExpression_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_Select_is_a_Expression( Select form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_Select_is_a_Expression_extent.remove( R776_Select_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Select(SelectImpl.EMPTY_SELECT);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_Selected_is_a_Expression( Selected form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_Selected_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Selected(form);
            form.setR776_is_a_Expression(part);
            form.setParent_name( part.getParent_name() );
            form.setExpression_number( part.getExpression_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setName( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_Selected_is_a_Expression( Selected form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_Selected_is_a_Expression_extent.remove( R776_Selected_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Selected(SelectedImpl.EMPTY_SELECTED);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_UnaryOperation_is_a_Expression( UnaryOperation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_UnaryOperation_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_UnaryOperation(form);
            form.setR776_is_a_Expression(part);
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setExpression_number( part.getExpression_number() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_UnaryOperation_is_a_Expression( UnaryOperation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_UnaryOperation_is_a_Expression_extent.remove( R776_UnaryOperation_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_UnaryOperation(UnaryOperationImpl.EMPTY_UNARYOPERATION);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_VariableReference_is_a_Expression( VariableReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_VariableReference_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_VariableReference(form);
            form.setR776_is_a_Expression(part);
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setExpression_number( part.getExpression_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_VariableReference_is_a_Expression( VariableReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_VariableReference_is_a_Expression_extent.remove( R776_VariableReference_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_VariableReference(VariableReferenceImpl.EMPTY_VARIABLEREFERENCE);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R776_Where_is_a_Expression( Where form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R776_Where_is_a_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Where(form);
            form.setR776_is_a_Expression(part);
            form.setParent_package( part.getParent_package() );
            form.setExpression_number( part.getExpression_number() );
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R776_Where_is_a_Expression( Where form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R776_Where_is_a_Expression_extent.remove( R776_Where_is_a_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR776_is_a_Where(WhereImpl.EMPTY_WHERE);
            form.setR776_is_a_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R777_UnaryOperation_has_single_operand_Expression( UnaryOperation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R777_UnaryOperation_has_single_operand_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR777_is_single_operand_for_UnaryOperation(form);
            form.setR777_has_single_operand_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setOp_expression_number( part.getExpression_number() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R777_UnaryOperation_has_single_operand_Expression( UnaryOperation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R777_UnaryOperation_has_single_operand_Expression_extent.remove( R777_UnaryOperation_has_single_operand_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR777_is_single_operand_for_UnaryOperation(UnaryOperationImpl.EMPTY_UNARYOPERATION);
            form.setR777_has_single_operand_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R778_BinaryOperation_has_right_Expression( BinaryOperation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R778_BinaryOperation_has_right_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR778_is_right_operand_for_BinaryOperation(form);
            form.setR778_has_right_Expression(part);
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setParent_package( part.getParent_package() );
            form.setRight_expression_number( part.getExpression_number() );
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R778_BinaryOperation_has_right_Expression( BinaryOperation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R778_BinaryOperation_has_right_Expression_extent.remove( R778_BinaryOperation_has_right_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR778_is_right_operand_for_BinaryOperation(BinaryOperationImpl.EMPTY_BINARYOPERATION);
            form.setR778_has_right_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R779_BinaryOperation_has_left_Expression( BinaryOperation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R779_BinaryOperation_has_left_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR779_is_left_operand_for_BinaryOperation(form);
            form.setR779_has_left_Expression(part);
            form.setParent_name( part.getParent_name() );
            form.setLeft_expression_number( part.getExpression_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R779_BinaryOperation_has_left_Expression( BinaryOperation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R779_BinaryOperation_has_left_Expression_extent.remove( R779_BinaryOperation_has_left_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR779_is_left_operand_for_BinaryOperation(BinaryOperationImpl.EMPTY_BINARYOPERATION);
            form.setR779_has_left_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R780_Creation_creates_ModelInst( Creation form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R780_Creation_creates_ModelInst_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR780_created_by_Creation(form);
            form.setR780_creates_ModelInst(part);
            form.setClass_name( part.getName() );
            form.setComp_name( part.getComp_name() );
            form.setClass_package( part.getPackage() );
            form.setComp_package( part.getComp_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R780_Creation_creates_ModelInst( Creation form, ModelInst part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R780_Creation_creates_ModelInst_extent.remove( R780_Creation_creates_ModelInst_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR780_created_by_Creation(form);
            form.setR780_creates_ModelInst(ModelInstImpl.EMPTY_MODELINST);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R781_ParameterReference_refers_to_FormalParameter( ParameterReference form, FormalParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R781_ParameterReference_refers_to_FormalParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR781_referenced_by_ParameterReference(form);
            form.setR781_refers_to_FormalParameter(part);
            form.setParam_parent_name( part.getParent_name() );
            form.setParam_name( part.getName() );
            form.setParam_body_name( part.getInvocable_name() );
            form.setParam_parent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R781_ParameterReference_refers_to_FormalParameter( ParameterReference form, FormalParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R781_ParameterReference_refers_to_FormalParameter_extent.remove( R781_ParameterReference_refers_to_FormalParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR781_referenced_by_ParameterReference(form);
            form.setR781_refers_to_FormalParameter(FormalParameterImpl.EMPTY_FORMALPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R782_VariableReference_refers_to_local_Variable( VariableReference form, Variable part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R782_VariableReference_refers_to_local_Variable_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR782_referenced_through_VariableReference(form);
            form.setR782_refers_to_local_Variable(part);
            form.setVar_block_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
            form.setVar_name( part.getName() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R782_VariableReference_refers_to_local_Variable( VariableReference form, Variable part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R782_VariableReference_refers_to_local_Variable_extent.remove( R782_VariableReference_refers_to_local_Variable_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR782_referenced_through_VariableReference(form);
            form.setR782_refers_to_local_Variable(VariableImpl.EMPTY_VARIABLE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R783_Any_gets_an_arbitrary_element_from_Expression( Any form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R783_Any_gets_an_arbitrary_element_from_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR783_is_basis_for_Any(form);
            form.setR783_gets_an_arbitrary_element_from_Expression(part);
            form.setParent_name( part.getParent_name() );
            form.setAny_expression_number( part.getExpression_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R783_Any_gets_an_arbitrary_element_from_Expression( Any form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R783_Any_gets_an_arbitrary_element_from_Expression_extent.remove( R783_Any_gets_an_arbitrary_element_from_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR783_is_basis_for_Any(AnyImpl.EMPTY_ANY);
            form.setR783_gets_an_arbitrary_element_from_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R784_ParenthesizedExpression_parenthesizes_Expression( ParenthesizedExpression form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R784_ParenthesizedExpression_parenthesizes_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR784_is_wrapped_in_parentheses_by_ParenthesizedExpression(form);
            form.setR784_parenthesizes_Expression(part);
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
            form.setBase_expression_number( part.getExpression_number() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R784_ParenthesizedExpression_parenthesizes_Expression( ParenthesizedExpression form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R784_ParenthesizedExpression_parenthesizes_Expression_extent.remove( R784_ParenthesizedExpression_parenthesizes_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR784_is_wrapped_in_parentheses_by_ParenthesizedExpression(ParenthesizedExpressionImpl.EMPTY_PARENTHESIZEDEXPRESSION);
            form.setR784_parenthesizes_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R785_AttributeAccess_refers_to_attribute_of_instance_expressed_by_Expression( AttributeAccess form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R785_AttributeAccess_refers_to_attribute_of_instance_expressed_by_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR785_is_used_as_basis_for_AttributeAccess(form);
            form.setR785_refers_to_attribute_of_instance_expressed_by_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setRoot_expression_number( part.getExpression_number() );
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R785_AttributeAccess_refers_to_attribute_of_instance_expressed_by_Expression( AttributeAccess form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R785_AttributeAccess_refers_to_attribute_of_instance_expressed_by_Expression_extent.remove( R785_AttributeAccess_refers_to_attribute_of_instance_expressed_by_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR785_is_used_as_basis_for_AttributeAccess(AttributeAccessImpl.EMPTY_ATTRIBUTEACCESS);
            form.setR785_refers_to_attribute_of_instance_expressed_by_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R786_EnumeratorReference_refers_to_Enumerator( EnumeratorReference form, Enumerator part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R786_EnumeratorReference_refers_to_Enumerator_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR786_is_referenced_by_EnumeratorReference(form);
            form.setR786_refers_to_Enumerator(part);
            form.setEnum_type_package( part.getType_package() );
            form.setEnum_name( part.getName() );
            form.setEnum_type_name( part.getType_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R786_EnumeratorReference_refers_to_Enumerator( EnumeratorReference form, Enumerator part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R786_EnumeratorReference_refers_to_Enumerator_extent.remove( R786_EnumeratorReference_refers_to_Enumerator_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR786_is_referenced_by_EnumeratorReference(form);
            form.setR786_refers_to_Enumerator(EnumeratorImpl.EMPTY_ENUMERATOR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R787_MemberReference_refers_to_member_of_structured_value_expressed_by_Expression( MemberReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R787_MemberReference_refers_to_member_of_structured_value_expressed_by_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR787_is_used_as_basis_for_MemberReference(form);
            form.setR787_refers_to_member_of_structured_value_expressed_by_Expression(part);
            form.setParent_name( part.getParent_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setRoot_expression_number( part.getExpression_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R787_MemberReference_refers_to_member_of_structured_value_expressed_by_Expression( MemberReference form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R787_MemberReference_refers_to_member_of_structured_value_expressed_by_Expression_extent.remove( R787_MemberReference_refers_to_member_of_structured_value_expressed_by_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR787_is_used_as_basis_for_MemberReference(MemberReferenceImpl.EMPTY_MEMBERREFERENCE);
            form.setR787_refers_to_member_of_structured_value_expressed_by_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R788_AttributeAccess_refers_to_Attribute( AttributeAccess form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R788_AttributeAccess_refers_to_Attribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR788_is_referenced_by_AttributeAccess(form);
            form.setR788_refers_to_Attribute(part);
            form.setAttr_name( part.getClass_name() );
            form.setAttr_class_package( part.getClass_package() );
            form.setAttr_class_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R788_AttributeAccess_refers_to_Attribute( AttributeAccess form, Attribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R788_AttributeAccess_refers_to_Attribute_extent.remove( R788_AttributeAccess_refers_to_Attribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR788_is_referenced_by_AttributeAccess(form);
            form.setR788_refers_to_Attribute(AttributeImpl.EMPTY_ATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R789_SelectFromInstances_is_a_Select( SelectFromInstances form, Select part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R789_SelectFromInstances_is_a_Select_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR789_is_a_SelectFromInstances(form);
            form.setR789_is_a_Select(part);
            form.setParent_package( part.getParent_package() );
            form.setBlock_number( part.getBlock_number() );
            form.setBody_name( part.getBody_name() );
            form.setExpression_number( part.getExpression_number() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R789_SelectFromInstances_is_a_Select( SelectFromInstances form, Select part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R789_SelectFromInstances_is_a_Select_extent.remove( R789_SelectFromInstances_is_a_Select_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR789_is_a_SelectFromInstances(SelectFromInstancesImpl.EMPTY_SELECTFROMINSTANCES);
            form.setR789_is_a_Select(SelectImpl.EMPTY_SELECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R789_SelectRelated_is_a_Select( SelectRelated form, Select part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R789_SelectRelated_is_a_Select_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR789_is_a_SelectRelated(form);
            form.setR789_is_a_Select(part);
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_name( part.getParent_name() );
            form.setExpression_number( part.getExpression_number() );
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R789_SelectRelated_is_a_Select( SelectRelated form, Select part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R789_SelectRelated_is_a_Select_extent.remove( R789_SelectRelated_is_a_Select_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR789_is_a_SelectRelated(SelectRelatedImpl.EMPTY_SELECTRELATED);
            form.setR789_is_a_Select(SelectImpl.EMPTY_SELECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R790_Where_filters_Expression( Where form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R790_Where_filters_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR790_filtered_by_Where(form);
            form.setR790_filters_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
            form.setBase_expression_number( part.getExpression_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setParent_package( part.getParent_package() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R790_Where_filters_Expression( Where form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R790_Where_filters_Expression_extent.remove( R790_Where_filters_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR790_filtered_by_Where(WhereImpl.EMPTY_WHERE);
            form.setR790_filters_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R791_SelectRelated_selects_instances_linked_from_instance_expressed_by_Expression( SelectRelated form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R791_SelectRelated_selects_instances_linked_from_instance_expressed_by_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR791_is_basis_for_SelectRelated(form);
            form.setR791_selects_instances_linked_from_instance_expressed_by_Expression(part);
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
            form.setRoot_expression_number( part.getExpression_number() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setBody_name( part.getBody_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R791_SelectRelated_selects_instances_linked_from_instance_expressed_by_Expression( SelectRelated form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R791_SelectRelated_selects_instances_linked_from_instance_expressed_by_Expression_extent.remove( R791_SelectRelated_selects_instances_linked_from_instance_expressed_by_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR791_is_basis_for_SelectRelated(SelectRelatedImpl.EMPTY_SELECTRELATED);
            form.setR791_selects_instances_linked_from_instance_expressed_by_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R792_Invocation_invokes_InvocableObject( Invocation form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R792_Invocation_invokes_InvocableObject_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR792_invoked_through_Invocation(form);
            form.setR792_invokes_InvocableObject(part);
            form.setInvoked_parent_package( part.getParent_package() );
            form.setInvoked_parent_name( part.getParent_name() );
            form.setInvoked_name( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R792_Invocation_invokes_InvocableObject( Invocation form, InvocableObject part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R792_Invocation_invokes_InvocableObject_extent.remove( R792_Invocation_invokes_InvocableObject_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR792_invoked_through_Invocation(form);
            form.setR792_invokes_InvocableObject(InvocableObjectImpl.EMPTY_INVOCABLEOBJECT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R793_ActualParameter_Invocation( ActualParameter form, Invocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R793_ActualParameter_Invocation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR793_ActualParameter(form);
            form.setR793_Invocation(part);
            form.setInvocation_expression_number( part.getExpression_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R793_ActualParameter_Invocation( ActualParameter form, Invocation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R793_ActualParameter_Invocation_extent.remove( R793_ActualParameter_Invocation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR793_ActualParameter(form);
            form.setR793_Invocation(InvocationImpl.EMPTY_INVOCATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R794_ActualParameter_parameter_value_specified_by_Expression( ActualParameter form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R794_ActualParameter_parameter_value_specified_by_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR794_defines_value_for_ActualParameter(form);
            form.setR794_parameter_value_specified_by_Expression(part);
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setExpression_number( part.getExpression_number() );
            form.setStatement_number( part.getStatement_number() );
            form.setBody_name( part.getBody_name() );
            form.setParent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R794_ActualParameter_parameter_value_specified_by_Expression( ActualParameter form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R794_ActualParameter_parameter_value_specified_by_Expression_extent.remove( R794_ActualParameter_parameter_value_specified_by_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR794_defines_value_for_ActualParameter(ActualParameterImpl.EMPTY_ACTUALPARAMETER);
            form.setR794_parameter_value_specified_by_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R795_Expression_expresses_value_of_TypeReference( Expression form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R795_Expression_expresses_value_of_TypeReference_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR795_defines_type_of_Expression(form);
            form.setR795_expresses_value_of_TypeReference(part);
            form.setType_name( part.getType_name() );
            form.setType_package( part.getType_package() );
            form.setType_reference_name( part.getType_reference_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R795_Expression_expresses_value_of_TypeReference( Expression form, TypeReference part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R795_Expression_expresses_value_of_TypeReference_extent.remove( R795_Expression_expresses_value_of_TypeReference_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR795_defines_type_of_Expression(form);
            form.setR795_expresses_value_of_TypeReference(TypeReferenceImpl.EMPTY_TYPEREFERENCE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R796_Where_has_condition_Expression( Where form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R796_Where_has_condition_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR796_defines_condtion_for_Where(form);
            form.setR796_has_condition_Expression(part);
            form.setBody_name( part.getBody_name() );
            form.setWhere_expression_number( part.getExpression_number() );
            form.setParent_package( part.getParent_package() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_name( part.getParent_name() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R796_Where_has_condition_Expression( Where form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R796_Where_has_condition_Expression_extent.remove( R796_Where_has_condition_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR796_defines_condtion_for_Where(WhereImpl.EMPTY_WHERE);
            form.setR796_has_condition_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R797_SelectRelated_selects_instances_through_Selector( SelectRelated form, Selector part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R797_SelectRelated_selects_instances_through_Selector_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR797_invoked_by_SelectRelated(form);
            form.setR797_selects_instances_through_Selector(part);
            form.setSelector_name( part.getName() );
            form.setSelector_parent_package( part.getParent_package() );
            form.setSelector_parent_name( part.getParent_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R797_SelectRelated_selects_instances_through_Selector( SelectRelated form, Selector part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R797_SelectRelated_selects_instances_through_Selector_extent.remove( R797_SelectRelated_selects_instances_through_Selector_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR797_invoked_by_SelectRelated(form);
            form.setR797_selects_instances_through_Selector(SelectorImpl.EMPTY_SELECTOR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R798_Invocation_invokes_activity_on_Expression( Invocation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R798_Invocation_invokes_activity_on_Expression_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR798_is_used_as_basis_for_Invocation(form);
            form.setR798_invokes_activity_on_Expression(part);
            form.setBase_expression_number( part.getExpression_number() );
            form.setParent_name( part.getParent_name() );
            form.setBody_name( part.getBody_name() );
            form.setBlock_number( part.getBlock_number() );
            form.setParent_package( part.getParent_package() );
            form.setStatement_number( part.getStatement_number() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R798_Invocation_invokes_activity_on_Expression( Invocation form, Expression part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R798_Invocation_invokes_activity_on_Expression_extent.remove( R798_Invocation_invokes_activity_on_Expression_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR798_is_used_as_basis_for_Invocation(InvocationImpl.EMPTY_INVOCATION);
            form.setR798_invokes_activity_on_Expression(ExpressionImpl.EMPTY_EXPRESSION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R799_SelectFromInstances_selects_instances_through_InstancePopulationSelector( SelectFromInstances form, InstancePopulationSelector part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R799_SelectFromInstances_selects_instances_through_InstancePopulationSelector_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR799_invoked_by_SelectFromInstances(form);
            form.setR799_selects_instances_through_InstancePopulationSelector(part);
            form.setSelector_name( part.getName() );
            form.setSelector_comp_package( part.getComp_package() );
            form.setSelector_comp_name( part.getComp_name() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R799_SelectFromInstances_selects_instances_through_InstancePopulationSelector( SelectFromInstances form, InstancePopulationSelector part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R799_SelectFromInstances_selects_instances_through_InstancePopulationSelector_extent.remove( R799_SelectFromInstances_selects_instances_through_InstancePopulationSelector_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR799_invoked_by_SelectFromInstances(form);
            form.setR799_selects_instances_through_InstancePopulationSelector(InstancePopulationSelectorImpl.EMPTY_INSTANCEPOPULATIONSELECTOR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8000_PackageableElement_contained_by_EP_PKG( PackageableElement form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8000_PackageableElement_contained_by_EP_PKG_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR8000_contains_PackageableElement(form);
            form.setR8000_contained_by_EP_PKG(part);
            form.setPackage_ID( part.getPackage_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8000_PackageableElement_contained_by_EP_PKG( PackageableElement form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8000_PackageableElement_contained_by_EP_PKG_extent.remove( R8000_PackageableElement_contained_by_EP_PKG_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR8000_contains_PackageableElement(form);
            form.setR8000_contained_by_EP_PKG(EP_PKGImpl.EMPTY_EP_PKG);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_ActivityEdge_is_a_PackageableElement( ActivityEdge form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_ActivityEdge_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ActivityEdge(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setId( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_ActivityEdge_is_a_PackageableElement( ActivityEdge form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_ActivityEdge_is_a_PackageableElement_extent.remove( R8001_ActivityEdge_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ActivityEdge(ActivityEdgeImpl.EMPTY_ACTIVITYEDGE);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_ActivityNode_is_a_PackageableElement( ActivityNode form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_ActivityNode_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ActivityNode(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setId( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_ActivityNode_is_a_PackageableElement( ActivityNode form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_ActivityNode_is_a_PackageableElement_extent.remove( R8001_ActivityNode_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ActivityNode(ActivityNodeImpl.EMPTY_ACTIVITYNODE);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_ActivityPartition_is_a_PackageableElement( ActivityPartition form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_ActivityPartition_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ActivityPartition(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setId( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_ActivityPartition_is_a_PackageableElement( ActivityPartition form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_ActivityPartition_is_a_PackageableElement_extent.remove( R8001_ActivityPartition_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ActivityPartition(ActivityPartitionImpl.EMPTY_ACTIVITYPARTITION);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_Association_is_a_PackageableElement( Association form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_Association_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_Association(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setRel_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_Association_is_a_PackageableElement( Association form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_Association_is_a_PackageableElement_extent.remove( R8001_Association_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_Association(AssociationImpl.EMPTY_ASSOCIATION);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_C_C_is_a_PackageableElement( C_C form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_C_C_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_C_C(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setId( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_C_C_is_a_PackageableElement( C_C form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_C_C_is_a_PackageableElement_extent.remove( R8001_C_C_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_C_C(C_CImpl.EMPTY_C_C);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_C_I_is_a_PackageableElement( C_I form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_C_I_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_C_I(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setId( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_C_I_is_a_PackageableElement( C_I form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_C_I_is_a_PackageableElement_extent.remove( R8001_C_I_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_C_I(C_IImpl.EMPTY_C_I);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_ComponentReference_is_a_PackageableElement( ComponentReference form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_ComponentReference_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ComponentReference(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setId( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_ComponentReference_is_a_PackageableElement( ComponentReference form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_ComponentReference_is_a_PackageableElement_extent.remove( R8001_ComponentReference_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ComponentReference(ComponentReferenceImpl.EMPTY_COMPONENTREFERENCE);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_ConstantSpecification_is_a_PackageableElement( ConstantSpecification form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_ConstantSpecification_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ConstantSpecification(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setConstant_Spec_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_ConstantSpecification_is_a_PackageableElement( ConstantSpecification form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_ConstantSpecification_is_a_PackageableElement_extent.remove( R8001_ConstantSpecification_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ConstantSpecification(ConstantSpecificationImpl.EMPTY_CONSTANTSPECIFICATION);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_DataType_is_a_PackageableElement( DataType form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_DataType_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_DataType(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setDT_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_DataType_is_a_PackageableElement( DataType form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_DataType_is_a_PackageableElement_extent.remove( R8001_DataType_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_DataType(DataTypeImpl.EMPTY_DATATYPE);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_Delegation_is_a_PackageableElement( Delegation form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_Delegation_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_Delegation(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setId( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_Delegation_is_a_PackageableElement( Delegation form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_Delegation_is_a_PackageableElement_extent.remove( R8001_Delegation_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_Delegation(DelegationImpl.EMPTY_DELEGATION);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_Deployment_is_a_PackageableElement( Deployment form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_Deployment_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_Deployment(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setDeployment_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_Deployment_is_a_PackageableElement( Deployment form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_Deployment_is_a_PackageableElement_extent.remove( R8001_Deployment_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_Deployment(DeploymentImpl.EMPTY_DEPLOYMENT);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_EP_PKG_is_a_PackageableElement( EP_PKG form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_EP_PKG_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_EP_PKG(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setPackage_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_EP_PKG_is_a_PackageableElement( EP_PKG form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_EP_PKG_is_a_PackageableElement_extent.remove( R8001_EP_PKG_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_EP_PKG(EP_PKGImpl.EMPTY_EP_PKG);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_Exception_is_a_PackageableElement( Exception form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_Exception_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_Exception(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setException_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_Exception_is_a_PackageableElement( Exception form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_Exception_is_a_PackageableElement_extent.remove( R8001_Exception_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_Exception(ExceptionImpl.EMPTY_EXCEPTION);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_ExternalEntity_is_a_PackageableElement( ExternalEntity form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_ExternalEntity_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ExternalEntity(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setEE_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_ExternalEntity_is_a_PackageableElement( ExternalEntity form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_ExternalEntity_is_a_PackageableElement_extent.remove( R8001_ExternalEntity_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ExternalEntity(ExternalEntityImpl.EMPTY_EXTERNALENTITY);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_ImportedClass_is_a_PackageableElement( ImportedClass form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_ImportedClass_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ImportedClass(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setIObj_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_ImportedClass_is_a_PackageableElement( ImportedClass form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_ImportedClass_is_a_PackageableElement_extent.remove( R8001_ImportedClass_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ImportedClass(ImportedClassImpl.EMPTY_IMPORTEDCLASS);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_InteractionParticipant_is_a_PackageableElement( InteractionParticipant form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_InteractionParticipant_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_InteractionParticipant(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setPart_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_InteractionParticipant_is_a_PackageableElement( InteractionParticipant form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_InteractionParticipant_is_a_PackageableElement_extent.remove( R8001_InteractionParticipant_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_MSG_M_is_a_PackageableElement( MSG_M form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_MSG_M_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_MSG_M(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setMsg_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_MSG_M_is_a_PackageableElement( MSG_M form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_MSG_M_is_a_PackageableElement_extent.remove( R8001_MSG_M_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_MSG_M(MSG_MImpl.EMPTY_MSG_M);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_ModelClass_is_a_PackageableElement( ModelClass form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_ModelClass_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ModelClass(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setObj_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_ModelClass_is_a_PackageableElement( ModelClass form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_ModelClass_is_a_PackageableElement_extent.remove( R8001_ModelClass_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_S_SYNC_is_a_PackageableElement( S_SYNC form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_S_SYNC_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_S_SYNC(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setSync_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_S_SYNC_is_a_PackageableElement( S_SYNC form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_S_SYNC_is_a_PackageableElement_extent.remove( R8001_S_SYNC_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_S_SYNC(S_SYNCImpl.EMPTY_S_SYNC);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_Satisfaction_is_a_PackageableElement( Satisfaction form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_Satisfaction_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_Satisfaction(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setId( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_Satisfaction_is_a_PackageableElement( Satisfaction form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_Satisfaction_is_a_PackageableElement_extent.remove( R8001_Satisfaction_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_Satisfaction(SatisfactionImpl.EMPTY_SATISFACTION);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8001_UseCaseAssociation_is_a_PackageableElement( UseCaseAssociation form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8001_UseCaseAssociation_is_a_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_UseCaseAssociation(form);
            form.setR8001_is_a_PackageableElement(part);
            form.setAssoc_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8001_UseCaseAssociation_is_a_PackageableElement( UseCaseAssociation form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8001_UseCaseAssociation_is_a_PackageableElement_extent.remove( R8001_UseCaseAssociation_is_a_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR8001_is_a_UseCaseAssociation(UseCaseAssociationImpl.EMPTY_USECASEASSOCIATION);
            form.setR8001_is_a_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8002_ElementVisibility_has_visibility_of_PackageableElement( ElementVisibility form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8002_ElementVisibility_has_visibility_of_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR8002_is_visible_to_elements_in_ElementVisibility(form);
            form.setR8002_has_visibility_of_PackageableElement(part);
            form.setElement_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8002_ElementVisibility_has_visibility_of_PackageableElement( ElementVisibility form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8002_ElementVisibility_has_visibility_of_PackageableElement_extent.remove( R8002_ElementVisibility_has_visibility_of_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR8002_is_visible_to_elements_in_ElementVisibility(form);
            form.setR8002_has_visibility_of_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8002_ElementVisibility_is_visible_to_elements_in_EP_PKG( ElementVisibility form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8002_ElementVisibility_is_visible_to_elements_in_EP_PKG_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR8002_has_visibility_of_ElementVisibility(form);
            form.setR8002_is_visible_to_elements_in_EP_PKG(part);
            form.setPackage_ID( part.getPackage_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8002_ElementVisibility_is_visible_to_elements_in_EP_PKG( ElementVisibility form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8002_ElementVisibility_is_visible_to_elements_in_EP_PKG_extent.remove( R8002_ElementVisibility_is_visible_to_elements_in_EP_PKG_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR8002_has_visibility_of_ElementVisibility(form);
            form.setR8002_is_visible_to_elements_in_EP_PKG(EP_PKGImpl.EMPTY_EP_PKG);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8003_PackageableElement_contained_in_C_C( PackageableElement form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8003_PackageableElement_contained_in_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR8003_contains_PackageableElement(form);
            form.setR8003_contained_in_C_C(part);
            form.setComponent_ID( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8003_PackageableElement_contained_in_C_C( PackageableElement form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8003_PackageableElement_contained_in_C_C_extent.remove( R8003_PackageableElement_contained_in_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR8003_contains_PackageableElement(form);
            form.setR8003_contained_in_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8004_ComponentVisibility_has_visibility_of_PackageableElement( ComponentVisibility form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8004_ComponentVisibility_has_visibility_of_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR8004_is_visible_to_ComponentVisibility(form);
            form.setR8004_has_visibility_of_PackageableElement(part);
            form.setElement_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8004_ComponentVisibility_has_visibility_of_PackageableElement( ComponentVisibility form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8004_ComponentVisibility_has_visibility_of_PackageableElement_extent.remove( R8004_ComponentVisibility_has_visibility_of_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR8004_is_visible_to_ComponentVisibility(form);
            form.setR8004_has_visibility_of_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8004_ComponentVisibility_is_visible_to_C_C( ComponentVisibility form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8004_ComponentVisibility_is_visible_to_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR8004_has_visibility_of_ComponentVisibility(form);
            form.setR8004_is_visible_to_C_C(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8004_ComponentVisibility_is_visible_to_C_C( ComponentVisibility form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8004_ComponentVisibility_is_visible_to_C_C_extent.remove( R8004_ComponentVisibility_is_visible_to_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR8004_has_visibility_of_ComponentVisibility(form);
            form.setR8004_is_visible_to_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8005_SearchResultSet_held_by_EP_PKG( SearchResultSet form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8005_SearchResultSet_held_by_EP_PKG_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR8005_holds_SearchResultSet(form);
            form.setR8005_held_by_EP_PKG(part);
            form.setPackage_ID( part.getPackage_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8005_SearchResultSet_held_by_EP_PKG( SearchResultSet form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8005_SearchResultSet_held_by_EP_PKG_extent.remove( R8005_SearchResultSet_held_by_EP_PKG_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR8005_holds_SearchResultSet(form);
            form.setR8005_held_by_EP_PKG(EP_PKGImpl.EMPTY_EP_PKG);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8006_ElementVisibility_SearchResultSet( ElementVisibility form, SearchResultSet part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8006_ElementVisibility_SearchResultSet_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR8006_ElementVisibility(form);
            form.setR8006_SearchResultSet(part);
            form.setType( part.getType() );
            form.setPackage_ID( part.getPackage_ID() );
            form.setName( part.getName() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8006_ElementVisibility_SearchResultSet( ElementVisibility form, SearchResultSet part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8006_ElementVisibility_SearchResultSet_extent.remove( R8006_ElementVisibility_SearchResultSet_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR8006_ElementVisibility(form);
            form.setR8006_SearchResultSet(SearchResultSetImpl.EMPTY_SEARCHRESULTSET);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8007_ComponentResultSet_held_by_C_C( ComponentResultSet form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8007_ComponentResultSet_held_by_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR8007_holds_ComponentResultSet(form);
            form.setR8007_held_by_C_C(part);
            form.setId( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8007_ComponentResultSet_held_by_C_C( ComponentResultSet form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8007_ComponentResultSet_held_by_C_C_extent.remove( R8007_ComponentResultSet_held_by_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR8007_holds_ComponentResultSet(form);
            form.setR8007_held_by_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R8008_ComponentVisibility_makes_up_a_ComponentResultSet( ComponentVisibility form, ComponentResultSet part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R8008_ComponentVisibility_makes_up_a_ComponentResultSet_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR8008_made_up_of_ComponentVisibility(form);
            form.setR8008_makes_up_a_ComponentResultSet(part);
            form.setId( part.getId() );
            form.setName( part.getName() );
            form.setType( part.getType() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R8008_ComponentVisibility_makes_up_a_ComponentResultSet( ComponentVisibility form, ComponentResultSet part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R8008_ComponentVisibility_makes_up_a_ComponentResultSet_extent.remove( R8008_ComponentVisibility_makes_up_a_ComponentResultSet_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR8008_made_up_of_ComponentVisibility(form);
            form.setR8008_makes_up_a_ComponentResultSet(ComponentResultSetImpl.EMPTY_COMPONENTRESULTSET);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R800_V_PAR_has_Value( V_PAR form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R800_V_PAR_has_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR800_is_value_of_V_PAR(form);
            form.setR800_has_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R800_V_PAR_has_Value( V_PAR form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R800_V_PAR_has_Value_extent.remove( R800_V_PAR_has_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR800_is_value_of_V_PAR(V_PARImpl.EMPTY_V_PAR);
            form.setR800_has_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_ArrayLengthValue_is_a_Value( ArrayLengthValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_ArrayLengthValue_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_ArrayLengthValue(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_ArrayLengthValue_is_a_Value( ArrayLengthValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_ArrayLengthValue_is_a_Value_extent.remove( R801_ArrayLengthValue_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_ArrayLengthValue(ArrayLengthValueImpl.EMPTY_ARRAYLENGTHVALUE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_AttributeValueReference_is_a_Value( AttributeValueReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_AttributeValueReference_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_AttributeValueReference(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_AttributeValueReference_is_a_Value( AttributeValueReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_AttributeValueReference_is_a_Value_extent.remove( R801_AttributeValueReference_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_AttributeValueReference(AttributeValueReferenceImpl.EMPTY_ATTRIBUTEVALUEREFERENCE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_BridgeValue_is_a_Value( BridgeValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_BridgeValue_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_BridgeValue(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_BridgeValue_is_a_Value( BridgeValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_BridgeValue_is_a_Value_extent.remove( R801_BridgeValue_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_BridgeValue(BridgeValueImpl.EMPTY_BRIDGEVALUE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_EventDatumValue_is_a_Value( EventDatumValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_EventDatumValue_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_EventDatumValue(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_EventDatumValue_is_a_Value( EventDatumValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_EventDatumValue_is_a_Value_extent.remove( R801_EventDatumValue_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_EventDatumValue(EventDatumValueImpl.EMPTY_EVENTDATUMVALUE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_FunctionValue_is_a_Value( FunctionValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_FunctionValue_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_FunctionValue(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_FunctionValue_is_a_Value( FunctionValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_FunctionValue_is_a_Value_extent.remove( R801_FunctionValue_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_FunctionValue(FunctionValueImpl.EMPTY_FUNCTIONVALUE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_InstanceReference_is_a_Value( InstanceReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_InstanceReference_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_InstanceReference(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_InstanceReference_is_a_Value( InstanceReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_InstanceReference_is_a_Value_extent.remove( R801_InstanceReference_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_InstanceReference(InstanceReferenceImpl.EMPTY_INSTANCEREFERENCE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_InstanceSetReference_is_a_Value( InstanceSetReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_InstanceSetReference_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_InstanceSetReference(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_InstanceSetReference_is_a_Value( InstanceSetReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_InstanceSetReference_is_a_Value_extent.remove( R801_InstanceSetReference_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_InstanceSetReference(InstanceSetReferenceImpl.EMPTY_INSTANCESETREFERENCE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_LiteralBoolean_is_a_Value( LiteralBoolean form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_LiteralBoolean_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_LiteralBoolean(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_LiteralBoolean_is_a_Value( LiteralBoolean form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_LiteralBoolean_is_a_Value_extent.remove( R801_LiteralBoolean_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_LiteralBoolean(LiteralBooleanImpl.EMPTY_LITERALBOOLEAN);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_LiteralEnumerator_is_a_Value( LiteralEnumerator form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_LiteralEnumerator_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_LiteralEnumerator(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_LiteralEnumerator_is_a_Value( LiteralEnumerator form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_LiteralEnumerator_is_a_Value_extent.remove( R801_LiteralEnumerator_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_LiteralEnumerator(LiteralEnumeratorImpl.EMPTY_LITERALENUMERATOR);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_LiteralInteger_is_a_Value( LiteralInteger form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_LiteralInteger_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_LiteralInteger(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_LiteralInteger_is_a_Value( LiteralInteger form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_LiteralInteger_is_a_Value_extent.remove( R801_LiteralInteger_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_LiteralInteger(LiteralIntegerImpl.EMPTY_LITERALINTEGER);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_LiteralReal_is_a_Value( LiteralReal form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_LiteralReal_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_LiteralReal(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_LiteralReal_is_a_Value( LiteralReal form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_LiteralReal_is_a_Value_extent.remove( R801_LiteralReal_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_LiteralReal(LiteralRealImpl.EMPTY_LITERALREAL);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_LiteralString_is_a_Value( LiteralString form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_LiteralString_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_LiteralString(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_LiteralString_is_a_Value( LiteralString form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_LiteralString_is_a_Value_extent.remove( R801_LiteralString_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_LiteralString(LiteralStringImpl.EMPTY_LITERALSTRING);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_MemberValueReference_is_a_Value( MemberValueReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_MemberValueReference_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_MemberValueReference(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_MemberValueReference_is_a_Value( MemberValueReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_MemberValueReference_is_a_Value_extent.remove( R801_MemberValueReference_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_MemberValueReference(MemberValueReferenceImpl.EMPTY_MEMBERVALUEREFERENCE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_MessageValue_is_a_Value( MessageValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_MessageValue_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_MessageValue(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_MessageValue_is_a_Value( MessageValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_MessageValue_is_a_Value_extent.remove( R801_MessageValue_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_MessageValue(MessageValueImpl.EMPTY_MESSAGEVALUE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_OperationValue_is_a_Value( OperationValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_OperationValue_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_OperationValue(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_OperationValue_is_a_Value( OperationValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_OperationValue_is_a_Value_extent.remove( R801_OperationValue_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_OperationValue(OperationValueImpl.EMPTY_OPERATIONVALUE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_ParameterValue_is_a_Value( ParameterValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_ParameterValue_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_ParameterValue(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_ParameterValue_is_a_Value( ParameterValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_ParameterValue_is_a_Value_extent.remove( R801_ParameterValue_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_ParameterValue(ParameterValueImpl.EMPTY_PARAMETERVALUE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_SelectedReference_is_a_Value( SelectedReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_SelectedReference_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_SelectedReference(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_SelectedReference_is_a_Value( SelectedReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_SelectedReference_is_a_Value_extent.remove( R801_SelectedReference_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_SelectedReference(SelectedReferenceImpl.EMPTY_SELECTEDREFERENCE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_SymbolicConstantValue_is_a_Value( SymbolicConstantValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_SymbolicConstantValue_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_SymbolicConstantValue(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_SymbolicConstantValue_is_a_Value( SymbolicConstantValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_SymbolicConstantValue_is_a_Value_extent.remove( R801_SymbolicConstantValue_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_SymbolicConstantValue(SymbolicConstantValueImpl.EMPTY_SYMBOLICCONSTANTVALUE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_TransientValueReference_is_a_Value( TransientValueReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_TransientValueReference_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_TransientValueReference(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_TransientValueReference_is_a_Value( TransientValueReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_TransientValueReference_is_a_Value_extent.remove( R801_TransientValueReference_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_TransientValueReference(TransientValueReferenceImpl.EMPTY_TRANSIENTVALUEREFERENCE);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_V_AER_is_a_Value( V_AER form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_V_AER_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_V_AER(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_V_AER_is_a_Value( V_AER form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_V_AER_is_a_Value_extent.remove( R801_V_AER_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_V_AER(V_AERImpl.EMPTY_V_AER);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_V_BIN_is_a_Value( V_BIN form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_V_BIN_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_V_BIN(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_V_BIN_is_a_Value( V_BIN form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_V_BIN_is_a_Value_extent.remove( R801_V_BIN_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_V_BIN(V_BINImpl.EMPTY_V_BIN);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R801_V_UNY_is_a_Value( V_UNY form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R801_V_UNY_is_a_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_V_UNY(form);
            form.setR801_is_a_Value(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R801_V_UNY_is_a_Value( V_UNY form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R801_V_UNY_is_a_Value_extent.remove( R801_V_UNY_is_a_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR801_is_a_V_UNY(V_UNYImpl.EMPTY_V_UNY);
            form.setR801_is_a_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R802_V_BIN_has_left_Value( V_BIN form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R802_V_BIN_has_left_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR802_is_left_operand_to_V_BIN(form);
            form.setR802_has_left_Value(part);
            form.setLeft_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R802_V_BIN_has_left_Value( V_BIN form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R802_V_BIN_has_left_Value_extent.remove( R802_V_BIN_has_left_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR802_is_left_operand_to_V_BIN(V_BINImpl.EMPTY_V_BIN);
            form.setR802_has_left_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R803_V_BIN_has_right_Value( V_BIN form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R803_V_BIN_has_right_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR803_is_right_operand_to_V_BIN(form);
            form.setR803_has_right_Value(part);
            form.setRight_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R803_V_BIN_has_right_Value( V_BIN form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R803_V_BIN_has_right_Value_extent.remove( R803_V_BIN_has_right_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR803_is_right_operand_to_V_BIN(V_BINImpl.EMPTY_V_BIN);
            form.setR803_has_right_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R804_V_UNY_has_operand_Value( V_UNY form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R804_V_UNY_has_operand_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR804_is_operand_to_V_UNY(form);
            form.setR804_has_operand_Value(part);
            form.setOperand_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R804_V_UNY_has_operand_Value( V_UNY form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R804_V_UNY_has_operand_Value_extent.remove( R804_V_UNY_has_operand_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR804_is_operand_to_V_UNY(V_UNYImpl.EMPTY_V_UNY);
            form.setR804_has_operand_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R805_TransientValueReference_references_V_VAR( TransientValueReference form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R805_TransientValueReference_references_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR805_TransientValueReference(form);
            form.setR805_references_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R805_TransientValueReference_references_V_VAR( TransientValueReference form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R805_TransientValueReference_references_V_VAR_extent.remove( R805_TransientValueReference_references_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR805_TransientValueReference(form);
            form.setR805_references_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R806_AttributeValueReference_is_value_of_O_ATTR( AttributeValueReference form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R806_AttributeValueReference_is_value_of_O_ATTR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR806_AttributeValueReference(form);
            form.setR806_is_value_of_O_ATTR(part);
            form.setAttr_ID( part.getAttr_ID() );
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R806_AttributeValueReference_is_value_of_O_ATTR( AttributeValueReference form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R806_AttributeValueReference_is_value_of_O_ATTR_extent.remove( R806_AttributeValueReference_is_value_of_O_ATTR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR806_AttributeValueReference(form);
            form.setR806_is_value_of_O_ATTR(O_ATTRImpl.EMPTY_O_ATTR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R807_AttributeValueReference_has_root_Value( AttributeValueReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R807_AttributeValueReference_has_root_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR807_is_root_for_AttributeValueReference(form);
            form.setR807_has_root_Value(part);
            form.setRoot_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R807_AttributeValueReference_has_root_Value( AttributeValueReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R807_AttributeValueReference_has_root_Value_extent.remove( R807_AttributeValueReference_has_root_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR807_is_root_for_AttributeValueReference(AttributeValueReferenceImpl.EMPTY_ATTRIBUTEVALUEREFERENCE);
            form.setR807_has_root_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R808_InstanceReference_refers_to_V_VAR( InstanceReference form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R808_InstanceReference_refers_to_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR808_InstanceReference(form);
            form.setR808_refers_to_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R808_InstanceReference_refers_to_V_VAR( InstanceReference form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R808_InstanceReference_refers_to_V_VAR_extent.remove( R808_InstanceReference_refers_to_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR808_InstanceReference(form);
            form.setR808_refers_to_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R809_InstanceSetReference_refers_to_V_VAR( InstanceSetReference form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R809_InstanceSetReference_refers_to_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR809_InstanceSetReference(form);
            form.setR809_refers_to_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R809_InstanceSetReference_refers_to_V_VAR( InstanceSetReference form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R809_InstanceSetReference_refers_to_V_VAR_extent.remove( R809_InstanceSetReference_refers_to_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR809_InstanceSetReference(form);
            form.setR809_refers_to_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R810_V_PAR_BridgeValue( V_PAR form, BridgeValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R810_V_PAR_BridgeValue_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR810_has_V_PAR(form);
            form.setR810_BridgeValue(part);
            form.setInvocation_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R810_V_PAR_BridgeValue( V_PAR form, BridgeValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R810_V_PAR_BridgeValue_extent.remove( R810_V_PAR_BridgeValue_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR810_has_V_PAR(form);
            form.setR810_BridgeValue(BridgeValueImpl.EMPTY_BRIDGEVALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R811_V_PAR_OperationValue( V_PAR form, OperationValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R811_V_PAR_OperationValue_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR811_has_V_PAR(form);
            form.setR811_OperationValue(part);
            form.setInvocation_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R811_V_PAR_OperationValue( V_PAR form, OperationValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R811_V_PAR_OperationValue_extent.remove( R811_V_PAR_OperationValue_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR811_has_V_PAR(form);
            form.setR811_OperationValue(OperationValueImpl.EMPTY_OPERATIONVALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R812_SelectedReference_member_O_ATTR( SelectedReference form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R812_SelectedReference_member_O_ATTR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR812_SelectedReference(form);
            form.setR812_member_O_ATTR(part);
            form.setAttr_ID( part.getAttr_ID() );
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R812_SelectedReference_member_O_ATTR( SelectedReference form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R812_SelectedReference_member_O_ATTR_extent.remove( R812_SelectedReference_member_O_ATTR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR812_SelectedReference(form);
            form.setR812_member_O_ATTR(O_ATTRImpl.EMPTY_O_ATTR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R814_InstanceHandle_is_a_V_VAR( InstanceHandle form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R814_InstanceHandle_is_a_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR814_is_a_InstanceHandle(form);
            form.setR814_is_a_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R814_InstanceHandle_is_a_V_VAR( InstanceHandle form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R814_InstanceHandle_is_a_V_VAR_extent.remove( R814_InstanceHandle_is_a_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR814_is_a_InstanceHandle(InstanceHandleImpl.EMPTY_INSTANCEHANDLE);
            form.setR814_is_a_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R814_TransientVar_is_a_V_VAR( TransientVar form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R814_TransientVar_is_a_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR814_is_a_TransientVar(form);
            form.setR814_is_a_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R814_TransientVar_is_a_V_VAR( TransientVar form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R814_TransientVar_is_a_V_VAR_extent.remove( R814_TransientVar_is_a_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR814_is_a_TransientVar(TransientVarImpl.EMPTY_TRANSIENTVAR);
            form.setR814_is_a_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R814_V_INS_is_a_V_VAR( V_INS form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R814_V_INS_is_a_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR814_is_a_V_INS(form);
            form.setR814_is_a_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R814_V_INS_is_a_V_VAR( V_INS form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R814_V_INS_is_a_V_VAR_extent.remove( R814_V_INS_is_a_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR814_is_a_V_INS(V_INSImpl.EMPTY_V_INS);
            form.setR814_is_a_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R816_V_PAR_precedes_V_PAR( V_PAR form, V_PAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R816_V_PAR_precedes_V_PAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR816_succeeds_V_PAR(form);
            form.setR816_precedes_V_PAR(part);
            form.setNext_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R816_V_PAR_precedes_V_PAR( V_PAR form, V_PAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R816_V_PAR_precedes_V_PAR_extent.remove( R816_V_PAR_precedes_V_PAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR816_succeeds_V_PAR(V_PARImpl.EMPTY_V_PAR);
            form.setR816_precedes_V_PAR(V_PARImpl.EMPTY_V_PAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R817_V_PAR_FunctionValue( V_PAR form, FunctionValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R817_V_PAR_FunctionValue_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR817_has_V_PAR(form);
            form.setR817_FunctionValue(part);
            form.setInvocation_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R817_V_PAR_FunctionValue( V_PAR form, FunctionValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R817_V_PAR_FunctionValue_extent.remove( R817_V_PAR_FunctionValue_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR817_has_V_PAR(form);
            form.setR817_FunctionValue(FunctionValueImpl.EMPTY_FUNCTIONVALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R818_InstanceHandle_refers_to_ModelClass( InstanceHandle form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R818_InstanceHandle_refers_to_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR818_InstanceHandle(form);
            form.setR818_refers_to_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R818_InstanceHandle_refers_to_ModelClass( InstanceHandle form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R818_InstanceHandle_refers_to_ModelClass_extent.remove( R818_InstanceHandle_refers_to_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR818_InstanceHandle(form);
            form.setR818_refers_to_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R819_V_INS_refers_to_ModelClass( V_INS form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R819_V_INS_refers_to_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR819_V_INS(form);
            form.setR819_refers_to_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R819_V_INS_refers_to_ModelClass( V_INS form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R819_V_INS_refers_to_ModelClass_extent.remove( R819_V_INS_refers_to_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR819_V_INS(form);
            form.setR819_refers_to_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R820_Value_has_type_DataType( Value form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R820_Value_has_type_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR820_is_type_of_Value(form);
            form.setR820_has_type_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R820_Value_has_type_DataType( Value form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R820_Value_has_type_DataType_extent.remove( R820_Value_has_type_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR820_is_type_of_Value(form);
            form.setR820_has_type_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R821_TransientVar_has_DataType( TransientVar form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R821_TransientVar_has_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR821_is_type_of_TransientVar(form);
            form.setR821_has_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R821_TransientVar_has_DataType( TransientVar form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R821_TransientVar_has_DataType_extent.remove( R821_TransientVar_has_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR821_is_type_of_TransientVar(form);
            form.setR821_has_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R823_V_VAR_Block( V_VAR form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R823_V_VAR_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR823_is_scope_for_V_VAR(form);
            form.setR823_Block(part);
            form.setBlock_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R823_V_VAR_Block( V_VAR form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R823_V_VAR_Block_extent.remove( R823_V_VAR_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR823_is_scope_for_V_VAR(form);
            form.setR823_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R824_LiteralEnumerator_has_value_S_ENUM( LiteralEnumerator form, S_ENUM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R824_LiteralEnumerator_has_value_S_ENUM_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR824_is_value_of_LiteralEnumerator(form);
            form.setR824_has_value_S_ENUM(part);
            form.setEnum_ID( part.getEnum_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R824_LiteralEnumerator_has_value_S_ENUM( LiteralEnumerator form, S_ENUM part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R824_LiteralEnumerator_has_value_S_ENUM_extent.remove( R824_LiteralEnumerator_has_value_S_ENUM_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR824_is_value_of_LiteralEnumerator(form);
            form.setR824_has_value_S_ENUM(S_ENUMImpl.EMPTY_S_ENUM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R825_SelectedReference_value_OperationValue( SelectedReference form, OperationValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R825_SelectedReference_value_OperationValue_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR825_SelectedReference(form);
            form.setR825_value_OperationValue(part);
            form.setOp_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R825_SelectedReference_value_OperationValue( SelectedReference form, OperationValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R825_SelectedReference_value_OperationValue_extent.remove( R825_SelectedReference_value_OperationValue_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR825_SelectedReference(SelectedReferenceImpl.EMPTY_SELECTEDREFERENCE);
            form.setR825_value_OperationValue(OperationValueImpl.EMPTY_OPERATIONVALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R826_Value_has_scope_Block( Value form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R826_Value_has_scope_Block_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR826_defines_scope_of_Value(form);
            form.setR826_has_scope_Block(part);
            form.setBlock_ID( part.getBlock_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R826_Value_has_scope_Block( Value form, Block part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R826_Value_has_scope_Block_extent.remove( R826_Value_has_scope_Block_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR826_defines_scope_of_Value(form);
            form.setR826_has_scope_Block(BlockImpl.EMPTY_BLOCK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R827_FunctionValue_S_SYNC( FunctionValue form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R827_FunctionValue_S_SYNC_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR827_FunctionValue(form);
            form.setR827_S_SYNC(part);
            form.setSync_ID( part.getSync_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R827_FunctionValue_S_SYNC( FunctionValue form, S_SYNC part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R827_FunctionValue_S_SYNC_extent.remove( R827_FunctionValue_S_SYNC_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR827_FunctionValue(form);
            form.setR827_S_SYNC(S_SYNCImpl.EMPTY_S_SYNC);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R828_BridgeValue_Bridge( BridgeValue form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R828_BridgeValue_Bridge_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR828_BridgeValue(form);
            form.setR828_Bridge(part);
            form.setBrg_ID( part.getBrg_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R828_BridgeValue_Bridge( BridgeValue form, Bridge part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R828_BridgeValue_Bridge_extent.remove( R828_BridgeValue_Bridge_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR828_BridgeValue(form);
            form.setR828_Bridge(BridgeImpl.EMPTY_BRIDGE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R829_OperationValue_O_TFR( OperationValue form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R829_OperationValue_O_TFR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR829_OperationValue(form);
            form.setR829_O_TFR(part);
            form.setTfr_ID( part.getTfr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R829_OperationValue_O_TFR( OperationValue form, O_TFR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R829_OperationValue_O_TFR_extent.remove( R829_OperationValue_O_TFR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR829_OperationValue(form);
            form.setR829_O_TFR(O_TFRImpl.EMPTY_O_TFR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R830_OperationValue_V_VAR( OperationValue form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R830_OperationValue_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR830_variable_OperationValue(form);
            form.setR830_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R830_OperationValue_V_VAR( OperationValue form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R830_OperationValue_V_VAR_extent.remove( R830_OperationValue_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR830_variable_OperationValue(form);
            form.setR830_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R831_ParameterValue_is_a_value_of_BridgeParameter( ParameterValue form, BridgeParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R831_ParameterValue_is_a_value_of_BridgeParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR831_ParameterValue(form);
            form.setR831_is_a_value_of_BridgeParameter(part);
            form.setBParm_ID( part.getBParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R831_ParameterValue_is_a_value_of_BridgeParameter( ParameterValue form, BridgeParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R831_ParameterValue_is_a_value_of_BridgeParameter_extent.remove( R831_ParameterValue_is_a_value_of_BridgeParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR831_ParameterValue(form);
            form.setR831_is_a_value_of_BridgeParameter(BridgeParameterImpl.EMPTY_BRIDGEPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R832_ParameterValue_is_a_value_of_FunctionParameter( ParameterValue form, FunctionParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R832_ParameterValue_is_a_value_of_FunctionParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR832_ParameterValue(form);
            form.setR832_is_a_value_of_FunctionParameter(part);
            form.setSParm_ID( part.getSParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R832_ParameterValue_is_a_value_of_FunctionParameter( ParameterValue form, FunctionParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R832_ParameterValue_is_a_value_of_FunctionParameter_extent.remove( R832_ParameterValue_is_a_value_of_FunctionParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR832_ParameterValue(form);
            form.setR832_is_a_value_of_FunctionParameter(FunctionParameterImpl.EMPTY_FUNCTIONPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R833_ParameterValue_is_a_value_of_OperationParameter( ParameterValue form, OperationParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R833_ParameterValue_is_a_value_of_OperationParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR833_ParameterValue(form);
            form.setR833_is_a_value_of_OperationParameter(part);
            form.setTParm_ID( part.getTParm_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R833_ParameterValue_is_a_value_of_OperationParameter( ParameterValue form, OperationParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R833_ParameterValue_is_a_value_of_OperationParameter_extent.remove( R833_ParameterValue_is_a_value_of_OperationParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR833_ParameterValue(form);
            form.setR833_is_a_value_of_OperationParameter(OperationParameterImpl.EMPTY_OPERATIONPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R834_EventParameterReference_EventDatumValue( EventParameterReference form, EventDatumValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R834_EventParameterReference_EventDatumValue_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR834_EventParameterReference(form);
            form.setR834_EventDatumValue(part);
            form.setValue_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R834_EventParameterReference_EventDatumValue( EventParameterReference form, EventDatumValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R834_EventParameterReference_EventDatumValue_extent.remove( R834_EventParameterReference_EventDatumValue_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR834_EventParameterReference(form);
            form.setR834_EventDatumValue(EventDatumValueImpl.EMPTY_EVENTDATUMVALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R835_VariableLocation_V_VAR( VariableLocation form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R835_VariableLocation_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR835_VariableLocation(form);
            form.setR835_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R835_VariableLocation_V_VAR( VariableLocation form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R835_VariableLocation_V_VAR_extent.remove( R835_VariableLocation_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR835_VariableLocation(form);
            form.setR835_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R836_MemberValueReference_is_value_of_StructureMember( MemberValueReference form, StructureMember part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R836_MemberValueReference_is_value_of_StructureMember_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR836_MemberValueReference(form);
            form.setR836_is_value_of_StructureMember(part);
            form.setMember_ID( part.getMember_ID() );
            form.setDT_DT_ID( part.getParent_DT_DT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R836_MemberValueReference_is_value_of_StructureMember( MemberValueReference form, StructureMember part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R836_MemberValueReference_is_value_of_StructureMember_extent.remove( R836_MemberValueReference_is_value_of_StructureMember_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR836_MemberValueReference(form);
            form.setR836_is_value_of_StructureMember(StructureMemberImpl.EMPTY_STRUCTUREMEMBER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R837_MemberValueReference_Value( MemberValueReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R837_MemberValueReference_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR837_is_root_for_MemberValueReference(form);
            form.setR837_Value(part);
            form.setRoot_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R837_MemberValueReference_Value( MemberValueReference form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R837_MemberValueReference_Value_extent.remove( R837_MemberValueReference_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR837_is_root_for_MemberValueReference(MemberValueReferenceImpl.EMPTY_MEMBERVALUEREFERENCE);
            form.setR837_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R838_V_AER_has_root_Value( V_AER form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R838_V_AER_has_root_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR838_is_root_for_V_AER(form);
            form.setR838_has_root_Value(part);
            form.setRoot_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R838_V_AER_has_root_Value( V_AER form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R838_V_AER_has_root_Value_extent.remove( R838_V_AER_has_root_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR838_is_root_for_V_AER(V_AERImpl.EMPTY_V_AER);
            form.setR838_has_root_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R839_V_AER_has_index_Value( V_AER form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R839_V_AER_has_index_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR839_provides_index_of_V_AER(form);
            form.setR839_has_index_Value(part);
            form.setIndex_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R839_V_AER_has_index_Value( V_AER form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R839_V_AER_has_index_Value_extent.remove( R839_V_AER_has_index_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR839_provides_index_of_V_AER(V_AERImpl.EMPTY_V_AER);
            form.setR839_has_index_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R840_ArrayLengthValue_returns_length_of_Value( ArrayLengthValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R840_ArrayLengthValue_returns_length_of_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR840_has_length_returned_by_ArrayLengthValue(form);
            form.setR840_returns_length_of_Value(part);
            form.setArray_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R840_ArrayLengthValue_returns_length_of_Value( ArrayLengthValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R840_ArrayLengthValue_returns_length_of_Value_extent.remove( R840_ArrayLengthValue_returns_length_of_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR840_has_length_returned_by_ArrayLengthValue(ArrayLengthValueImpl.EMPTY_ARRAYLENGTHVALUE);
            form.setR840_returns_length_of_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R841_MessageValue_ProvidedExecutableProperty( MessageValue form, ProvidedExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R841_MessageValue_ProvidedExecutableProperty_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR841_MessageValue(form);
            form.setR841_ProvidedExecutableProperty(part);
            form.setPEP_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R841_MessageValue_ProvidedExecutableProperty( MessageValue form, ProvidedExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R841_MessageValue_ProvidedExecutableProperty_extent.remove( R841_MessageValue_ProvidedExecutableProperty_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR841_MessageValue(form);
            form.setR841_ProvidedExecutableProperty(ProvidedExecutablePropertyImpl.EMPTY_PROVIDEDEXECUTABLEPROPERTY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R842_V_PAR_MessageValue( V_PAR form, MessageValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R842_V_PAR_MessageValue_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR842_has_V_PAR(form);
            form.setR842_MessageValue(part);
            form.setInvocation_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R842_V_PAR_MessageValue( V_PAR form, MessageValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R842_V_PAR_MessageValue_extent.remove( R842_V_PAR_MessageValue_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR842_has_V_PAR(form);
            form.setR842_MessageValue(MessageValueImpl.EMPTY_MESSAGEVALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R843_ParameterValue_is_a_value_of_PropertyParameter( ParameterValue form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R843_ParameterValue_is_a_value_of_PropertyParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR843_ParameterValue(form);
            form.setR843_is_a_value_of_PropertyParameter(part);
            form.setPP_Id( part.getPP_Id() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R843_ParameterValue_is_a_value_of_PropertyParameter( ParameterValue form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R843_ParameterValue_is_a_value_of_PropertyParameter_extent.remove( R843_ParameterValue_is_a_value_of_PropertyParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR843_ParameterValue(form);
            form.setR843_is_a_value_of_PropertyParameter(PropertyParameterImpl.EMPTY_PROPERTYPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R844_Dimensions_specifies_occurrences_of_TransientVar( Dimensions form, TransientVar part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R844_Dimensions_specifies_occurrences_of_TransientVar_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR844_may_have_Dimensions(form);
            form.setR844_specifies_occurrences_of_TransientVar(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R844_Dimensions_specifies_occurrences_of_TransientVar( Dimensions form, TransientVar part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R844_Dimensions_specifies_occurrences_of_TransientVar_extent.remove( R844_Dimensions_specifies_occurrences_of_TransientVar_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR844_may_have_Dimensions(form);
            form.setR844_specifies_occurrences_of_TransientVar(TransientVarImpl.EMPTY_TRANSIENTVAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R845_MessageValue_RequiredExecutableProperty( MessageValue form, RequiredExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R845_MessageValue_RequiredExecutableProperty_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR845_MessageValue(form);
            form.setR845_RequiredExecutableProperty(part);
            form.setREP_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R845_MessageValue_RequiredExecutableProperty( MessageValue form, RequiredExecutableProperty part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R845_MessageValue_RequiredExecutableProperty_extent.remove( R845_MessageValue_RequiredExecutableProperty_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR845_MessageValue(form);
            form.setR845_RequiredExecutableProperty(RequiredExecutablePropertyImpl.EMPTY_REQUIREDEXECUTABLEPROPERTY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R846_EventParameterReference_StateMachineEventDataItem( EventParameterReference form, StateMachineEventDataItem part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R846_EventParameterReference_StateMachineEventDataItem_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR846_EventParameterReference(form);
            form.setR846_StateMachineEventDataItem(part);
            form.setSM_ID( part.getSM_ID() );
            form.setSMedi_ID( part.getSMedi_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R846_EventParameterReference_StateMachineEventDataItem( EventParameterReference form, StateMachineEventDataItem part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R846_EventParameterReference_StateMachineEventDataItem_extent.remove( R846_EventParameterReference_StateMachineEventDataItem_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR846_EventParameterReference(form);
            form.setR846_StateMachineEventDataItem(StateMachineEventDataItemImpl.EMPTY_STATEMACHINEEVENTDATAITEM);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R847_EventParameterReference_PropertyParameter( EventParameterReference form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R847_EventParameterReference_PropertyParameter_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR847_EventParameterReference(form);
            form.setR847_PropertyParameter(part);
            form.setPP_Id( part.getPP_Id() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R847_EventParameterReference_PropertyParameter( EventParameterReference form, PropertyParameter part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R847_EventParameterReference_PropertyParameter_extent.remove( R847_EventParameterReference_PropertyParameter_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR847_EventParameterReference(form);
            form.setR847_PropertyParameter(PropertyParameterImpl.EMPTY_PROPERTYPARAMETER);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R848_V_VAR_has_DataType( V_VAR form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R848_V_VAR_has_DataType_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR848_is_type_of_V_VAR(form);
            form.setR848_has_DataType(part);
            form.setDT_ID( part.getDT_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R848_V_VAR_has_DataType( V_VAR form, DataType part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R848_V_VAR_has_DataType_extent.remove( R848_V_VAR_has_DataType_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR848_is_type_of_V_VAR(form);
            form.setR848_has_DataType(DataTypeImpl.EMPTY_DATATYPE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R849_Dimensions_specifies_occurrences_of_V_VAR( Dimensions form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R849_Dimensions_specifies_occurrences_of_V_VAR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR849_may_have_Dimensions(form);
            form.setR849_specifies_occurrences_of_V_VAR(part);
            form.setVar_ID( part.getVar_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R849_Dimensions_specifies_occurrences_of_V_VAR( Dimensions form, V_VAR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R849_Dimensions_specifies_occurrences_of_V_VAR_extent.remove( R849_Dimensions_specifies_occurrences_of_V_VAR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR849_may_have_Dimensions(form);
            form.setR849_specifies_occurrences_of_V_VAR(V_VARImpl.EMPTY_V_VAR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R850_SymbolicConstantValue_SymbolicConstant( SymbolicConstantValue form, SymbolicConstant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R850_SymbolicConstantValue_SymbolicConstant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR850_SymbolicConstantValue(form);
            form.setR850_SymbolicConstant(part);
            form.setConst_ID( part.getConst_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R850_SymbolicConstantValue_SymbolicConstant( SymbolicConstantValue form, SymbolicConstant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R850_SymbolicConstantValue_SymbolicConstant_extent.remove( R850_SymbolicConstantValue_SymbolicConstant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR850_SymbolicConstantValue(form);
            form.setR850_SymbolicConstant(SymbolicConstantImpl.EMPTY_SYMBOLICCONSTANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R851_MessageValue_has_target_Value( MessageValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R851_MessageValue_has_target_Value_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR851_is_target_of_MessageValue(form);
            form.setR851_has_target_Value(part);
            form.setTarget_Value_ID( part.getValue_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R851_MessageValue_has_target_Value( MessageValue form, Value part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R851_MessageValue_has_target_Value_extent.remove( R851_MessageValue_has_target_Value_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR851_is_target_of_MessageValue(form);
            form.setR851_has_target_Value(ValueImpl.EMPTY_VALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R9000_SatisfactionInComponent_C_C( SatisfactionInComponent form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R9000_SatisfactionInComponent_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR9000_SatisfactionInComponent(form);
            form.setR9000_C_C(part);
            form.setComponent_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R9000_SatisfactionInComponent_C_C( SatisfactionInComponent form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R9000_SatisfactionInComponent_C_C_extent.remove( R9000_SatisfactionInComponent_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR9000_SatisfactionInComponent(form);
            form.setR9000_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R9000_SatisfactionInComponent_Satisfaction( SatisfactionInComponent form, Satisfaction part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R9000_SatisfactionInComponent_Satisfaction_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR9000_SatisfactionInComponent(form);
            form.setR9000_Satisfaction(part);
            form.setSatisfaction_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R9000_SatisfactionInComponent_Satisfaction( SatisfactionInComponent form, Satisfaction part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R9000_SatisfactionInComponent_Satisfaction_extent.remove( R9000_SatisfactionInComponent_Satisfaction_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR9000_SatisfactionInComponent(SatisfactionInComponentImpl.EMPTY_SATISFACTIONINCOMPONENT);
            form.setR9000_Satisfaction(SatisfactionImpl.EMPTY_SATISFACTION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R9002_DelegationInComponent_C_C( DelegationInComponent form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R9002_DelegationInComponent_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR9002_DelegationInComponent(form);
            form.setR9002_C_C(part);
            form.setComponent_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R9002_DelegationInComponent_C_C( DelegationInComponent form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R9002_DelegationInComponent_C_C_extent.remove( R9002_DelegationInComponent_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR9002_DelegationInComponent(form);
            form.setR9002_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R9002_DelegationInComponent_Delegation( DelegationInComponent form, Delegation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R9002_DelegationInComponent_Delegation_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR9002_DelegationInComponent(form);
            form.setR9002_Delegation(part);
            form.setDelegation_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R9002_DelegationInComponent_Delegation( DelegationInComponent form, Delegation part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R9002_DelegationInComponent_Delegation_extent.remove( R9002_DelegationInComponent_Delegation_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR9002_DelegationInComponent(DelegationInComponentImpl.EMPTY_DELEGATIONINCOMPONENT);
            form.setR9002_Delegation(DelegationImpl.EMPTY_DELEGATION);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R9100_GlobalElementInSystem_PackageableElement( GlobalElementInSystem form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R9100_GlobalElementInSystem_PackageableElement_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR9100_GlobalElementInSystem(form);
            form.setR9100_PackageableElement(part);
            form.setElement_ID( part.getElement_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R9100_GlobalElementInSystem_PackageableElement( GlobalElementInSystem form, PackageableElement part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R9100_GlobalElementInSystem_PackageableElement_extent.remove( R9100_GlobalElementInSystem_PackageableElement_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR9100_GlobalElementInSystem(form);
            form.setR9100_PackageableElement(PackageableElementImpl.EMPTY_PACKAGEABLEELEMENT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R9100_GlobalElementInSystem_SystemModel( GlobalElementInSystem form, SystemModel part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R9100_GlobalElementInSystem_SystemModel_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR9100_GlobalElementInSystem(form);
            form.setR9100_SystemModel(part);
            form.setSys_ID( part.getSys_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R9100_GlobalElementInSystem_SystemModel( GlobalElementInSystem form, SystemModel part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R9100_GlobalElementInSystem_SystemModel_extent.remove( R9100_GlobalElementInSystem_SystemModel_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR9100_GlobalElementInSystem(form);
            form.setR9100_SystemModel(SystemModelImpl.EMPTY_SYSTEMMODEL);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R930_ActorParticipant_is_a_InteractionParticipant( ActorParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R930_ActorParticipant_is_a_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_ActorParticipant(form);
            form.setR930_is_a_InteractionParticipant(part);
            form.setPart_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R930_ActorParticipant_is_a_InteractionParticipant( ActorParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R930_ActorParticipant_is_a_InteractionParticipant_extent.remove( R930_ActorParticipant_is_a_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_ActorParticipant(ActorParticipantImpl.EMPTY_ACTORPARTICIPANT);
            form.setR930_is_a_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R930_ClassInstanceParticipant_is_a_InteractionParticipant( ClassInstanceParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R930_ClassInstanceParticipant_is_a_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_ClassInstanceParticipant(form);
            form.setR930_is_a_InteractionParticipant(part);
            form.setPart_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R930_ClassInstanceParticipant_is_a_InteractionParticipant( ClassInstanceParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R930_ClassInstanceParticipant_is_a_InteractionParticipant_extent.remove( R930_ClassInstanceParticipant_is_a_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_ClassInstanceParticipant(ClassInstanceParticipantImpl.EMPTY_CLASSINSTANCEPARTICIPANT);
            form.setR930_is_a_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R930_ClassParticipant_is_a_InteractionParticipant( ClassParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R930_ClassParticipant_is_a_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_ClassParticipant(form);
            form.setR930_is_a_InteractionParticipant(part);
            form.setPart_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R930_ClassParticipant_is_a_InteractionParticipant( ClassParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R930_ClassParticipant_is_a_InteractionParticipant_extent.remove( R930_ClassParticipant_is_a_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_ClassParticipant(ClassParticipantImpl.EMPTY_CLASSPARTICIPANT);
            form.setR930_is_a_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R930_ComponentParticipant_is_a_InteractionParticipant( ComponentParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R930_ComponentParticipant_is_a_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_ComponentParticipant(form);
            form.setR930_is_a_InteractionParticipant(part);
            form.setPart_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R930_ComponentParticipant_is_a_InteractionParticipant( ComponentParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R930_ComponentParticipant_is_a_InteractionParticipant_extent.remove( R930_ComponentParticipant_is_a_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_ComponentParticipant(ComponentParticipantImpl.EMPTY_COMPONENTPARTICIPANT);
            form.setR930_is_a_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R930_ExternalEntityParticipant_is_a_InteractionParticipant( ExternalEntityParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R930_ExternalEntityParticipant_is_a_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_ExternalEntityParticipant(form);
            form.setR930_is_a_InteractionParticipant(part);
            form.setPart_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R930_ExternalEntityParticipant_is_a_InteractionParticipant( ExternalEntityParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R930_ExternalEntityParticipant_is_a_InteractionParticipant_extent.remove( R930_ExternalEntityParticipant_is_a_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_ExternalEntityParticipant(ExternalEntityParticipantImpl.EMPTY_EXTERNALENTITYPARTICIPANT);
            form.setR930_is_a_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R930_Lifespan_is_a_InteractionParticipant( Lifespan form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R930_Lifespan_is_a_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_Lifespan(form);
            form.setR930_is_a_InteractionParticipant(part);
            form.setPart_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R930_Lifespan_is_a_InteractionParticipant( Lifespan form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R930_Lifespan_is_a_InteractionParticipant_extent.remove( R930_Lifespan_is_a_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_Lifespan(LifespanImpl.EMPTY_LIFESPAN);
            form.setR930_is_a_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R930_PackageParticipant_is_a_InteractionParticipant( PackageParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R930_PackageParticipant_is_a_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_PackageParticipant(form);
            form.setR930_is_a_InteractionParticipant(part);
            form.setPart_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R930_PackageParticipant_is_a_InteractionParticipant( PackageParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R930_PackageParticipant_is_a_InteractionParticipant_extent.remove( R930_PackageParticipant_is_a_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_PackageParticipant(PackageParticipantImpl.EMPTY_PACKAGEPARTICIPANT);
            form.setR930_is_a_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R930_UseCaseParticipant_is_a_InteractionParticipant( UseCaseParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R930_UseCaseParticipant_is_a_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_UseCaseParticipant(form);
            form.setR930_is_a_InteractionParticipant(part);
            form.setPart_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R930_UseCaseParticipant_is_a_InteractionParticipant( UseCaseParticipant form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R930_UseCaseParticipant_is_a_InteractionParticipant_extent.remove( R930_UseCaseParticipant_is_a_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR930_is_a_UseCaseParticipant(UseCaseParticipantImpl.EMPTY_USECASEPARTICIPANT);
            form.setR930_is_a_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R931_TimingMark_marks_a_point_in_time_Lifespan( TimingMark form, Lifespan part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R931_TimingMark_marks_a_point_in_time_Lifespan_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR931_has_a_point_in_time_referenced_by_TimingMark(form);
            form.setR931_marks_a_point_in_time_Lifespan(part);
            form.setPart_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R931_TimingMark_marks_a_point_in_time_Lifespan( TimingMark form, Lifespan part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R931_TimingMark_marks_a_point_in_time_Lifespan_extent.remove( R931_TimingMark_marks_a_point_in_time_Lifespan_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR931_has_a_point_in_time_referenced_by_TimingMark(form);
            form.setR931_marks_a_point_in_time_Lifespan(LifespanImpl.EMPTY_LIFESPAN);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R933_ExternalEntityParticipant_represents_ExternalEntity( ExternalEntityParticipant form, ExternalEntity part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R933_ExternalEntityParticipant_represents_ExternalEntity_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR933_represents_participant_of_ExternalEntityParticipant(form);
            form.setR933_represents_ExternalEntity(part);
            form.setEE_ID( part.getEE_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R933_ExternalEntityParticipant_represents_ExternalEntity( ExternalEntityParticipant form, ExternalEntity part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R933_ExternalEntityParticipant_represents_ExternalEntity_extent.remove( R933_ExternalEntityParticipant_represents_ExternalEntity_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR933_represents_participant_of_ExternalEntityParticipant(form);
            form.setR933_represents_ExternalEntity(ExternalEntityImpl.EMPTY_EXTERNALENTITY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R934_ClassInstanceParticipant_represents_ModelClass( ClassInstanceParticipant form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R934_ClassInstanceParticipant_represents_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR934_represents_participant_of_ClassInstanceParticipant(form);
            form.setR934_represents_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R934_ClassInstanceParticipant_represents_ModelClass( ClassInstanceParticipant form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R934_ClassInstanceParticipant_represents_ModelClass_extent.remove( R934_ClassInstanceParticipant_represents_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR934_represents_participant_of_ClassInstanceParticipant(form);
            form.setR934_represents_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R935_ClassParticipantAttribute_belongs_to_ClassParticipant( ClassParticipantAttribute form, ClassParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R935_ClassParticipantAttribute_belongs_to_ClassParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR935_may_have_ClassParticipantAttribute(form);
            form.setR935_belongs_to_ClassParticipant(part);
            form.setPart_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R935_ClassParticipantAttribute_belongs_to_ClassParticipant( ClassParticipantAttribute form, ClassParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R935_ClassParticipantAttribute_belongs_to_ClassParticipant_extent.remove( R935_ClassParticipantAttribute_belongs_to_ClassParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR935_may_have_ClassParticipantAttribute(form);
            form.setR935_belongs_to_ClassParticipant(ClassParticipantImpl.EMPTY_CLASSPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R936_InstanceAttributeValue_owns_informal_ClassInstanceParticipant( InstanceAttributeValue form, ClassInstanceParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R936_InstanceAttributeValue_owns_informal_ClassInstanceParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR936_contains_informal_InstanceAttributeValue(form);
            form.setR936_owns_informal_ClassInstanceParticipant(part);
            form.setInformal_Part_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R936_InstanceAttributeValue_owns_informal_ClassInstanceParticipant( InstanceAttributeValue form, ClassInstanceParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R936_InstanceAttributeValue_owns_informal_ClassInstanceParticipant_extent.remove( R936_InstanceAttributeValue_owns_informal_ClassInstanceParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR936_contains_informal_InstanceAttributeValue(form);
            form.setR936_owns_informal_ClassInstanceParticipant(ClassInstanceParticipantImpl.EMPTY_CLASSINSTANCEPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R937_InstanceAttributeValue_owns_formal_ClassInstanceParticipant( InstanceAttributeValue form, ClassInstanceParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R937_InstanceAttributeValue_owns_formal_ClassInstanceParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR937_contains_formal_InstanceAttributeValue(form);
            form.setR937_owns_formal_ClassInstanceParticipant(part);
            form.setFormal_Part_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R937_InstanceAttributeValue_owns_formal_ClassInstanceParticipant( InstanceAttributeValue form, ClassInstanceParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R937_InstanceAttributeValue_owns_formal_ClassInstanceParticipant_extent.remove( R937_InstanceAttributeValue_owns_formal_ClassInstanceParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR937_contains_formal_InstanceAttributeValue(form);
            form.setR937_owns_formal_ClassInstanceParticipant(ClassInstanceParticipantImpl.EMPTY_CLASSINSTANCEPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R938_InstanceAttributeValue_references_O_ATTR( InstanceAttributeValue form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R938_InstanceAttributeValue_references_O_ATTR_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR938_defines_InstanceAttributeValue(form);
            form.setR938_references_O_ATTR(part);
            form.setObj_ID( part.getObj_ID() );
            form.setAttr_ID( part.getAttr_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R938_InstanceAttributeValue_references_O_ATTR( InstanceAttributeValue form, O_ATTR part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R938_InstanceAttributeValue_references_O_ATTR_extent.remove( R938_InstanceAttributeValue_references_O_ATTR_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR938_defines_InstanceAttributeValue(form);
            form.setR938_references_O_ATTR(O_ATTRImpl.EMPTY_O_ATTR);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R939_ClassParticipant_represents_ModelClass( ClassParticipant form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R939_ClassParticipant_represents_ModelClass_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR939_represents_participant_of_ClassParticipant(form);
            form.setR939_represents_ModelClass(part);
            form.setObj_ID( part.getObj_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R939_ClassParticipant_represents_ModelClass( ClassParticipant form, ModelClass part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R939_ClassParticipant_represents_ModelClass_extent.remove( R939_ClassParticipant_represents_ModelClass_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR939_represents_participant_of_ClassParticipant(form);
            form.setR939_represents_ModelClass(ModelClassImpl.EMPTY_MODELCLASS);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R940_Lifespan_extends_from_InteractionParticipant( Lifespan form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R940_Lifespan_extends_from_InteractionParticipant_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR940_is_source_of_span_Lifespan(form);
            form.setR940_extends_from_InteractionParticipant(part);
            form.setSource_Part_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R940_Lifespan_extends_from_InteractionParticipant( Lifespan form, InteractionParticipant part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R940_Lifespan_extends_from_InteractionParticipant_extent.remove( R940_Lifespan_extends_from_InteractionParticipant_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR940_is_source_of_span_Lifespan(LifespanImpl.EMPTY_LIFESPAN);
            form.setR940_extends_from_InteractionParticipant(InteractionParticipantImpl.EMPTY_INTERACTIONPARTICIPANT);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R941_TimeSpan_span_begins_at_TimingMark( TimeSpan form, TimingMark part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R941_TimeSpan_span_begins_at_TimingMark_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR941_defines_start_of_TimeSpan(form);
            form.setR941_span_begins_at_TimingMark(part);
            form.setPrev_Mark_ID( part.getMark_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R941_TimeSpan_span_begins_at_TimingMark( TimeSpan form, TimingMark part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R941_TimeSpan_span_begins_at_TimingMark_extent.remove( R941_TimeSpan_span_begins_at_TimingMark_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR941_defines_start_of_TimeSpan(form);
            form.setR941_span_begins_at_TimingMark(TimingMarkImpl.EMPTY_TIMINGMARK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R942_TimeSpan_span_ends_at_TimingMark( TimeSpan form, TimingMark part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R942_TimeSpan_span_ends_at_TimingMark_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR942_defines_end_of_TimeSpan(form);
            form.setR942_span_ends_at_TimingMark(part);
            form.setMark_ID( part.getMark_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R942_TimeSpan_span_ends_at_TimingMark( TimeSpan form, TimingMark part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R942_TimeSpan_span_ends_at_TimingMark_extent.remove( R942_TimeSpan_span_ends_at_TimingMark_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR942_defines_end_of_TimeSpan(form);
            form.setR942_span_ends_at_TimingMark(TimingMarkImpl.EMPTY_TIMINGMARK);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R947_FormalAttribute_is_a_ClassParticipantAttribute( FormalAttribute form, ClassParticipantAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R947_FormalAttribute_is_a_ClassParticipantAttribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR947_is_a_FormalAttribute(form);
            form.setR947_is_a_ClassParticipantAttribute(part);
            form.setIa_ID( part.getIa_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R947_FormalAttribute_is_a_ClassParticipantAttribute( FormalAttribute form, ClassParticipantAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R947_FormalAttribute_is_a_ClassParticipantAttribute_extent.remove( R947_FormalAttribute_is_a_ClassParticipantAttribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR947_is_a_FormalAttribute(FormalAttributeImpl.EMPTY_FORMALATTRIBUTE);
            form.setR947_is_a_ClassParticipantAttribute(ClassParticipantAttributeImpl.EMPTY_CLASSPARTICIPANTATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R947_InformalAttribute_is_a_ClassParticipantAttribute( InformalAttribute form, ClassParticipantAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R947_InformalAttribute_is_a_ClassParticipantAttribute_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR947_is_a_InformalAttribute(form);
            form.setR947_is_a_ClassParticipantAttribute(part);
            form.setIa_ID( part.getIa_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R947_InformalAttribute_is_a_ClassParticipantAttribute( InformalAttribute form, ClassParticipantAttribute part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R947_InformalAttribute_is_a_ClassParticipantAttribute_extent.remove( R947_InformalAttribute_is_a_ClassParticipantAttribute_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR947_is_a_InformalAttribute(InformalAttributeImpl.EMPTY_INFORMALATTRIBUTE);
            form.setR947_is_a_ClassParticipantAttribute(ClassParticipantAttributeImpl.EMPTY_CLASSPARTICIPANTATTRIBUTE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R948_FormalAttributeValue_is_a_InstanceAttributeValue( FormalAttributeValue form, InstanceAttributeValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R948_FormalAttributeValue_is_a_InstanceAttributeValue_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR948_is_a_FormalAttributeValue(form);
            form.setR948_is_a_InstanceAttributeValue(part);
            form.setAv_ID( part.getAv_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R948_FormalAttributeValue_is_a_InstanceAttributeValue( FormalAttributeValue form, InstanceAttributeValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R948_FormalAttributeValue_is_a_InstanceAttributeValue_extent.remove( R948_FormalAttributeValue_is_a_InstanceAttributeValue_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR948_is_a_FormalAttributeValue(FormalAttributeValueImpl.EMPTY_FORMALATTRIBUTEVALUE);
            form.setR948_is_a_InstanceAttributeValue(InstanceAttributeValueImpl.EMPTY_INSTANCEATTRIBUTEVALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R948_InformalAttributeValue_is_a_InstanceAttributeValue( InformalAttributeValue form, InstanceAttributeValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R948_InformalAttributeValue_is_a_InstanceAttributeValue_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR948_is_a_InformalAttributeValue(form);
            form.setR948_is_a_InstanceAttributeValue(part);
            form.setAv_ID( part.getAv_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R948_InformalAttributeValue_is_a_InstanceAttributeValue( InformalAttributeValue form, InstanceAttributeValue part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R948_InformalAttributeValue_is_a_InstanceAttributeValue_extent.remove( R948_InformalAttributeValue_is_a_InstanceAttributeValue_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR948_is_a_InformalAttributeValue(InformalAttributeValueImpl.EMPTY_INFORMALATTRIBUTEVALUE);
            form.setR948_is_a_InstanceAttributeValue(InstanceAttributeValueImpl.EMPTY_INSTANCEATTRIBUTEVALUE);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R949_ActorParticipant_life_is_bounded_by_Lifespan( ActorParticipant form, Lifespan part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R949_ActorParticipant_life_is_bounded_by_Lifespan_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR949_defines_bounds_of_existence_ActorParticipant(form);
            form.setR949_life_is_bounded_by_Lifespan(part);
            form.setLS_Part_ID( part.getPart_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R949_ActorParticipant_life_is_bounded_by_Lifespan( ActorParticipant form, Lifespan part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R949_ActorParticipant_life_is_bounded_by_Lifespan_extent.remove( R949_ActorParticipant_life_is_bounded_by_Lifespan_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.setR949_defines_bounds_of_existence_ActorParticipant(ActorParticipantImpl.EMPTY_ACTORPARTICIPANT);
            form.setR949_life_is_bounded_by_Lifespan(LifespanImpl.EMPTY_LIFESPAN);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R955_ComponentParticipant_represents_C_C( ComponentParticipant form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R955_ComponentParticipant_represents_C_C_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR955_ComponentParticipant(form);
            form.setR955_represents_C_C(part);
            form.setComponent_Id( part.getId() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R955_ComponentParticipant_represents_C_C( ComponentParticipant form, C_C part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R955_ComponentParticipant_represents_C_C_extent.remove( R955_ComponentParticipant_represents_C_C_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR955_ComponentParticipant(form);
            form.setR955_represents_C_C(C_CImpl.EMPTY_C_C);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R956_PackageParticipant_represents_EP_PKG( PackageParticipant form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R956_PackageParticipant_represents_EP_PKG_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR956_represents_participant_of_PackageParticipant(form);
            form.setR956_represents_EP_PKG(part);
            form.setPackage_ID( part.getPackage_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R956_PackageParticipant_represents_EP_PKG( PackageParticipant form, EP_PKG part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R956_PackageParticipant_represents_EP_PKG_extent.remove( R956_PackageParticipant_represents_EP_PKG_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR956_represents_participant_of_PackageParticipant(form);
            form.setR956_represents_EP_PKG(EP_PKGImpl.EMPTY_EP_PKG);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }
    public void relate_R9_ExternalEntityInModel_is_a_presence_in_subsystem_model_of_ExternalEntity( ExternalEntityInModel form, ExternalEntity part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot relate empty instances." );
        // TODO cardinality check
        if ( R9_ExternalEntityInModel_is_a_presence_in_subsystem_model_of_ExternalEntity_extent.add( new Relationship( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.addR9_is_represented_by_ExternalEntityInModel(form);
            form.setR9_is_a_presence_in_subsystem_model_of_ExternalEntity(part);
            form.setEE_ID( part.getEE_ID() );
        }
        else throw new ModelIntegrityException( "Instances could not be related." );
    }

    public void unrelate_R9_ExternalEntityInModel_is_a_presence_in_subsystem_model_of_ExternalEntity( ExternalEntityInModel form, ExternalEntity part ) throws XtumlException {
        if ( null == form || null == part ) throw new BadArgumentException( "Null instances passed." );
        if ( form.isEmpty() || part.isEmpty() ) throw new EmptyInstanceException( "Cannot unrelate empty instances." );
        if ( R9_ExternalEntityInModel_is_a_presence_in_subsystem_model_of_ExternalEntity_extent.remove( R9_ExternalEntityInModel_is_a_presence_in_subsystem_model_of_ExternalEntity_extent.get( form.getInstanceId(), part.getInstanceId() ) ) ) {
            part.removeR9_is_represented_by_ExternalEntityInModel(form);
            form.setR9_is_a_presence_in_subsystem_model_of_ExternalEntity(ExternalEntityImpl.EMPTY_EXTERNALENTITY);
        }
        else throw new ModelIntegrityException( "Instances could not be unrelated." );
    }


    // instance selections
    private ACT_BRKSet ACT_BRK_extent;
    public ACT_BRKSet ACT_BRK_instances() {
        return ACT_BRK_extent;
    }
    private ACT_CONSet ACT_CON_extent;
    public ACT_CONSet ACT_CON_instances() {
        return ACT_CON_extent;
    }
    private ACT_FIOSet ACT_FIO_extent;
    public ACT_FIOSet ACT_FIO_instances() {
        return ACT_FIO_extent;
    }
    private ACT_SELSet ACT_SEL_extent;
    public ACT_SELSet ACT_SEL_instances() {
        return ACT_SEL_extent;
    }
    private ACT_SMTSet ACT_SMT_extent;
    public ACT_SMTSet ACT_SMT_instances() {
        return ACT_SMT_extent;
    }
    private AcceptEventActionSet AcceptEventAction_extent;
    public AcceptEventActionSet AcceptEventAction_instances() {
        return AcceptEventAction_extent;
    }
    private AcceptEventSet AcceptEvent_extent;
    public AcceptEventSet AcceptEvent_instances() {
        return AcceptEvent_extent;
    }
    private AcceptTimeEventActionSet AcceptTimeEventAction_extent;
    public AcceptTimeEventActionSet AcceptTimeEventAction_instances() {
        return AcceptTimeEventAction_extent;
    }
    private ActionHomeSet ActionHome_extent;
    public ActionHomeSet ActionHome_instances() {
        return ActionHome_extent;
    }
    private ActionNodeSet ActionNode_extent;
    public ActionNodeSet ActionNode_instances() {
        return ActionNode_extent;
    }
    private ActionSet Action_extent;
    public ActionSet Action_instances() {
        return Action_extent;
    }
    private ActivityDiagramActionSet ActivityDiagramAction_extent;
    public ActivityDiagramActionSet ActivityDiagramAction_instances() {
        return ActivityDiagramAction_extent;
    }
    private ActivityEdgeSet ActivityEdge_extent;
    public ActivityEdgeSet ActivityEdge_instances() {
        return ActivityEdge_extent;
    }
    private ActivityFinalNodeSet ActivityFinalNode_extent;
    public ActivityFinalNodeSet ActivityFinalNode_instances() {
        return ActivityFinalNode_extent;
    }
    private ActivityNodeSet ActivityNode_extent;
    public ActivityNodeSet ActivityNode_instances() {
        return ActivityNode_extent;
    }
    private ActivityPartitionSet ActivityPartition_extent;
    public ActivityPartitionSet ActivityPartition_instances() {
        return ActivityPartition_extent;
    }
    private ActorParticipantSet ActorParticipant_extent;
    public ActorParticipantSet ActorParticipant_instances() {
        return ActorParticipant_extent;
    }
    private ActualParameterSet ActualParameter_extent;
    public ActualParameterSet ActualParameter_instances() {
        return ActualParameter_extent;
    }
    private AnySet Any_extent;
    public AnySet Any_instances() {
        return Any_extent;
    }
    private ApplicationExecutorSet ApplicationExecutor_extent;
    public ApplicationExecutorSet ApplicationExecutor_instances() {
        return ApplicationExecutor_extent;
    }
    private ApplicationSet Application_extent;
    public ApplicationSet Application_instances() {
        return Application_extent;
    }
    private ArrayElementReferenceSet ArrayElementReference_extent;
    public ArrayElementReferenceSet ArrayElementReference_instances() {
        return ArrayElementReference_extent;
    }
    private ArrayLengthAccessSet ArrayLengthAccess_extent;
    public ArrayLengthAccessSet ArrayLengthAccess_instances() {
        return ArrayLengthAccess_extent;
    }
    private ArrayLengthValueSet ArrayLengthValue_extent;
    public ArrayLengthValueSet ArrayLengthValue_instances() {
        return ArrayLengthValue_extent;
    }
    private ArrayTypeReferenceSet ArrayTypeReference_extent;
    public ArrayTypeReferenceSet ArrayTypeReference_instances() {
        return ArrayTypeReference_extent;
    }
    private AssignToMemberSet AssignToMember_extent;
    public AssignToMemberSet AssignToMember_instances() {
        return AssignToMember_extent;
    }
    private AssociationSerializerLoaderSet AssociationSerializerLoader_extent;
    public AssociationSerializerLoaderSet AssociationSerializerLoader_instances() {
        return AssociationSerializerLoader_extent;
    }
    private AssociationSet Association_extent;
    public AssociationSet Association_instances() {
        return Association_extent;
    }
    private AsynchronousMessageSet AsynchronousMessage_extent;
    public AsynchronousMessageSet AsynchronousMessage_instances() {
        return AsynchronousMessage_extent;
    }
    private AttributeAccessSet AttributeAccess_extent;
    public AttributeAccessSet AttributeAccess_instances() {
        return AttributeAccess_extent;
    }
    private AttributeAccessorSet AttributeAccessor_extent;
    public AttributeAccessorSet AttributeAccessor_instances() {
        return AttributeAccessor_extent;
    }
    private AttributeComparisonSet AttributeComparison_extent;
    public AttributeComparisonSet AttributeComparison_instances() {
        return AttributeComparison_extent;
    }
    private AttributeDerivationSet AttributeDerivation_extent;
    public AttributeDerivationSet AttributeDerivation_instances() {
        return AttributeDerivation_extent;
    }
    private AttributeLoaderSet AttributeLoader_extent;
    public AttributeLoaderSet AttributeLoader_instances() {
        return AttributeLoader_extent;
    }
    private AttributeReferenceInClassSet AttributeReferenceInClass_extent;
    public AttributeReferenceInClassSet AttributeReferenceInClass_instances() {
        return AttributeReferenceInClass_extent;
    }
    private AttributeReferenceSet AttributeReference_extent;
    public AttributeReferenceSet AttributeReference_instances() {
        return AttributeReference_extent;
    }
    private AttributeSerializerSet AttributeSerializer_extent;
    public AttributeSerializerSet AttributeSerializer_instances() {
        return AttributeSerializer_extent;
    }
    private AttributeValueReferenceSet AttributeValueReference_extent;
    public AttributeValueReferenceSet AttributeValueReference_instances() {
        return AttributeValueReference_extent;
    }
    private AttributeValueSet AttributeValue_extent;
    public AttributeValueSet AttributeValue_instances() {
        return AttributeValue_extent;
    }
    private AttributeSet Attribute_extent;
    public AttributeSet Attribute_instances() {
        return Attribute_extent;
    }
    private BaseAttributeSet BaseAttribute_extent;
    public BaseAttributeSet BaseAttribute_instances() {
        return BaseAttribute_extent;
    }
    private BasicTypeReferenceSet BasicTypeReference_extent;
    public BasicTypeReferenceSet BasicTypeReference_instances() {
        return BasicTypeReference_extent;
    }
    private BatchRelatorSet BatchRelator_extent;
    public BatchRelatorSet BatchRelator_instances() {
        return BatchRelator_extent;
    }
    private BinaryAssociationSet BinaryAssociation_extent;
    public BinaryAssociationSet BinaryAssociation_instances() {
        return BinaryAssociation_extent;
    }
    private BinaryOperationSet BinaryOperation_extent;
    public BinaryOperationSet BinaryOperation_instances() {
        return BinaryOperation_extent;
    }
    private BlockInStackFrameSet BlockInStackFrame_extent;
    public BlockInStackFrameSet BlockInStackFrame_instances() {
        return BlockInStackFrame_extent;
    }
    private BlockSet Block_extent;
    public BlockSet Block_instances() {
        return Block_extent;
    }
    private BodyInComponentSet BodyInComponent_extent;
    public BodyInComponentSet BodyInComponent_instances() {
        return BodyInComponent_extent;
    }
    private BodyInElementSet BodyInElement_extent;
    public BodyInElementSet BodyInElement_instances() {
        return BodyInElement_extent;
    }
    private BodySet Body_extent;
    public BodySet Body_instances() {
        return Body_extent;
    }
    private BooleanLoaderSet BooleanLoader_extent;
    public BooleanLoaderSet BooleanLoader_instances() {
        return BooleanLoader_extent;
    }
    private BooleanSerializerSet BooleanSerializer_extent;
    public BooleanSerializerSet BooleanSerializer_instances() {
        return BooleanSerializer_extent;
    }
    private BreakSmtSet BreakSmt_extent;
    public BreakSmtSet BreakSmt_instances() {
        return BreakSmt_extent;
    }
    private BridgeArgumentSet BridgeArgument_extent;
    public BridgeArgumentSet BridgeArgument_instances() {
        return BridgeArgument_extent;
    }
    private BridgeBodySet BridgeBody_extent;
    public BridgeBodySet BridgeBody_instances() {
        return BridgeBody_extent;
    }
    private BridgeInvocationSet BridgeInvocation_extent;
    public BridgeInvocationSet BridgeInvocation_instances() {
        return BridgeInvocation_extent;
    }
    private BridgeMessageSet BridgeMessage_extent;
    public BridgeMessageSet BridgeMessage_instances() {
        return BridgeMessage_extent;
    }
    private BridgeParameterSet BridgeParameter_extent;
    public BridgeParameterSet BridgeParameter_instances() {
        return BridgeParameter_extent;
    }
    private BridgeValueSet BridgeValue_extent;
    public BridgeValueSet BridgeValue_instances() {
        return BridgeValue_extent;
    }
    private BridgeSet Bridge_extent;
    public BridgeSet Bridge_instances() {
        return Bridge_extent;
    }
    private BuiltInTypeSet BuiltInType_extent;
    public BuiltInTypeSet BuiltInType_instances() {
        return BuiltInType_extent;
    }
    private C_CSet C_C_extent;
    public C_CSet C_C_instances() {
        return C_C_extent;
    }
    private C_ISet C_I_extent;
    public C_ISet C_I_instances() {
        return C_I_extent;
    }
    private C_POSet C_PO_extent;
    public C_POSet C_PO_instances() {
        return C_PO_extent;
    }
    private CantHappenSet CantHappen_extent;
    public CantHappenSet CantHappen_instances() {
        return CantHappen_extent;
    }
    private CardinalityCheckSet CardinalityCheck_extent;
    public CardinalityCheckSet CardinalityCheck_instances() {
        return CardinalityCheck_extent;
    }
    private ChainLinkSet ChainLink_extent;
    public ChainLinkSet ChainLink_instances() {
        return ChainLink_extent;
    }
    private ClassAsAssociatedOneSideSet ClassAsAssociatedOneSide_extent;
    public ClassAsAssociatedOneSideSet ClassAsAssociatedOneSide_instances() {
        return ClassAsAssociatedOneSide_extent;
    }
    private ClassAsAssociatedOtherSideSet ClassAsAssociatedOtherSide_extent;
    public ClassAsAssociatedOtherSideSet ClassAsAssociatedOtherSide_instances() {
        return ClassAsAssociatedOtherSide_extent;
    }
    private ClassAsDerivedOneSideSet ClassAsDerivedOneSide_extent;
    public ClassAsDerivedOneSideSet ClassAsDerivedOneSide_instances() {
        return ClassAsDerivedOneSide_extent;
    }
    private ClassAsDerivedOtherSideSet ClassAsDerivedOtherSide_extent;
    public ClassAsDerivedOtherSideSet ClassAsDerivedOtherSide_instances() {
        return ClassAsDerivedOtherSide_extent;
    }
    private ClassAsLinkSet ClassAsLink_extent;
    public ClassAsLinkSet ClassAsLink_instances() {
        return ClassAsLink_extent;
    }
    private ClassAsSimpleFormalizerSet ClassAsSimpleFormalizer_extent;
    public ClassAsSimpleFormalizerSet ClassAsSimpleFormalizer_instances() {
        return ClassAsSimpleFormalizer_extent;
    }
    private ClassAsSimpleParticipantSet ClassAsSimpleParticipant_extent;
    public ClassAsSimpleParticipantSet ClassAsSimpleParticipant_instances() {
        return ClassAsSimpleParticipant_extent;
    }
    private ClassAsSubtypeSet ClassAsSubtype_extent;
    public ClassAsSubtypeSet ClassAsSubtype_instances() {
        return ClassAsSubtype_extent;
    }
    private ClassAsSupertypeSet ClassAsSupertype_extent;
    public ClassAsSupertypeSet ClassAsSupertype_instances() {
        return ClassAsSupertype_extent;
    }
    private ClassIdentifierAttributeSet ClassIdentifierAttribute_extent;
    public ClassIdentifierAttributeSet ClassIdentifierAttribute_instances() {
        return ClassIdentifierAttribute_extent;
    }
    private ClassIdentifierSet ClassIdentifier_extent;
    public ClassIdentifierSet ClassIdentifier_instances() {
        return ClassIdentifier_extent;
    }
    private ClassInAssociationSet ClassInAssociation_extent;
    public ClassInAssociationSet ClassInAssociation_instances() {
        return ClassInAssociation_extent;
    }
    private ClassInstanceLoaderSet ClassInstanceLoader_extent;
    public ClassInstanceLoaderSet ClassInstanceLoader_instances() {
        return ClassInstanceLoader_extent;
    }
    private ClassInstanceParticipantSet ClassInstanceParticipant_extent;
    public ClassInstanceParticipantSet ClassInstanceParticipant_instances() {
        return ClassInstanceParticipant_extent;
    }
    private ClassInstanceSerializerSet ClassInstanceSerializer_extent;
    public ClassInstanceSerializerSet ClassInstanceSerializer_instances() {
        return ClassInstanceSerializer_extent;
    }
    private ClassParticipantAttributeSet ClassParticipantAttribute_extent;
    public ClassParticipantAttributeSet ClassParticipantAttribute_instances() {
        return ClassParticipantAttribute_extent;
    }
    private ClassParticipantSet ClassParticipant_extent;
    public ClassParticipantSet ClassParticipant_instances() {
        return ClassParticipant_extent;
    }
    private ClassRelationshipSet ClassRelationship_extent;
    public ClassRelationshipSet ClassRelationship_instances() {
        return ClassRelationship_extent;
    }
    private ClassStateMachineSet ClassStateMachine_extent;
    public ClassStateMachineSet ClassStateMachine_instances() {
        return ClassStateMachine_extent;
    }
    private CodeBlockSet CodeBlock_extent;
    public CodeBlockSet CodeBlock_instances() {
        return CodeBlock_extent;
    }
    private CommunicationLinkSet CommunicationLink_extent;
    public CommunicationLinkSet CommunicationLink_instances() {
        return CommunicationLink_extent;
    }
    private ComponentDefinitionSet ComponentDefinition_extent;
    public ComponentDefinitionSet ComponentDefinition_instances() {
        return ComponentDefinition_extent;
    }
    private ComponentInstanceContainerSet ComponentInstanceContainer_extent;
    public ComponentInstanceContainerSet ComponentInstanceContainer_instances() {
        return ComponentInstanceContainer_extent;
    }
    private ComponentInstanceSet ComponentInstance_extent;
    public ComponentInstanceSet ComponentInstance_instances() {
        return ComponentInstance_extent;
    }
    private ComponentInstantiationSet ComponentInstantiation_extent;
    public ComponentInstantiationSet ComponentInstantiation_instances() {
        return ComponentInstantiation_extent;
    }
    private ComponentParticipantSet ComponentParticipant_extent;
    public ComponentParticipantSet ComponentParticipant_instances() {
        return ComponentParticipant_extent;
    }
    private ComponentReferenceSet ComponentReference_extent;
    public ComponentReferenceSet ComponentReference_instances() {
        return ComponentReference_extent;
    }
    private ComponentResultSetSet ComponentResultSet_extent;
    public ComponentResultSetSet ComponentResultSet_instances() {
        return ComponentResultSet_extent;
    }
    private ComponentVisibilitySet ComponentVisibility_extent;
    public ComponentVisibilitySet ComponentVisibility_instances() {
        return ComponentVisibility_extent;
    }
    private ConstantReferenceSet ConstantReference_extent;
    public ConstantReferenceSet ConstantReference_instances() {
        return ConstantReference_extent;
    }
    private ConstantSpecificationSet ConstantSpecification_extent;
    public ConstantSpecificationSet ConstantSpecification_instances() {
        return ConstantSpecification_extent;
    }
    private ContinueSmtSet ContinueSmt_extent;
    public ContinueSmtSet ContinueSmt_instances() {
        return ContinueSmt_extent;
    }
    private ControlNodeSet ControlNode_extent;
    public ControlNodeSet ControlNode_instances() {
        return ControlNode_extent;
    }
    private ControlSet Control_extent;
    public ControlSet Control_instances() {
        return Control_extent;
    }
    private CoreDataTypeSet CoreDataType_extent;
    public CoreDataTypeSet CoreDataType_instances() {
        return CoreDataType_extent;
    }
    private CreateEventStatementSet CreateEventStatement_extent;
    public CreateEventStatementSet CreateEventStatement_instances() {
        return CreateEventStatement_extent;
    }
    private CreateEventToClassSet CreateEventToClass_extent;
    public CreateEventToClassSet CreateEventToClass_instances() {
        return CreateEventToClass_extent;
    }
    private CreateEventToCreatorSet CreateEventToCreator_extent;
    public CreateEventToCreatorSet CreateEventToCreator_instances() {
        return CreateEventToCreator_extent;
    }
    private CreateEventToInstanceSet CreateEventToInstance_extent;
    public CreateEventToInstanceSet CreateEventToInstance_instances() {
        return CreateEventToInstance_extent;
    }
    private CreateNoVariableSet CreateNoVariable_extent;
    public CreateNoVariableSet CreateNoVariable_instances() {
        return CreateNoVariable_extent;
    }
    private CreateSMEventStatementSet CreateSMEventStatement_extent;
    public CreateSMEventStatementSet CreateSMEventStatement_instances() {
        return CreateSMEventStatement_extent;
    }
    private CreateSet Create_extent;
    public CreateSet Create_instances() {
        return Create_extent;
    }
    private CreationTransitionSet CreationTransition_extent;
    public CreationTransitionSet CreationTransition_instances() {
        return CreationTransition_extent;
    }
    private CreationSet Creation_extent;
    public CreationSet Creation_instances() {
        return Creation_extent;
    }
    private DataItemValueSet DataItemValue_extent;
    public DataItemValueSet DataItemValue_instances() {
        return DataItemValue_extent;
    }
    private DataTypeSet DataType_extent;
    public DataTypeSet DataType_instances() {
        return DataType_extent;
    }
    private DecisionMergeNodeSet DecisionMergeNode_extent;
    public DecisionMergeNodeSet DecisionMergeNode_instances() {
        return DecisionMergeNode_extent;
    }
    private DeferralSet Deferral_extent;
    public DeferralSet Deferral_instances() {
        return Deferral_extent;
    }
    private DelegationInComponentSet DelegationInComponent_extent;
    public DelegationInComponentSet DelegationInComponent_instances() {
        return DelegationInComponent_extent;
    }
    private DelegationSet Delegation_extent;
    public DelegationSet Delegation_instances() {
        return Delegation_extent;
    }
    private DeleteSmtSet DeleteSmt_extent;
    public DeleteSmtSet DeleteSmt_instances() {
        return DeleteSmt_extent;
    }
    private DeleteSet Delete_extent;
    public DeleteSet Delete_instances() {
        return Delete_extent;
    }
    private DeploymentSet Deployment_extent;
    public DeploymentSet Deployment_instances() {
        return Deployment_extent;
    }
    private DerivedAssociationSet DerivedAssociation_extent;
    public DerivedAssociationSet DerivedAssociation_instances() {
        return DerivedAssociation_extent;
    }
    private DerivedAttributeBodySet DerivedAttributeBody_extent;
    public DerivedAttributeBodySet DerivedAttributeBody_instances() {
        return DerivedAttributeBody_extent;
    }
    private DerivedBaseAttributeSet DerivedBaseAttribute_extent;
    public DerivedBaseAttributeSet DerivedBaseAttribute_instances() {
        return DerivedBaseAttribute_extent;
    }
    private DimensionsSet Dimensions_extent;
    public DimensionsSet Dimensions_instances() {
        return Dimensions_extent;
    }
    private EP_PKGSet EP_PKG_extent;
    public EP_PKGSet EP_PKG_instances() {
        return EP_PKG_extent;
    }
    private E_GENSet E_GEN_extent;
    public E_GENSet E_GEN_instances() {
        return E_GEN_extent;
    }
    private ElementVisibilitySet ElementVisibility_extent;
    public ElementVisibilitySet ElementVisibility_instances() {
        return ElementVisibility_extent;
    }
    private ElseIfStmtSet ElseIfStmt_extent;
    public ElseIfStmtSet ElseIfStmt_instances() {
        return ElseIfStmt_extent;
    }
    private ElseStmtSet ElseStmt_extent;
    public ElseStmtSet ElseStmt_instances() {
        return ElseStmt_extent;
    }
    private EnumeratedTypeSet EnumeratedType_extent;
    public EnumeratedTypeSet EnumeratedType_instances() {
        return EnumeratedType_extent;
    }
    private EnumerationDataTypeSet EnumerationDataType_extent;
    public EnumerationDataTypeSet EnumerationDataType_instances() {
        return EnumerationDataType_extent;
    }
    private EnumeratorLoaderSet EnumeratorLoader_extent;
    public EnumeratorLoaderSet EnumeratorLoader_instances() {
        return EnumeratorLoader_extent;
    }
    private EnumeratorReferenceSet EnumeratorReference_extent;
    public EnumeratorReferenceSet EnumeratorReference_instances() {
        return EnumeratorReference_extent;
    }
    private EnumeratorSet Enumerator_extent;
    public EnumeratorSet Enumerator_instances() {
        return Enumerator_extent;
    }
    private EventArgumentSet EventArgument_extent;
    public EventArgumentSet EventArgument_instances() {
        return EventArgument_extent;
    }
    private EventCreationSet EventCreation_extent;
    public EventCreationSet EventCreation_instances() {
        return EventCreation_extent;
    }
    private EventDatumValueSet EventDatumValue_extent;
    public EventDatumValueSet EventDatumValue_instances() {
        return EventDatumValue_extent;
    }
    private EventIgnoredSet EventIgnored_extent;
    public EventIgnoredSet EventIgnored_instances() {
        return EventIgnored_extent;
    }
    private EventInstanceLoaderSet EventInstanceLoader_extent;
    public EventInstanceLoaderSet EventInstanceLoader_instances() {
        return EventInstanceLoader_extent;
    }
    private EventInstanceSerializerSet EventInstanceSerializer_extent;
    public EventInstanceSerializerSet EventInstanceSerializer_instances() {
        return EventInstanceSerializer_extent;
    }
    private EventMessageSet EventMessage_extent;
    public EventMessageSet EventMessage_instances() {
        return EventMessage_extent;
    }
    private EventParameterReferenceSet EventParameterReference_extent;
    public EventParameterReferenceSet EventParameterReference_instances() {
        return EventParameterReference_extent;
    }
    private EventQueueEntrySet EventQueueEntry_extent;
    public EventQueueEntrySet EventQueueEntry_instances() {
        return EventQueueEntry_extent;
    }
    private EventSpecificationStatementSet EventSpecificationStatement_extent;
    public EventSpecificationStatementSet EventSpecificationStatement_instances() {
        return EventSpecificationStatement_extent;
    }
    private EventSet Event_extent;
    public EventSet Event_instances() {
        return Event_extent;
    }
    private ExceptionSet Exception_extent;
    public ExceptionSet Exception_instances() {
        return Exception_extent;
    }
    private ExecutablePropertyArgumentSet ExecutablePropertyArgument_extent;
    public ExecutablePropertyArgumentSet ExecutablePropertyArgument_instances() {
        return ExecutablePropertyArgument_extent;
    }
    private ExecutablePropertySet ExecutableProperty_extent;
    public ExecutablePropertySet ExecutableProperty_instances() {
        return ExecutableProperty_extent;
    }
    private ExpressionAsStatementSet ExpressionAsStatement_extent;
    public ExpressionAsStatementSet ExpressionAsStatement_instances() {
        return ExpressionAsStatement_extent;
    }
    private ExpressionSet Expression_extent;
    public ExpressionSet Expression_instances() {
        return Expression_extent;
    }
    private ExtendSet Extend_extent;
    public ExtendSet Extend_instances() {
        return Extend_extent;
    }
    private ExternalEntityInModelSet ExternalEntityInModel_extent;
    public ExternalEntityInModelSet ExternalEntityInModel_instances() {
        return ExternalEntityInModel_extent;
    }
    private ExternalEntityParticipantSet ExternalEntityParticipant_extent;
    public ExternalEntityParticipantSet ExternalEntityParticipant_instances() {
        return ExternalEntityParticipant_extent;
    }
    private ExternalEntitySet ExternalEntity_extent;
    public ExternalEntitySet ExternalEntity_instances() {
        return ExternalEntity_extent;
    }
    private FeatureSet Feature_extent;
    public FeatureSet Feature_instances() {
        return Feature_extent;
    }
    private FileSet File_extent;
    public FileSet File_instances() {
        return File_extent;
    }
    private FinalizationSet Finalization_extent;
    public FinalizationSet Finalization_instances() {
        return Finalization_extent;
    }
    private FlowFinalNodeSet FlowFinalNode_extent;
    public FlowFinalNodeSet FlowFinalNode_instances() {
        return FlowFinalNode_extent;
    }
    private ForSmtSet ForSmt_extent;
    public ForSmtSet ForSmt_instances() {
        return ForSmt_extent;
    }
    private ForStmtSet ForStmt_extent;
    public ForStmtSet ForStmt_instances() {
        return ForStmt_extent;
    }
    private ForkJoinNodeSet ForkJoinNode_extent;
    public ForkJoinNodeSet ForkJoinNode_instances() {
        return ForkJoinNode_extent;
    }
    private FormalAttributeValueSet FormalAttributeValue_extent;
    public FormalAttributeValueSet FormalAttributeValue_instances() {
        return FormalAttributeValue_extent;
    }
    private FormalAttributeSet FormalAttribute_extent;
    public FormalAttributeSet FormalAttribute_instances() {
        return FormalAttribute_extent;
    }
    private FormalParameterSet FormalParameter_extent;
    public FormalParameterSet FormalParameter_instances() {
        return FormalParameter_extent;
    }
    private FunctionArgumentSet FunctionArgument_extent;
    public FunctionArgumentSet FunctionArgument_instances() {
        return FunctionArgument_extent;
    }
    private FunctionBodySet FunctionBody_extent;
    public FunctionBodySet FunctionBody_instances() {
        return FunctionBody_extent;
    }
    private FunctionInvocationSet FunctionInvocation_extent;
    public FunctionInvocationSet FunctionInvocation_instances() {
        return FunctionInvocation_extent;
    }
    private FunctionMessageSet FunctionMessage_extent;
    public FunctionMessageSet FunctionMessage_instances() {
        return FunctionMessage_extent;
    }
    private FunctionParameterSet FunctionParameter_extent;
    public FunctionParameterSet FunctionParameter_instances() {
        return FunctionParameter_extent;
    }
    private FunctionValueSet FunctionValue_extent;
    public FunctionValueSet FunctionValue_instances() {
        return FunctionValue_extent;
    }
    private FunctionSet Function_extent;
    public FunctionSet Function_instances() {
        return Function_extent;
    }
    private GeneralFileSet GeneralFile_extent;
    public GeneralFileSet GeneralFile_instances() {
        return GeneralFile_extent;
    }
    private GeneralLoaderSet GeneralLoader_extent;
    public GeneralLoaderSet GeneralLoader_instances() {
        return GeneralLoader_extent;
    }
    private GeneralSerializerSet GeneralSerializer_extent;
    public GeneralSerializerSet GeneralSerializer_instances() {
        return GeneralSerializer_extent;
    }
    private GeneralizationSet Generalization_extent;
    public GeneralizationSet Generalization_instances() {
        return Generalization_extent;
    }
    private GenerateEventStatementSet GenerateEventStatement_extent;
    public GenerateEventStatementSet GenerateEventStatement_instances() {
        return GenerateEventStatement_extent;
    }
    private GeneratePreexistingEventSet GeneratePreexistingEvent_extent;
    public GeneratePreexistingEventSet GeneratePreexistingEvent_instances() {
        return GeneratePreexistingEvent_extent;
    }
    private GenerateSMEventStatementSet GenerateSMEventStatement_extent;
    public GenerateSMEventStatementSet GenerateSMEventStatement_instances() {
        return GenerateSMEventStatement_extent;
    }
    private GenerateToClassSet GenerateToClass_extent;
    public GenerateToClassSet GenerateToClass_instances() {
        return GenerateToClass_extent;
    }
    private GenerateToCreatorSet GenerateToCreator_extent;
    public GenerateToCreatorSet GenerateToCreator_instances() {
        return GenerateToCreator_extent;
    }
    private GenerateSet Generate_extent;
    public GenerateSet Generate_instances() {
        return Generate_extent;
    }
    private GenericInvocableSet GenericInvocable_extent;
    public GenericInvocableSet GenericInvocable_instances() {
        return GenericInvocable_extent;
    }
    private GlobalElementInSystemSet GlobalElementInSystem_extent;
    public GlobalElementInSystemSet GlobalElementInSystem_instances() {
        return GlobalElementInSystem_extent;
    }
    private HaltSet Halt_extent;
    public HaltSet Halt_instances() {
        return Halt_extent;
    }
    private I_INSSet I_INS_extent;
    public I_INSSet I_INS_instances() {
        return I_INS_extent;
    }
    private IfSmtSet IfSmt_extent;
    public IfSmtSet IfSmt_instances() {
        return IfSmt_extent;
    }
    private IfStmtSet IfStmt_extent;
    public IfStmtSet IfStmt_instances() {
        return IfStmt_extent;
    }
    private IfaceSet Iface_extent;
    public IfaceSet Iface_instances() {
        return Iface_extent;
    }
    private ImportedClassSet ImportedClass_extent;
    public ImportedClassSet ImportedClass_instances() {
        return ImportedClass_extent;
    }
    private ImportedProvisionInSatisfactionSet ImportedProvisionInSatisfaction_extent;
    public ImportedProvisionInSatisfactionSet ImportedProvisionInSatisfaction_instances() {
        return ImportedProvisionInSatisfaction_extent;
    }
    private ImportedProvisionSet ImportedProvision_extent;
    public ImportedProvisionSet ImportedProvision_instances() {
        return ImportedProvision_extent;
    }
    private ImportedReferenceSet ImportedReference_extent;
    public ImportedReferenceSet ImportedReference_instances() {
        return ImportedReference_extent;
    }
    private ImportedRequirementSet ImportedRequirement_extent;
    public ImportedRequirementSet ImportedRequirement_instances() {
        return ImportedRequirement_extent;
    }
    private IncludeSet Include_extent;
    public IncludeSet Include_instances() {
        return Include_extent;
    }
    private InformalArgumentSet InformalArgument_extent;
    public InformalArgumentSet InformalArgument_instances() {
        return InformalArgument_extent;
    }
    private InformalAsynchronousMessageSet InformalAsynchronousMessage_extent;
    public InformalAsynchronousMessageSet InformalAsynchronousMessage_instances() {
        return InformalAsynchronousMessage_extent;
    }
    private InformalAttributeValueSet InformalAttributeValue_extent;
    public InformalAttributeValueSet InformalAttributeValue_instances() {
        return InformalAttributeValue_extent;
    }
    private InformalAttributeSet InformalAttribute_extent;
    public InformalAttributeSet InformalAttribute_instances() {
        return InformalAttribute_extent;
    }
    private InformalSynchronousMessageSet InformalSynchronousMessage_extent;
    public InformalSynchronousMessageSet InformalSynchronousMessage_instances() {
        return InformalSynchronousMessage_extent;
    }
    private InitialNodeSet InitialNode_extent;
    public InitialNodeSet InitialNode_instances() {
        return InitialNode_extent;
    }
    private InstSetSet InstSet_extent;
    public InstSetSet InstSet_instances() {
        return InstSet_extent;
    }
    private InstanceAttributeValueSet InstanceAttributeValue_extent;
    public InstanceAttributeValueSet InstanceAttributeValue_instances() {
        return InstanceAttributeValue_extent;
    }
    private InstanceHandleSet InstanceHandle_extent;
    public InstanceHandleSet InstanceHandle_instances() {
        return InstanceHandle_extent;
    }
    private InstanceLoaderSet InstanceLoader_extent;
    public InstanceLoaderSet InstanceLoader_instances() {
        return InstanceLoader_extent;
    }
    private InstancePopulationSelectorSet InstancePopulationSelector_extent;
    public InstancePopulationSelectorSet InstancePopulationSelector_instances() {
        return InstancePopulationSelector_extent;
    }
    private InstanceReferenceDataTypeSet InstanceReferenceDataType_extent;
    public InstanceReferenceDataTypeSet InstanceReferenceDataType_instances() {
        return InstanceReferenceDataType_extent;
    }
    private InstanceReferenceSet InstanceReference_extent;
    public InstanceReferenceSet InstanceReference_instances() {
        return InstanceReference_extent;
    }
    private InstanceSelectorSet InstanceSelector_extent;
    public InstanceSelectorSet InstanceSelector_instances() {
        return InstanceSelector_extent;
    }
    private InstanceSerializerSet InstanceSerializer_extent;
    public InstanceSerializerSet InstanceSerializer_instances() {
        return InstanceSerializer_extent;
    }
    private InstanceSetReferenceSet InstanceSetReference_extent;
    public InstanceSetReferenceSet InstanceSetReference_instances() {
        return InstanceSetReference_extent;
    }
    private InstanceStateMachineSet InstanceStateMachine_extent;
    public InstanceStateMachineSet InstanceStateMachine_instances() {
        return InstanceStateMachine_extent;
    }
    private IntegerLoaderSet IntegerLoader_extent;
    public IntegerLoaderSet IntegerLoader_instances() {
        return IntegerLoader_extent;
    }
    private IntegerSerializerSet IntegerSerializer_extent;
    public IntegerSerializerSet IntegerSerializer_instances() {
        return IntegerSerializer_extent;
    }
    private InteractionParticipantSet InteractionParticipant_extent;
    public InteractionParticipantSet InteractionParticipant_instances() {
        return InteractionParticipant_extent;
    }
    private IntercomponentQueueEntrySet IntercomponentQueueEntry_extent;
    public IntercomponentQueueEntrySet IntercomponentQueueEntry_instances() {
        return IntercomponentQueueEntry_extent;
    }
    private InterfaceOperationInvocationSet InterfaceOperationInvocation_extent;
    public InterfaceOperationInvocationSet InterfaceOperationInvocation_instances() {
        return InterfaceOperationInvocation_extent;
    }
    private InterfaceOperationMessageSet InterfaceOperationMessage_extent;
    public InterfaceOperationMessageSet InterfaceOperationMessage_instances() {
        return InterfaceOperationMessage_extent;
    }
    private InterfaceOperationSet InterfaceOperation_extent;
    public InterfaceOperationSet InterfaceOperation_instances() {
        return InterfaceOperation_extent;
    }
    private InterfaceReferenceInDelegationSet InterfaceReferenceInDelegation_extent;
    public InterfaceReferenceInDelegationSet InterfaceReferenceInDelegation_instances() {
        return InterfaceReferenceInDelegation_extent;
    }
    private InterfaceReferenceSet InterfaceReference_extent;
    public InterfaceReferenceSet InterfaceReference_instances() {
        return InterfaceReference_extent;
    }
    private InterfaceSignalSet InterfaceSignal_extent;
    public InterfaceSignalSet InterfaceSignal_instances() {
        return InterfaceSignal_extent;
    }
    private InvocableObjectSet InvocableObject_extent;
    public InvocableObjectSet InvocableObject_instances() {
        return InvocableObject_extent;
    }
    private InvocationSet Invocation_extent;
    public InvocationSet Invocation_instances() {
        return Invocation_extent;
    }
    private LeafSymbolicConstantSet LeafSymbolicConstant_extent;
    public LeafSymbolicConstantSet LeafSymbolicConstant_instances() {
        return LeafSymbolicConstant_extent;
    }
    private LifespanSet Lifespan_extent;
    public LifespanSet Lifespan_instances() {
        return Lifespan_extent;
    }
    private LinkParticipationSet LinkParticipation_extent;
    public LinkParticipationSet LinkParticipation_instances() {
        return LinkParticipation_extent;
    }
    private LinkSet Link_extent;
    public LinkSet Link_instances() {
        return Link_extent;
    }
    private LinkedAssociationSet LinkedAssociation_extent;
    public LinkedAssociationSet LinkedAssociation_instances() {
        return LinkedAssociation_extent;
    }
    private LiteralBooleanSet LiteralBoolean_extent;
    public LiteralBooleanSet LiteralBoolean_instances() {
        return LiteralBoolean_extent;
    }
    private LiteralEnumeratorSet LiteralEnumerator_extent;
    public LiteralEnumeratorSet LiteralEnumerator_instances() {
        return LiteralEnumerator_extent;
    }
    private LiteralIntegerSet LiteralInteger_extent;
    public LiteralIntegerSet LiteralInteger_instances() {
        return LiteralInteger_extent;
    }
    private LiteralRealSet LiteralReal_extent;
    public LiteralRealSet LiteralReal_instances() {
        return LiteralReal_extent;
    }
    private LiteralStringSet LiteralString_extent;
    public LiteralStringSet LiteralString_instances() {
        return LiteralString_extent;
    }
    private LiteralSymbolicConstantSet LiteralSymbolicConstant_extent;
    public LiteralSymbolicConstantSet LiteralSymbolicConstant_instances() {
        return LiteralSymbolicConstant_extent;
    }
    private LiteralSet Literal_extent;
    public LiteralSet Literal_instances() {
        return Literal_extent;
    }
    private LocalEventSet LocalEvent_extent;
    public LocalEventSet LocalEvent_instances() {
        return LocalEvent_extent;
    }
    private MSG_MSet MSG_M_extent;
    public MSG_MSet MSG_M_instances() {
        return MSG_M_extent;
    }
    private MarkSet Mark_extent;
    public MarkSet Mark_instances() {
        return Mark_extent;
    }
    private MarkableElementTypeSet MarkableElementType_extent;
    public MarkableElementTypeSet MarkableElementType_instances() {
        return MarkableElementType_extent;
    }
    private MealyActionHomeSet MealyActionHome_extent;
    public MealyActionHomeSet MealyActionHome_instances() {
        return MealyActionHome_extent;
    }
    private MealyStateMachineSet MealyStateMachine_extent;
    public MealyStateMachineSet MealyStateMachine_instances() {
        return MealyStateMachine_extent;
    }
    private MemberReferenceSet MemberReference_extent;
    public MemberReferenceSet MemberReference_instances() {
        return MemberReference_extent;
    }
    private MemberValueReferenceSet MemberValueReference_extent;
    public MemberValueReferenceSet MemberValueReference_instances() {
        return MemberValueReference_extent;
    }
    private MessageArgumentSet MessageArgument_extent;
    public MessageArgumentSet MessageArgument_instances() {
        return MessageArgument_extent;
    }
    private MessageValueSet MessageValue_extent;
    public MessageValueSet MessageValue_instances() {
        return MessageValue_extent;
    }
    private MessageSet Message_extent;
    public MessageSet Message_instances() {
        return Message_extent;
    }
    private ModelClassSet ModelClass_extent;
    public ModelClassSet ModelClass_instances() {
        return ModelClass_extent;
    }
    private ModelInstSet ModelInst_extent;
    public ModelInstSet ModelInst_instances() {
        return ModelInst_extent;
    }
    private MonitorSet Monitor_extent;
    public MonitorSet Monitor_instances() {
        return Monitor_extent;
    }
    private MooreActionHomeSet MooreActionHome_extent;
    public MooreActionHomeSet MooreActionHome_instances() {
        return MooreActionHome_extent;
    }
    private MooreStateMachineSet MooreStateMachine_extent;
    public MooreStateMachineSet MooreStateMachine_instances() {
        return MooreStateMachine_extent;
    }
    private MultiInstanceRefSet MultiInstanceRef_extent;
    public MultiInstanceRefSet MultiInstanceRef_instances() {
        return MultiInstanceRef_extent;
    }
    private MultipleReferrerAssocSet MultipleReferrerAssoc_extent;
    public MultipleReferrerAssocSet MultipleReferrerAssoc_instances() {
        return MultipleReferrerAssoc_extent;
    }
    private NamedReferenceSet NamedReference_extent;
    public NamedReferenceSet NamedReference_instances() {
        return NamedReference_extent;
    }
    private NewBaseAttributeSet NewBaseAttribute_extent;
    public NewBaseAttributeSet NewBaseAttribute_instances() {
        return NewBaseAttribute_extent;
    }
    private NewStateTransitionSet NewStateTransition_extent;
    public NewStateTransitionSet NewStateTransition_instances() {
        return NewStateTransition_extent;
    }
    private NoEventTransitionSet NoEventTransition_extent;
    public NoEventTransitionSet NoEventTransition_instances() {
        return NoEventTransition_extent;
    }
    private NonLocalEventSet NonLocalEvent_extent;
    public NonLocalEventSet NonLocalEvent_instances() {
        return NonLocalEvent_extent;
    }
    private NullSmtSet NullSmt_extent;
    public NullSmtSet NullSmt_instances() {
        return NullSmt_extent;
    }
    private O_ATTRSet O_ATTR_extent;
    public O_ATTRSet O_ATTR_instances() {
        return O_ATTR_extent;
    }
    private O_TFRSet O_TFR_extent;
    public O_TFRSet O_TFR_instances() {
        return O_TFR_extent;
    }
    private ObjectNodeSet ObjectNode_extent;
    public ObjectNodeSet ObjectNode_instances() {
        return ObjectNode_extent;
    }
    private OperationArgumentSet OperationArgument_extent;
    public OperationArgumentSet OperationArgument_instances() {
        return OperationArgument_extent;
    }
    private OperationBodySet OperationBody_extent;
    public OperationBodySet OperationBody_instances() {
        return OperationBody_extent;
    }
    private OperationInvocationSet OperationInvocation_extent;
    public OperationInvocationSet OperationInvocation_instances() {
        return OperationInvocation_extent;
    }
    private OperationMessageSet OperationMessage_extent;
    public OperationMessageSet OperationMessage_instances() {
        return OperationMessage_extent;
    }
    private OperationParameterSet OperationParameter_extent;
    public OperationParameterSet OperationParameter_instances() {
        return OperationParameter_extent;
    }
    private OperationValueSet OperationValue_extent;
    public OperationValueSet OperationValue_instances() {
        return OperationValue_extent;
    }
    private OperationSet Operation_extent;
    public OperationSet Operation_instances() {
        return Operation_extent;
    }
    private PackageParticipantSet PackageParticipant_extent;
    public PackageParticipantSet PackageParticipant_instances() {
        return PackageParticipant_extent;
    }
    private PackageReferenceSet PackageReference_extent;
    public PackageReferenceSet PackageReference_instances() {
        return PackageReference_extent;
    }
    private PackageableElementSet PackageableElement_extent;
    public PackageableElementSet PackageableElement_instances() {
        return PackageableElement_extent;
    }
    private ParameterReferenceSet ParameterReference_extent;
    public ParameterReferenceSet ParameterReference_instances() {
        return ParameterReference_extent;
    }
    private ParameterValueSet ParameterValue_extent;
    public ParameterValueSet ParameterValue_instances() {
        return ParameterValue_extent;
    }
    private ParenthesizedExpressionSet ParenthesizedExpression_extent;
    public ParenthesizedExpressionSet ParenthesizedExpression_instances() {
        return ParenthesizedExpression_extent;
    }
    private PendingEventSet PendingEvent_extent;
    public PendingEventSet PendingEvent_instances() {
        return PendingEvent_extent;
    }
    private PolymorphicEventSet PolymorphicEvent_extent;
    public PolymorphicEventSet PolymorphicEvent_instances() {
        return PolymorphicEvent_extent;
    }
    private PopulationLoaderSet PopulationLoader_extent;
    public PopulationLoaderSet PopulationLoader_instances() {
        return PopulationLoader_extent;
    }
    private PortMessageSet PortMessage_extent;
    public PortMessageSet PortMessage_instances() {
        return PortMessage_extent;
    }
    private PortReferenceSet PortReference_extent;
    public PortReferenceSet PortReference_instances() {
        return PortReference_extent;
    }
    private PortSet Port_extent;
    public PortSet Port_instances() {
        return Port_extent;
    }
    private PromotionSet Promotion_extent;
    public PromotionSet Promotion_instances() {
        return Promotion_extent;
    }
    private PropertyParameterSet PropertyParameter_extent;
    public PropertyParameterSet PropertyParameter_instances() {
        return PropertyParameter_extent;
    }
    private ProvidedExecutablePropertySet ProvidedExecutableProperty_extent;
    public ProvidedExecutablePropertySet ProvidedExecutableProperty_instances() {
        return ProvidedExecutableProperty_extent;
    }
    private ProvidedOperationBodySet ProvidedOperationBody_extent;
    public ProvidedOperationBodySet ProvidedOperationBody_instances() {
        return ProvidedOperationBody_extent;
    }
    private ProvidedOperationSet ProvidedOperation_extent;
    public ProvidedOperationSet ProvidedOperation_instances() {
        return ProvidedOperation_extent;
    }
    private ProvidedSignalBodySet ProvidedSignalBody_extent;
    public ProvidedSignalBodySet ProvidedSignalBody_instances() {
        return ProvidedSignalBody_extent;
    }
    private ProvidedSignalSet ProvidedSignal_extent;
    public ProvidedSignalSet ProvidedSignal_instances() {
        return ProvidedSignal_extent;
    }
    private ProvisionSet Provision_extent;
    public ProvisionSet Provision_instances() {
        return Provision_extent;
    }
    private RangeSet Range_extent;
    public RangeSet Range_instances() {
        return Range_extent;
    }
    private RealLoaderSet RealLoader_extent;
    public RealLoaderSet RealLoader_instances() {
        return RealLoader_extent;
    }
    private RealSerializerSet RealSerializer_extent;
    public RealSerializerSet RealSerializer_instances() {
        return RealSerializer_extent;
    }
    private ReferentialAttributeSet ReferentialAttribute_extent;
    public ReferentialAttributeSet ReferentialAttribute_instances() {
        return ReferentialAttribute_extent;
    }
    private ReferredToClassInAssocSet ReferredToClassInAssoc_extent;
    public ReferredToClassInAssocSet ReferredToClassInAssoc_instances() {
        return ReferredToClassInAssoc_extent;
    }
    private ReferredToClassProxySet ReferredToClassProxy_extent;
    public ReferredToClassProxySet ReferredToClassProxy_instances() {
        return ReferredToClassProxy_extent;
    }
    private ReferredToIdentifierAttributeSet ReferredToIdentifierAttribute_extent;
    public ReferredToIdentifierAttributeSet ReferredToIdentifierAttribute_instances() {
        return ReferredToIdentifierAttribute_extent;
    }
    private ReferringClassInAssocSet ReferringClassInAssoc_extent;
    public ReferringClassInAssocSet ReferringClassInAssoc_instances() {
        return ReferringClassInAssoc_extent;
    }
    private ReferringClassProxySet ReferringClassProxy_extent;
    public ReferringClassProxySet ReferringClassProxy_instances() {
        return ReferringClassProxy_extent;
    }
    private RelateSmtSet RelateSmt_extent;
    public RelateSmtSet RelateSmt_instances() {
        return RelateSmt_extent;
    }
    private RelateUsingSet RelateUsing_extent;
    public RelateUsingSet RelateUsing_instances() {
        return RelateUsing_extent;
    }
    private RelateSet Relate_extent;
    public RelateSet Relate_instances() {
        return Relate_extent;
    }
    private RelationshipPopulationSelectorSet RelationshipPopulationSelector_extent;
    public RelationshipPopulationSelectorSet RelationshipPopulationSelector_instances() {
        return RelationshipPopulationSelector_extent;
    }
    private RequiredExecutablePropertySet RequiredExecutableProperty_extent;
    public RequiredExecutablePropertySet RequiredExecutableProperty_instances() {
        return RequiredExecutableProperty_extent;
    }
    private RequiredOperationBodySet RequiredOperationBody_extent;
    public RequiredOperationBodySet RequiredOperationBody_instances() {
        return RequiredOperationBody_extent;
    }
    private RequiredOperationSet RequiredOperation_extent;
    public RequiredOperationSet RequiredOperation_instances() {
        return RequiredOperation_extent;
    }
    private RequiredSignalBodySet RequiredSignalBody_extent;
    public RequiredSignalBodySet RequiredSignalBody_instances() {
        return RequiredSignalBody_extent;
    }
    private RequiredSignalSet RequiredSignal_extent;
    public RequiredSignalSet RequiredSignal_instances() {
        return RequiredSignal_extent;
    }
    private RequirementSet Requirement_extent;
    public RequirementSet Requirement_instances() {
        return Requirement_extent;
    }
    private ReturnMessageSet ReturnMessage_extent;
    public ReturnMessageSet ReturnMessage_instances() {
        return ReturnMessage_extent;
    }
    private ReturnSmtSet ReturnSmt_extent;
    public ReturnSmtSet ReturnSmt_instances() {
        return ReturnSmt_extent;
    }
    private ReturnStmtSet ReturnStmt_extent;
    public ReturnStmtSet ReturnStmt_instances() {
        return ReturnStmt_extent;
    }
    private RuntimeChannelSet RuntimeChannel_extent;
    public RuntimeChannelSet RuntimeChannel_instances() {
        return RuntimeChannel_extent;
    }
    private SEMEventSet SEMEvent_extent;
    public SEMEventSet SEMEvent_instances() {
        return SEMEvent_extent;
    }
    private SM_SMSet SM_SM_extent;
    public SM_SMSet SM_SM_instances() {
        return SM_SM_extent;
    }
    private S_ENUMSet S_ENUM_extent;
    public S_ENUMSet S_ENUM_instances() {
        return S_ENUM_extent;
    }
    private S_SYNCSet S_SYNC_extent;
    public S_SYNCSet S_SYNC_instances() {
        return S_SYNC_extent;
    }
    private SatisfactionInComponentSet SatisfactionInComponent_extent;
    public SatisfactionInComponentSet SatisfactionInComponent_instances() {
        return SatisfactionInComponent_extent;
    }
    private SatisfactionSet Satisfaction_extent;
    public SatisfactionSet Satisfaction_instances() {
        return Satisfaction_extent;
    }
    private SearchResultSetSet SearchResultSet_extent;
    public SearchResultSetSet SearchResultSet_instances() {
        return SearchResultSet_extent;
    }
    private SelectFromInstancesWhereSet SelectFromInstancesWhere_extent;
    public SelectFromInstancesWhereSet SelectFromInstancesWhere_instances() {
        return SelectFromInstancesWhere_extent;
    }
    private SelectFromInstancesSet SelectFromInstances_extent;
    public SelectFromInstancesSet SelectFromInstances_instances() {
        return SelectFromInstances_extent;
    }
    private SelectRelatedBySet SelectRelatedBy_extent;
    public SelectRelatedBySet SelectRelatedBy_instances() {
        return SelectRelatedBy_extent;
    }
    private SelectRelatedWhereSet SelectRelatedWhere_extent;
    public SelectRelatedWhereSet SelectRelatedWhere_instances() {
        return SelectRelatedWhere_extent;
    }
    private SelectRelatedSet SelectRelated_extent;
    public SelectRelatedSet SelectRelated_instances() {
        return SelectRelated_extent;
    }
    private SelectSet Select_extent;
    public SelectSet Select_instances() {
        return Select_extent;
    }
    private SelectedReferenceSet SelectedReference_extent;
    public SelectedReferenceSet SelectedReference_instances() {
        return SelectedReference_extent;
    }
    private SelectedSet Selected_extent;
    public SelectedSet Selected_instances() {
        return Selected_extent;
    }
    private SelectorSet Selector_extent;
    public SelectorSet Selector_instances() {
        return Selector_extent;
    }
    private SelfQueueEntrySet SelfQueueEntry_extent;
    public SelfQueueEntrySet SelfQueueEntry_instances() {
        return SelfQueueEntry_extent;
    }
    private SendSignalSet SendSignal_extent;
    public SendSignalSet SendSignal_instances() {
        return SendSignal_extent;
    }
    private ServiceInSequenceSet ServiceInSequence_extent;
    public ServiceInSequenceSet ServiceInSequence_instances() {
        return ServiceInSequence_extent;
    }
    private SetSelectorSet SetSelector_extent;
    public SetSelectorSet SetSelector_instances() {
        return SetSelector_extent;
    }
    private SignalEventSet SignalEvent_extent;
    public SignalEventSet SignalEvent_instances() {
        return SignalEvent_extent;
    }
    private SignalInvocationSet SignalInvocation_extent;
    public SignalInvocationSet SignalInvocation_instances() {
        return SignalInvocation_extent;
    }
    private SignalMessageSet SignalMessage_extent;
    public SignalMessageSet SignalMessage_instances() {
        return SignalMessage_extent;
    }
    private SimpleAssociationSet SimpleAssociation_extent;
    public SimpleAssociationSet SimpleAssociation_instances() {
        return SimpleAssociation_extent;
    }
    private SingleInstanceRefSet SingleInstanceRef_extent;
    public SingleInstanceRefSet SingleInstanceRef_instances() {
        return SingleInstanceRef_extent;
    }
    private SingleReferrerAssocSet SingleReferrerAssoc_extent;
    public SingleReferrerAssocSet SingleReferrerAssoc_instances() {
        return SingleReferrerAssoc_extent;
    }
    private StackFrameSet StackFrame_extent;
    public StackFrameSet StackFrame_instances() {
        return StackFrame_extent;
    }
    private StackSet Stack_extent;
    public StackSet Stack_instances() {
        return Stack_extent;
    }
    private StateActionBodySet StateActionBody_extent;
    public StateActionBodySet StateActionBody_instances() {
        return StateActionBody_extent;
    }
    private StateEventMatrixEntrySet StateEventMatrixEntry_extent;
    public StateEventMatrixEntrySet StateEventMatrixEntry_instances() {
        return StateEventMatrixEntry_extent;
    }
    private StateMachineEventDataItemSet StateMachineEventDataItem_extent;
    public StateMachineEventDataItemSet StateMachineEventDataItem_instances() {
        return StateMachineEventDataItem_extent;
    }
    private StateMachineEventSet StateMachineEvent_extent;
    public StateMachineEventSet StateMachineEvent_instances() {
        return StateMachineEvent_extent;
    }
    private StateMachineStateSet StateMachineState_extent;
    public StateMachineStateSet StateMachineState_instances() {
        return StateMachineState_extent;
    }
    private StateMachineSet StateMachine_extent;
    public StateMachineSet StateMachine_instances() {
        return StateMachine_extent;
    }
    private StateTransitionSet StateTransition_extent;
    public StateTransitionSet StateTransition_instances() {
        return StateTransition_extent;
    }
    private StateSet State_extent;
    public StateSet State_instances() {
        return State_extent;
    }
    private StatementSet Statement_extent;
    public StatementSet Statement_instances() {
        return Statement_extent;
    }
    private StringLoaderSet StringLoader_extent;
    public StringLoaderSet StringLoader_instances() {
        return StringLoader_extent;
    }
    private StringSerializerSet StringSerializer_extent;
    public StringSerializerSet StringSerializer_instances() {
        return StringSerializer_extent;
    }
    private StructureMemberSet StructureMember_extent;
    public StructureMemberSet StructureMember_instances() {
        return StructureMember_extent;
    }
    private StructuredDataTypeSet StructuredDataType_extent;
    public StructuredDataTypeSet StructuredDataType_instances() {
        return StructuredDataType_extent;
    }
    private SubtypeSupertypeAssociationSet SubtypeSupertypeAssociation_extent;
    public SubtypeSupertypeAssociationSet SubtypeSupertypeAssociation_instances() {
        return SubtypeSupertypeAssociation_extent;
    }
    private SymbolicConstantValueSet SymbolicConstantValue_extent;
    public SymbolicConstantValueSet SymbolicConstantValue_instances() {
        return SymbolicConstantValue_extent;
    }
    private SymbolicConstantSet SymbolicConstant_extent;
    public SymbolicConstantSet SymbolicConstant_instances() {
        return SymbolicConstant_extent;
    }
    private SynchronousMessageSet SynchronousMessage_extent;
    public SynchronousMessageSet SynchronousMessage_instances() {
        return SynchronousMessage_extent;
    }
    private SystemModelSet SystemModel_extent;
    public SystemModelSet SystemModel_instances() {
        return SystemModel_extent;
    }
    private TerminatorServiceParameterSet TerminatorServiceParameter_extent;
    public TerminatorServiceParameterSet TerminatorServiceParameter_instances() {
        return TerminatorServiceParameter_extent;
    }
    private TerminatorServiceSequenceSet TerminatorServiceSequence_extent;
    public TerminatorServiceSequenceSet TerminatorServiceSequence_instances() {
        return TerminatorServiceSequence_extent;
    }
    private TerminatorServiceSet TerminatorService_extent;
    public TerminatorServiceSet TerminatorService_instances() {
        return TerminatorService_extent;
    }
    private TerminatorSet Terminator_extent;
    public TerminatorSet Terminator_instances() {
        return Terminator_extent;
    }
    private TimeSpanSet TimeSpan_extent;
    public TimeSpanSet TimeSpan_instances() {
        return TimeSpan_extent;
    }
    private TimerInstanceLoaderSet TimerInstanceLoader_extent;
    public TimerInstanceLoaderSet TimerInstanceLoader_instances() {
        return TimerInstanceLoader_extent;
    }
    private TimerInstanceSerializerSet TimerInstanceSerializer_extent;
    public TimerInstanceSerializerSet TimerInstanceSerializer_instances() {
        return TimerInstanceSerializer_extent;
    }
    private TimerSet Timer_extent;
    public TimerSet Timer_instances() {
        return Timer_extent;
    }
    private TimingMarkSet TimingMark_extent;
    public TimingMarkSet TimingMark_instances() {
        return TimingMark_extent;
    }
    private TransientValueReferenceSet TransientValueReference_extent;
    public TransientValueReferenceSet TransientValueReference_instances() {
        return TransientValueReference_extent;
    }
    private TransientVarSet TransientVar_extent;
    public TransientVarSet TransientVar_instances() {
        return TransientVar_extent;
    }
    private TransitionActionBodySet TransitionActionBody_extent;
    public TransitionActionBodySet TransitionActionBody_instances() {
        return TransitionActionBody_extent;
    }
    private TransitionActionHomeSet TransitionActionHome_extent;
    public TransitionActionHomeSet TransitionActionHome_instances() {
        return TransitionActionHome_extent;
    }
    private TransitionTableCellSet TransitionTableCell_extent;
    public TransitionTableCellSet TransitionTableCell_instances() {
        return TransitionTableCell_extent;
    }
    private TransitionTableRowSet TransitionTableRow_extent;
    public TransitionTableRowSet TransitionTableRow_instances() {
        return TransitionTableRow_extent;
    }
    private TransitionSet Transition_extent;
    public TransitionSet Transition_instances() {
        return Transition_extent;
    }
    private TypeImportReferenceSet TypeImportReference_extent;
    public TypeImportReferenceSet TypeImportReference_instances() {
        return TypeImportReference_extent;
    }
    private TypeImportSet TypeImport_extent;
    public TypeImportSet TypeImport_instances() {
        return TypeImport_extent;
    }
    private TypeReferenceSet TypeReference_extent;
    public TypeReferenceSet TypeReference_instances() {
        return TypeReference_extent;
    }
    private TypeSet Type_extent;
    public TypeSet Type_instances() {
        return Type_extent;
    }
    private UnaryOperationSet UnaryOperation_extent;
    public UnaryOperationSet UnaryOperation_instances() {
        return UnaryOperation_extent;
    }
    private UniqueIDSerializerSet UniqueIDSerializer_extent;
    public UniqueIDSerializerSet UniqueIDSerializer_instances() {
        return UniqueIDSerializer_extent;
    }
    private UnrelateSmtSet UnrelateSmt_extent;
    public UnrelateSmtSet UnrelateSmt_instances() {
        return UnrelateSmt_extent;
    }
    private UnrelateUsingSet UnrelateUsing_extent;
    public UnrelateUsingSet UnrelateUsing_instances() {
        return UnrelateUsing_extent;
    }
    private UnrelateSet Unrelate_extent;
    public UnrelateSet Unrelate_instances() {
        return Unrelate_extent;
    }
    private UnresolvedTypeSet UnresolvedType_extent;
    public UnresolvedTypeSet UnresolvedType_instances() {
        return UnresolvedType_extent;
    }
    private UseCaseAssociationSet UseCaseAssociation_extent;
    public UseCaseAssociationSet UseCaseAssociation_instances() {
        return UseCaseAssociation_extent;
    }
    private UseCaseParticipantSet UseCaseParticipant_extent;
    public UseCaseParticipantSet UseCaseParticipant_instances() {
        return UseCaseParticipant_extent;
    }
    private UserDataTypeSet UserDataType_extent;
    public UserDataTypeSet UserDataType_instances() {
        return UserDataType_extent;
    }
    private UserDefinedTypeSet UserDefinedType_extent;
    public UserDefinedTypeSet UserDefinedType_instances() {
        return UserDefinedType_extent;
    }
    private UtilityFunctionSet UtilityFunction_extent;
    public UtilityFunctionSet UtilityFunction_instances() {
        return UtilityFunction_extent;
    }
    private UtilityReferenceSet UtilityReference_extent;
    public UtilityReferenceSet UtilityReference_instances() {
        return UtilityReference_extent;
    }
    private UtilitySet Utility_extent;
    public UtilitySet Utility_instances() {
        return Utility_extent;
    }
    private V_AERSet V_AER_extent;
    public V_AERSet V_AER_instances() {
        return V_AER_extent;
    }
    private V_BINSet V_BIN_extent;
    public V_BINSet V_BIN_instances() {
        return V_BIN_extent;
    }
    private V_INSSet V_INS_extent;
    public V_INSSet V_INS_instances() {
        return V_INS_extent;
    }
    private V_PARSet V_PAR_extent;
    public V_PARSet V_PAR_instances() {
        return V_PAR_extent;
    }
    private V_UNYSet V_UNY_extent;
    public V_UNYSet V_UNY_instances() {
        return V_UNY_extent;
    }
    private V_VARSet V_VAR_extent;
    public V_VARSet V_VAR_instances() {
        return V_VAR_extent;
    }
    private ValueInStackFrameSet ValueInStackFrame_extent;
    public ValueInStackFrameSet ValueInStackFrame_instances() {
        return ValueInStackFrame_extent;
    }
    private ValueSet Value_extent;
    public ValueSet Value_instances() {
        return Value_extent;
    }
    private VariableInScopeSet VariableInScope_extent;
    public VariableInScopeSet VariableInScope_instances() {
        return VariableInScope_extent;
    }
    private VariableLocationSet VariableLocation_extent;
    public VariableLocationSet VariableLocation_instances() {
        return VariableLocation_extent;
    }
    private VariableReferenceSet VariableReference_extent;
    public VariableReferenceSet VariableReference_instances() {
        return VariableReference_extent;
    }
    private VariableSet Variable_extent;
    public VariableSet Variable_instances() {
        return Variable_extent;
    }
    private WhereSet Where_extent;
    public WhereSet Where_instances() {
        return Where_extent;
    }
    private WhileSmtSet WhileSmt_extent;
    public WhileSmtSet WhileSmt_instances() {
        return WhileSmt_extent;
    }
    private WhileStmtSet WhileStmt_extent;
    public WhileStmtSet WhileStmt_instances() {
        return WhileStmt_extent;
    }


    // relationship selections
    private IRelationshipSet R1000_MessageArgument_belongs_to_informal_MSG_M_extent;
    public IRelationshipSet R1000_MessageArgument_belongs_to_informal_MSG_Ms() throws XtumlException {
        return R1000_MessageArgument_belongs_to_informal_MSG_M_extent;
    }
    private IRelationshipSet R1001_MessageArgument_belongs_to_formal_MSG_M_extent;
    public IRelationshipSet R1001_MessageArgument_belongs_to_formal_MSG_Ms() throws XtumlException {
        return R1001_MessageArgument_belongs_to_formal_MSG_M_extent;
    }
    private IRelationshipSet R1007_MSG_M_has_destination_InteractionParticipant_extent;
    public IRelationshipSet R1007_MSG_M_has_destination_InteractionParticipants() throws XtumlException {
        return R1007_MSG_M_has_destination_InteractionParticipant_extent;
    }
    private IRelationshipSet R1008_MSG_M_has_source_InteractionParticipant_extent;
    public IRelationshipSet R1008_MSG_M_has_source_InteractionParticipants() throws XtumlException {
        return R1008_MSG_M_has_source_InteractionParticipant_extent;
    }
    private IRelationshipSet R1009_EventMessage_generates_StateMachineEvent_extent;
    public IRelationshipSet R1009_EventMessage_generates_StateMachineEvents() throws XtumlException {
        return R1009_EventMessage_generates_StateMachineEvent_extent;
    }
    private IRelationshipSet R1010_FunctionMessage_is_invocation_of_S_SYNC_extent;
    public IRelationshipSet R1010_FunctionMessage_is_invocation_of_S_SYNCs() throws XtumlException {
        return R1010_FunctionMessage_is_invocation_of_S_SYNC_extent;
    }
    private IRelationshipSet R1011_OperationMessage_is_invocation_of_O_TFR_extent;
    public IRelationshipSet R1011_OperationMessage_is_invocation_of_O_TFRs() throws XtumlException {
        return R1011_OperationMessage_is_invocation_of_O_TFR_extent;
    }
    private IRelationshipSet R1012_BridgeMessage_is_invocation_of_Bridge_extent;
    public IRelationshipSet R1012_BridgeMessage_is_invocation_of_Bridges() throws XtumlException {
        return R1012_BridgeMessage_is_invocation_of_Bridge_extent;
    }
    private IRelationshipSet R1013_BridgeArgument_is_a_MessageArgument_extent;
    public IRelationshipSet R1013_BridgeArgument_is_a_MessageArguments() throws XtumlException {
        return R1013_BridgeArgument_is_a_MessageArgument_extent;
    }
    private IRelationshipSet R1013_EventArgument_is_a_MessageArgument_extent;
    public IRelationshipSet R1013_EventArgument_is_a_MessageArguments() throws XtumlException {
        return R1013_EventArgument_is_a_MessageArgument_extent;
    }
    private IRelationshipSet R1013_ExecutablePropertyArgument_is_a_MessageArgument_extent;
    public IRelationshipSet R1013_ExecutablePropertyArgument_is_a_MessageArguments() throws XtumlException {
        return R1013_ExecutablePropertyArgument_is_a_MessageArgument_extent;
    }
    private IRelationshipSet R1013_FunctionArgument_is_a_MessageArgument_extent;
    public IRelationshipSet R1013_FunctionArgument_is_a_MessageArguments() throws XtumlException {
        return R1013_FunctionArgument_is_a_MessageArgument_extent;
    }
    private IRelationshipSet R1013_InformalArgument_is_a_MessageArgument_extent;
    public IRelationshipSet R1013_InformalArgument_is_a_MessageArguments() throws XtumlException {
        return R1013_InformalArgument_is_a_MessageArgument_extent;
    }
    private IRelationshipSet R1013_OperationArgument_is_a_MessageArgument_extent;
    public IRelationshipSet R1013_OperationArgument_is_a_MessageArguments() throws XtumlException {
        return R1013_OperationArgument_is_a_MessageArgument_extent;
    }
    private IRelationshipSet R1014_BridgeArgument_is_represented_by_BridgeParameter_extent;
    public IRelationshipSet R1014_BridgeArgument_is_represented_by_BridgeParameters() throws XtumlException {
        return R1014_BridgeArgument_is_represented_by_BridgeParameter_extent;
    }
    private IRelationshipSet R1015_OperationArgument_is_represented_by_OperationParameter_extent;
    public IRelationshipSet R1015_OperationArgument_is_represented_by_OperationParameters() throws XtumlException {
        return R1015_OperationArgument_is_represented_by_OperationParameter_extent;
    }
    private IRelationshipSet R1016_FunctionArgument_is_represented_by_FunctionParameter_extent;
    public IRelationshipSet R1016_FunctionArgument_is_represented_by_FunctionParameters() throws XtumlException {
        return R1016_FunctionArgument_is_represented_by_FunctionParameter_extent;
    }
    private IRelationshipSet R1017_EventArgument_is_represented_by_StateMachineEventDataItem_extent;
    public IRelationshipSet R1017_EventArgument_is_represented_by_StateMachineEventDataItems() throws XtumlException {
        return R1017_EventArgument_is_represented_by_StateMachineEventDataItem_extent;
    }
    private IRelationshipSet R1018_AsynchronousMessage_is_a_MSG_M_extent;
    public IRelationshipSet R1018_AsynchronousMessage_is_a_MSG_Ms() throws XtumlException {
        return R1018_AsynchronousMessage_is_a_MSG_M_extent;
    }
    private IRelationshipSet R1018_ReturnMessage_is_a_MSG_M_extent;
    public IRelationshipSet R1018_ReturnMessage_is_a_MSG_Ms() throws XtumlException {
        return R1018_ReturnMessage_is_a_MSG_M_extent;
    }
    private IRelationshipSet R1018_SynchronousMessage_is_a_MSG_M_extent;
    public IRelationshipSet R1018_SynchronousMessage_is_a_MSG_Ms() throws XtumlException {
        return R1018_SynchronousMessage_is_a_MSG_M_extent;
    }
    private IRelationshipSet R1019_EventMessage_is_a_AsynchronousMessage_extent;
    public IRelationshipSet R1019_EventMessage_is_a_AsynchronousMessages() throws XtumlException {
        return R1019_EventMessage_is_a_AsynchronousMessage_extent;
    }
    private IRelationshipSet R1019_InformalAsynchronousMessage_is_a_AsynchronousMessage_extent;
    public IRelationshipSet R1019_InformalAsynchronousMessage_is_a_AsynchronousMessages() throws XtumlException {
        return R1019_InformalAsynchronousMessage_is_a_AsynchronousMessage_extent;
    }
    private IRelationshipSet R1019_SignalMessage_is_a_AsynchronousMessage_extent;
    public IRelationshipSet R1019_SignalMessage_is_a_AsynchronousMessages() throws XtumlException {
        return R1019_SignalMessage_is_a_AsynchronousMessage_extent;
    }
    private IRelationshipSet R101_ImportedClass_represents_ModelClass_extent;
    public IRelationshipSet R101_ImportedClass_represents_ModelClasss() throws XtumlException {
        return R101_ImportedClass_represents_ModelClass_extent;
    }
    private IRelationshipSet R1020_BridgeMessage_is_a_SynchronousMessage_extent;
    public IRelationshipSet R1020_BridgeMessage_is_a_SynchronousMessages() throws XtumlException {
        return R1020_BridgeMessage_is_a_SynchronousMessage_extent;
    }
    private IRelationshipSet R1020_FunctionMessage_is_a_SynchronousMessage_extent;
    public IRelationshipSet R1020_FunctionMessage_is_a_SynchronousMessages() throws XtumlException {
        return R1020_FunctionMessage_is_a_SynchronousMessage_extent;
    }
    private IRelationshipSet R1020_InformalSynchronousMessage_is_a_SynchronousMessage_extent;
    public IRelationshipSet R1020_InformalSynchronousMessage_is_a_SynchronousMessages() throws XtumlException {
        return R1020_InformalSynchronousMessage_is_a_SynchronousMessage_extent;
    }
    private IRelationshipSet R1020_InterfaceOperationMessage_is_a_SynchronousMessage_extent;
    public IRelationshipSet R1020_InterfaceOperationMessage_is_a_SynchronousMessages() throws XtumlException {
        return R1020_InterfaceOperationMessage_is_a_SynchronousMessage_extent;
    }
    private IRelationshipSet R1020_OperationMessage_is_a_SynchronousMessage_extent;
    public IRelationshipSet R1020_OperationMessage_is_a_SynchronousMessages() throws XtumlException {
        return R1020_OperationMessage_is_a_SynchronousMessage_extent;
    }
    private IRelationshipSet R1021_SignalMessage_sends_InterfaceSignal_extent;
    public IRelationshipSet R1021_SignalMessage_sends_InterfaceSignals() throws XtumlException {
        return R1021_SignalMessage_sends_InterfaceSignal_extent;
    }
    private IRelationshipSet R1022_InterfaceOperationMessage_sends_InterfaceOperation_extent;
    public IRelationshipSet R1022_InterfaceOperationMessage_sends_InterfaceOperations() throws XtumlException {
        return R1022_InterfaceOperationMessage_sends_InterfaceOperation_extent;
    }
    private IRelationshipSet R1023_ExecutablePropertyArgument_is_represented_by_PropertyParameter_extent;
    public IRelationshipSet R1023_ExecutablePropertyArgument_is_represented_by_PropertyParameters() throws XtumlException {
        return R1023_ExecutablePropertyArgument_is_represented_by_PropertyParameter_extent;
    }
    private IRelationshipSet R102_O_ATTR_abstracts_characteristics_of_ModelClass_extent;
    public IRelationshipSet R102_O_ATTR_abstracts_characteristics_of_ModelClasss() throws XtumlException {
        return R102_O_ATTR_abstracts_characteristics_of_ModelClass_extent;
    }
    private IRelationshipSet R103_O_ATTR_succeeds_O_ATTR_extent;
    public IRelationshipSet R103_O_ATTR_succeeds_O_ATTRs() throws XtumlException {
        return R103_O_ATTR_succeeds_O_ATTR_extent;
    }
    private IRelationshipSet R104_ClassIdentifier_identifies_ModelClass_extent;
    public IRelationshipSet R104_ClassIdentifier_identifies_ModelClasss() throws XtumlException {
        return R104_ClassIdentifier_identifies_ModelClass_extent;
    }
    private IRelationshipSet R105_ClassIdentifierAttribute_is_made_up_of__O_ATTR_extent;
    public IRelationshipSet R105_ClassIdentifierAttribute_is_made_up_of__O_ATTRs() throws XtumlException {
        return R105_ClassIdentifierAttribute_is_made_up_of__O_ATTR_extent;
    }
    private IRelationshipSet R105_ClassIdentifierAttribute_is_part_of__ClassIdentifier_extent;
    public IRelationshipSet R105_ClassIdentifierAttribute_is_part_of__ClassIdentifiers() throws XtumlException {
        return R105_ClassIdentifierAttribute_is_part_of__ClassIdentifier_extent;
    }
    private IRelationshipSet R106_BaseAttribute_is_a_O_ATTR_extent;
    public IRelationshipSet R106_BaseAttribute_is_a_O_ATTRs() throws XtumlException {
        return R106_BaseAttribute_is_a_O_ATTR_extent;
    }
    private IRelationshipSet R106_ReferentialAttribute_is_a_O_ATTR_extent;
    public IRelationshipSet R106_ReferentialAttribute_is_a_O_ATTRs() throws XtumlException {
        return R106_ReferentialAttribute_is_a_O_ATTR_extent;
    }
    private IRelationshipSet R107_DerivedBaseAttribute_is_a_BaseAttribute_extent;
    public IRelationshipSet R107_DerivedBaseAttribute_is_a_BaseAttributes() throws XtumlException {
        return R107_DerivedBaseAttribute_is_a_BaseAttribute_extent;
    }
    private IRelationshipSet R107_NewBaseAttribute_is_a_BaseAttribute_extent;
    public IRelationshipSet R107_NewBaseAttribute_is_a_BaseAttributes() throws XtumlException {
        return R107_NewBaseAttribute_is_a_BaseAttribute_extent;
    }
    private IRelationshipSet R108_AttributeReferenceInClass_is_resolved_by_ReferentialAttribute_extent;
    public IRelationshipSet R108_AttributeReferenceInClass_is_resolved_by_ReferentialAttributes() throws XtumlException {
        return R108_AttributeReferenceInClass_is_resolved_by_ReferentialAttribute_extent;
    }
    private IRelationshipSet R109_ReferredToClassInAssoc_is_identified_in_this_association_by_ClassIdentifier_extent;
    public IRelationshipSet R109_ReferredToClassInAssoc_is_identified_in_this_association_by_ClassIdentifiers() throws XtumlException {
        return R109_ReferredToClassInAssoc_is_identified_in_this_association_by_ClassIdentifier_extent;
    }
    private IRelationshipSet R1103_ActivityEdge_target_ActivityNode_extent;
    public IRelationshipSet R1103_ActivityEdge_target_ActivityNodes() throws XtumlException {
        return R1103_ActivityEdge_target_ActivityNode_extent;
    }
    private IRelationshipSet R1104_ActivityEdge_source_ActivityNode_extent;
    public IRelationshipSet R1104_ActivityEdge_source_ActivityNodes() throws XtumlException {
        return R1104_ActivityEdge_source_ActivityNode_extent;
    }
    private IRelationshipSet R1105_ActionNode_is_a_ActivityNode_extent;
    public IRelationshipSet R1105_ActionNode_is_a_ActivityNodes() throws XtumlException {
        return R1105_ActionNode_is_a_ActivityNode_extent;
    }
    private IRelationshipSet R1105_ControlNode_is_a_ActivityNode_extent;
    public IRelationshipSet R1105_ControlNode_is_a_ActivityNodes() throws XtumlException {
        return R1105_ControlNode_is_a_ActivityNode_extent;
    }
    private IRelationshipSet R1105_ObjectNode_is_a_ActivityNode_extent;
    public IRelationshipSet R1105_ObjectNode_is_a_ActivityNodes() throws XtumlException {
        return R1105_ObjectNode_is_a_ActivityNode_extent;
    }
    private IRelationshipSet R1106_ActivityFinalNode_is_a_ControlNode_extent;
    public IRelationshipSet R1106_ActivityFinalNode_is_a_ControlNodes() throws XtumlException {
        return R1106_ActivityFinalNode_is_a_ControlNode_extent;
    }
    private IRelationshipSet R1106_DecisionMergeNode_is_a_ControlNode_extent;
    public IRelationshipSet R1106_DecisionMergeNode_is_a_ControlNodes() throws XtumlException {
        return R1106_DecisionMergeNode_is_a_ControlNode_extent;
    }
    private IRelationshipSet R1106_FlowFinalNode_is_a_ControlNode_extent;
    public IRelationshipSet R1106_FlowFinalNode_is_a_ControlNodes() throws XtumlException {
        return R1106_FlowFinalNode_is_a_ControlNode_extent;
    }
    private IRelationshipSet R1106_ForkJoinNode_is_a_ControlNode_extent;
    public IRelationshipSet R1106_ForkJoinNode_is_a_ControlNodes() throws XtumlException {
        return R1106_ForkJoinNode_is_a_ControlNode_extent;
    }
    private IRelationshipSet R1106_InitialNode_is_a_ControlNode_extent;
    public IRelationshipSet R1106_InitialNode_is_a_ControlNodes() throws XtumlException {
        return R1106_InitialNode_is_a_ControlNode_extent;
    }
    private IRelationshipSet R1107_AcceptEvent_is_a_ActionNode_extent;
    public IRelationshipSet R1107_AcceptEvent_is_a_ActionNodes() throws XtumlException {
        return R1107_AcceptEvent_is_a_ActionNode_extent;
    }
    private IRelationshipSet R1107_ActivityDiagramAction_is_a_ActionNode_extent;
    public IRelationshipSet R1107_ActivityDiagramAction_is_a_ActionNodes() throws XtumlException {
        return R1107_ActivityDiagramAction_is_a_ActionNode_extent;
    }
    private IRelationshipSet R1107_SendSignal_is_a_ActionNode_extent;
    public IRelationshipSet R1107_SendSignal_is_a_ActionNodes() throws XtumlException {
        return R1107_SendSignal_is_a_ActionNode_extent;
    }
    private IRelationshipSet R110_ReferredToIdentifierAttribute_identifies_for_this_association_ReferredToClassInAssoc_extent;
    public IRelationshipSet R110_ReferredToIdentifierAttribute_identifies_for_this_association_ReferredToClassInAssocs() throws XtumlException {
        return R110_ReferredToIdentifierAttribute_identifies_for_this_association_ReferredToClassInAssoc_extent;
    }
    private IRelationshipSet R110_ReferredToIdentifierAttribute_is_identified_in_this_association_by_ClassIdentifierAttribute_extent;
    public IRelationshipSet R110_ReferredToIdentifierAttribute_is_identified_in_this_association_by_ClassIdentifierAttributes() throws XtumlException {
        return R110_ReferredToIdentifierAttribute_is_identified_in_this_association_by_ClassIdentifierAttribute_extent;
    }
    private IRelationshipSet R1112_AcceptEventAction_is_a_AcceptEvent_extent;
    public IRelationshipSet R1112_AcceptEventAction_is_a_AcceptEvents() throws XtumlException {
        return R1112_AcceptEventAction_is_a_AcceptEvent_extent;
    }
    private IRelationshipSet R1112_AcceptTimeEventAction_is_a_AcceptEvent_extent;
    public IRelationshipSet R1112_AcceptTimeEventAction_is_a_AcceptEvents() throws XtumlException {
        return R1112_AcceptTimeEventAction_is_a_AcceptEvent_extent;
    }
    private IRelationshipSet R111_AttributeReferenceInClass_is_used_to_refer_class_by_ReferringClassInAssoc_extent;
    public IRelationshipSet R111_AttributeReferenceInClass_is_used_to_refer_class_by_ReferringClassInAssocs() throws XtumlException {
        return R111_AttributeReferenceInClass_is_used_to_refer_class_by_ReferringClassInAssoc_extent;
    }
    private IRelationshipSet R111_AttributeReferenceInClass_refers_across_association_via_ReferredToIdentifierAttribute_extent;
    public IRelationshipSet R111_AttributeReferenceInClass_refers_across_association_via_ReferredToIdentifierAttributes() throws XtumlException {
        return R111_AttributeReferenceInClass_refers_across_association_via_ReferredToIdentifierAttribute_extent;
    }
    private IRelationshipSet R1128_CommunicationLink_may_be_formalized_against_Association_extent;
    public IRelationshipSet R1128_CommunicationLink_may_be_formalized_against_Associations() throws XtumlException {
        return R1128_CommunicationLink_may_be_formalized_against_Association_extent;
    }
    private IRelationshipSet R112_AttributeReferenceInClass_succeeds_AttributeReferenceInClass_extent;
    public IRelationshipSet R112_AttributeReferenceInClass_succeeds_AttributeReferenceInClasss() throws XtumlException {
        return R112_AttributeReferenceInClass_succeeds_AttributeReferenceInClass_extent;
    }
    private IRelationshipSet R1133_CommunicationLink_starts_at_InteractionParticipant_extent;
    public IRelationshipSet R1133_CommunicationLink_starts_at_InteractionParticipants() throws XtumlException {
        return R1133_CommunicationLink_starts_at_InteractionParticipant_extent;
    }
    private IRelationshipSet R1134_CommunicationLink_is_destined_for_InteractionParticipant_extent;
    public IRelationshipSet R1134_CommunicationLink_is_destined_for_InteractionParticipants() throws XtumlException {
        return R1134_CommunicationLink_is_destined_for_InteractionParticipant_extent;
    }
    private IRelationshipSet R113_ReferentialAttribute_navigates_back_to_BaseAttribute_extent;
    public IRelationshipSet R113_ReferentialAttribute_navigates_back_to_BaseAttributes() throws XtumlException {
        return R113_ReferentialAttribute_navigates_back_to_BaseAttribute_extent;
    }
    private IRelationshipSet R114_O_ATTR_defines_type_of_DataType_extent;
    public IRelationshipSet R114_O_ATTR_defines_type_of_DataTypes() throws XtumlException {
        return R114_O_ATTR_defines_type_of_DataType_extent;
    }
    private IRelationshipSet R115_O_TFR_is_associated_with_ModelClass_extent;
    public IRelationshipSet R115_O_TFR_is_associated_with_ModelClasss() throws XtumlException {
        return R115_O_TFR_is_associated_with_ModelClass_extent;
    }
    private IRelationshipSet R116_O_TFR_return_code_is_defined_by_DataType_extent;
    public IRelationshipSet R116_O_TFR_return_code_is_defined_by_DataTypes() throws XtumlException {
        return R116_O_TFR_return_code_is_defined_by_DataType_extent;
    }
    private IRelationshipSet R117_OperationParameter_is_part_of__O_TFR_extent;
    public IRelationshipSet R117_OperationParameter_is_part_of__O_TFRs() throws XtumlException {
        return R117_OperationParameter_is_part_of__O_TFR_extent;
    }
    private IRelationshipSet R118_OperationParameter_is_defined_by_DataType_extent;
    public IRelationshipSet R118_OperationParameter_is_defined_by_DataTypes() throws XtumlException {
        return R118_OperationParameter_is_defined_by_DataType_extent;
    }
    private IRelationshipSet R1206_UseCaseAssociation_starts_at_InteractionParticipant_extent;
    public IRelationshipSet R1206_UseCaseAssociation_starts_at_InteractionParticipants() throws XtumlException {
        return R1206_UseCaseAssociation_starts_at_InteractionParticipant_extent;
    }
    private IRelationshipSet R1207_UseCaseAssociation_ends_at_InteractionParticipant_extent;
    public IRelationshipSet R1207_UseCaseAssociation_ends_at_InteractionParticipants() throws XtumlException {
        return R1207_UseCaseAssociation_ends_at_InteractionParticipant_extent;
    }
    private IRelationshipSet R120_Dimensions_specifies_occurrences_of_O_ATTR_extent;
    public IRelationshipSet R120_Dimensions_specifies_occurrences_of_O_ATTRs() throws XtumlException {
        return R120_Dimensions_specifies_occurrences_of_O_ATTR_extent;
    }
    private IRelationshipSet R1210_BinaryAssociation_is_a_UseCaseAssociation_extent;
    public IRelationshipSet R1210_BinaryAssociation_is_a_UseCaseAssociations() throws XtumlException {
        return R1210_BinaryAssociation_is_a_UseCaseAssociation_extent;
    }
    private IRelationshipSet R1210_Extend_is_a_UseCaseAssociation_extent;
    public IRelationshipSet R1210_Extend_is_a_UseCaseAssociations() throws XtumlException {
        return R1210_Extend_is_a_UseCaseAssociation_extent;
    }
    private IRelationshipSet R1210_Generalization_is_a_UseCaseAssociation_extent;
    public IRelationshipSet R1210_Generalization_is_a_UseCaseAssociations() throws XtumlException {
        return R1210_Generalization_is_a_UseCaseAssociation_extent;
    }
    private IRelationshipSet R1210_Include_is_a_UseCaseAssociation_extent;
    public IRelationshipSet R1210_Include_is_a_UseCaseAssociations() throws XtumlException {
        return R1210_Include_is_a_UseCaseAssociation_extent;
    }
    private IRelationshipSet R121_Dimensions_specifies_occurrences_of_OperationParameter_extent;
    public IRelationshipSet R121_Dimensions_specifies_occurrences_of_OperationParameters() throws XtumlException {
        return R121_Dimensions_specifies_occurrences_of_OperationParameter_extent;
    }
    private IRelationshipSet R122_Dimensions_defines_return_value_dimensions_for_O_TFR_extent;
    public IRelationshipSet R122_Dimensions_defines_return_value_dimensions_for_O_TFRs() throws XtumlException {
        return R122_Dimensions_defines_return_value_dimensions_for_O_TFR_extent;
    }
    private IRelationshipSet R123_InstanceReferenceDataType_provides_reference_datatype_for_ModelClass_extent;
    public IRelationshipSet R123_InstanceReferenceDataType_provides_reference_datatype_for_ModelClasss() throws XtumlException {
        return R123_InstanceReferenceDataType_provides_reference_datatype_for_ModelClass_extent;
    }
    private IRelationshipSet R124_OperationParameter_succeeds_OperationParameter_extent;
    public IRelationshipSet R124_OperationParameter_succeeds_OperationParameters() throws XtumlException {
        return R124_OperationParameter_succeeds_OperationParameter_extent;
    }
    private IRelationshipSet R125_O_TFR_succeeds_O_TFR_extent;
    public IRelationshipSet R125_O_TFR_succeeds_O_TFRs() throws XtumlException {
        return R125_O_TFR_succeeds_O_TFR_extent;
    }
    private IRelationshipSet R126_Deferral_defers_execution_to_subtypes_across_Association_extent;
    public IRelationshipSet R126_Deferral_defers_execution_to_subtypes_across_Associations() throws XtumlException {
        return R126_Deferral_defers_execution_to_subtypes_across_Association_extent;
    }
    private IRelationshipSet R126_Deferral_delegates_execution_of_O_TFR_extent;
    public IRelationshipSet R126_Deferral_delegates_execution_of_O_TFRs() throws XtumlException {
        return R126_Deferral_delegates_execution_of_O_TFR_extent;
    }
    private IRelationshipSet R1401_EP_PKG_directly_contained_under_SystemModel_extent;
    public IRelationshipSet R1401_EP_PKG_directly_contained_under_SystemModels() throws XtumlException {
        return R1401_EP_PKG_directly_contained_under_SystemModel_extent;
    }
    private IRelationshipSet R1402_PackageReference_is_referenced_by_EP_PKG_extent;
    public IRelationshipSet R1402_PackageReference_is_referenced_by_EP_PKGs() throws XtumlException {
        return R1402_PackageReference_is_referenced_by_EP_PKG_extent;
    }
    private IRelationshipSet R1402_PackageReference_refers_to_EP_PKG_extent;
    public IRelationshipSet R1402_PackageReference_refers_to_EP_PKGs() throws XtumlException {
        return R1402_PackageReference_refers_to_EP_PKG_extent;
    }
    private IRelationshipSet R1405_EP_PKG_SystemModel_extent;
    public IRelationshipSet R1405_EP_PKG_SystemModels() throws XtumlException {
        return R1405_EP_PKG_SystemModel_extent;
    }
    private IRelationshipSet R1500_SymbolicConstant_is_defined_by_DataType_extent;
    public IRelationshipSet R1500_SymbolicConstant_is_defined_by_DataTypes() throws XtumlException {
        return R1500_SymbolicConstant_is_defined_by_DataType_extent;
    }
    private IRelationshipSet R1502_LeafSymbolicConstant_is_a_SymbolicConstant_extent;
    public IRelationshipSet R1502_LeafSymbolicConstant_is_a_SymbolicConstants() throws XtumlException {
        return R1502_LeafSymbolicConstant_is_a_SymbolicConstant_extent;
    }
    private IRelationshipSet R1503_LiteralSymbolicConstant_is_a_LeafSymbolicConstant_extent;
    public IRelationshipSet R1503_LiteralSymbolicConstant_is_a_LeafSymbolicConstants() throws XtumlException {
        return R1503_LiteralSymbolicConstant_is_a_LeafSymbolicConstant_extent;
    }
    private IRelationshipSet R1504_SymbolicConstant_is_contained_by_ConstantSpecification_extent;
    public IRelationshipSet R1504_SymbolicConstant_is_contained_by_ConstantSpecifications() throws XtumlException {
        return R1504_SymbolicConstant_is_contained_by_ConstantSpecification_extent;
    }
    private IRelationshipSet R1505_SymbolicConstant_succeeds_SymbolicConstant_extent;
    public IRelationshipSet R1505_SymbolicConstant_succeeds_SymbolicConstants() throws XtumlException {
        return R1505_SymbolicConstant_succeeds_SymbolicConstant_extent;
    }
    private IRelationshipSet R1650_Terminator_Deployment_extent;
    public IRelationshipSet R1650_Terminator_Deployments() throws XtumlException {
        return R1650_Terminator_Deployment_extent;
    }
    private IRelationshipSet R1651_TerminatorService_Terminator_extent;
    public IRelationshipSet R1651_TerminatorService_Terminators() throws XtumlException {
        return R1651_TerminatorService_Terminator_extent;
    }
    private IRelationshipSet R1652_TerminatorServiceParameter_TerminatorService_extent;
    public IRelationshipSet R1652_TerminatorServiceParameter_TerminatorServices() throws XtumlException {
        return R1652_TerminatorServiceParameter_TerminatorService_extent;
    }
    private IRelationshipSet R1653_TerminatorServiceParameter_DataType_extent;
    public IRelationshipSet R1653_TerminatorServiceParameter_DataTypes() throws XtumlException {
        return R1653_TerminatorServiceParameter_DataType_extent;
    }
    private IRelationshipSet R1654_TerminatorServiceParameter_succeeds_TerminatorServiceParameter_extent;
    public IRelationshipSet R1654_TerminatorServiceParameter_succeeds_TerminatorServiceParameters() throws XtumlException {
        return R1654_TerminatorServiceParameter_succeeds_TerminatorServiceParameter_extent;
    }
    private IRelationshipSet R1655_Dimensions_TerminatorServiceParameter_extent;
    public IRelationshipSet R1655_Dimensions_TerminatorServiceParameters() throws XtumlException {
        return R1655_Dimensions_TerminatorServiceParameter_extent;
    }
    private IRelationshipSet R1656_TerminatorService_DataType_extent;
    public IRelationshipSet R1656_TerminatorService_DataTypes() throws XtumlException {
        return R1656_TerminatorService_DataType_extent;
    }
    private IRelationshipSet R1657_Dimensions_TerminatorService_extent;
    public IRelationshipSet R1657_Dimensions_TerminatorServices() throws XtumlException {
        return R1657_Dimensions_TerminatorService_extent;
    }
    private IRelationshipSet R1658_TerminatorServiceSequence_Terminator_extent;
    public IRelationshipSet R1658_TerminatorServiceSequence_Terminators() throws XtumlException {
        return R1658_TerminatorServiceSequence_Terminator_extent;
    }
    private IRelationshipSet R1659_ServiceInSequence_TerminatorServiceSequence_extent;
    public IRelationshipSet R1659_ServiceInSequence_TerminatorServiceSequences() throws XtumlException {
        return R1659_ServiceInSequence_TerminatorServiceSequence_extent;
    }
    private IRelationshipSet R1660_ServiceInSequence_TerminatorService_extent;
    public IRelationshipSet R1660_ServiceInSequence_TerminatorServices() throws XtumlException {
        return R1660_ServiceInSequence_TerminatorService_extent;
    }
    private IRelationshipSet R1661_ServiceInSequence_succeeds_ServiceInSequence_extent;
    public IRelationshipSet R1661_ServiceInSequence_succeeds_ServiceInSequences() throws XtumlException {
        return R1661_ServiceInSequence_succeeds_ServiceInSequence_extent;
    }
    private IRelationshipSet R17_CoreDataType_is_a_DataType_extent;
    public IRelationshipSet R17_CoreDataType_is_a_DataTypes() throws XtumlException {
        return R17_CoreDataType_is_a_DataType_extent;
    }
    private IRelationshipSet R17_EnumerationDataType_is_a_DataType_extent;
    public IRelationshipSet R17_EnumerationDataType_is_a_DataTypes() throws XtumlException {
        return R17_EnumerationDataType_is_a_DataType_extent;
    }
    private IRelationshipSet R17_InstanceReferenceDataType_is_a_DataType_extent;
    public IRelationshipSet R17_InstanceReferenceDataType_is_a_DataTypes() throws XtumlException {
        return R17_InstanceReferenceDataType_is_a_DataType_extent;
    }
    private IRelationshipSet R17_StructuredDataType_is_a_DataType_extent;
    public IRelationshipSet R17_StructuredDataType_is_a_DataTypes() throws XtumlException {
        return R17_StructuredDataType_is_a_DataType_extent;
    }
    private IRelationshipSet R17_UserDataType_is_a_DataType_extent;
    public IRelationshipSet R17_UserDataType_is_a_DataTypes() throws XtumlException {
        return R17_UserDataType_is_a_DataType_extent;
    }
    private IRelationshipSet R18_UserDataType_are_defined_within_DataType_extent;
    public IRelationshipSet R18_UserDataType_are_defined_within_DataTypes() throws XtumlException {
        return R18_UserDataType_are_defined_within_DataType_extent;
    }
    private IRelationshipSet R19_Bridge_provides_access_to_ExternalEntity_extent;
    public IRelationshipSet R19_Bridge_provides_access_to_ExternalEntitys() throws XtumlException {
        return R19_Bridge_provides_access_to_ExternalEntity_extent;
    }
    private IRelationshipSet R201_ClassInAssociation_abstracts_association_between_instances_of_ModelClass_extent;
    public IRelationshipSet R201_ClassInAssociation_abstracts_association_between_instances_of_ModelClasss() throws XtumlException {
        return R201_ClassInAssociation_abstracts_association_between_instances_of_ModelClass_extent;
    }
    private IRelationshipSet R201_ClassInAssociation_has_instance_associations_abstracted_Association_extent;
    public IRelationshipSet R201_ClassInAssociation_has_instance_associations_abstracted_Associations() throws XtumlException {
        return R201_ClassInAssociation_has_instance_associations_abstracted_Association_extent;
    }
    private IRelationshipSet R202_ClassInAssociation_may_be_represented_by_ImportedClass_extent;
    public IRelationshipSet R202_ClassInAssociation_may_be_represented_by_ImportedClasss() throws XtumlException {
        return R202_ClassInAssociation_may_be_represented_by_ImportedClass_extent;
    }
    private IRelationshipSet R203_ClassAsDerivedOneSide_is_a_ClassInAssociation_extent;
    public IRelationshipSet R203_ClassAsDerivedOneSide_is_a_ClassInAssociations() throws XtumlException {
        return R203_ClassAsDerivedOneSide_is_a_ClassInAssociation_extent;
    }
    private IRelationshipSet R203_ClassAsDerivedOtherSide_is_a_ClassInAssociation_extent;
    public IRelationshipSet R203_ClassAsDerivedOtherSide_is_a_ClassInAssociations() throws XtumlException {
        return R203_ClassAsDerivedOtherSide_is_a_ClassInAssociation_extent;
    }
    private IRelationshipSet R203_ReferredToClassInAssoc_is_a_ClassInAssociation_extent;
    public IRelationshipSet R203_ReferredToClassInAssoc_is_a_ClassInAssociations() throws XtumlException {
        return R203_ReferredToClassInAssoc_is_a_ClassInAssociation_extent;
    }
    private IRelationshipSet R203_ReferringClassInAssoc_is_a_ClassInAssociation_extent;
    public IRelationshipSet R203_ReferringClassInAssoc_is_a_ClassInAssociations() throws XtumlException {
        return R203_ReferringClassInAssoc_is_a_ClassInAssociation_extent;
    }
    private IRelationshipSet R204_ClassAsAssociatedOneSide_is_a_ReferredToClassInAssoc_extent;
    public IRelationshipSet R204_ClassAsAssociatedOneSide_is_a_ReferredToClassInAssocs() throws XtumlException {
        return R204_ClassAsAssociatedOneSide_is_a_ReferredToClassInAssoc_extent;
    }
    private IRelationshipSet R204_ClassAsAssociatedOtherSide_is_a_ReferredToClassInAssoc_extent;
    public IRelationshipSet R204_ClassAsAssociatedOtherSide_is_a_ReferredToClassInAssocs() throws XtumlException {
        return R204_ClassAsAssociatedOtherSide_is_a_ReferredToClassInAssoc_extent;
    }
    private IRelationshipSet R204_ClassAsSimpleParticipant_is_a_ReferredToClassInAssoc_extent;
    public IRelationshipSet R204_ClassAsSimpleParticipant_is_a_ReferredToClassInAssocs() throws XtumlException {
        return R204_ClassAsSimpleParticipant_is_a_ReferredToClassInAssoc_extent;
    }
    private IRelationshipSet R204_ClassAsSupertype_is_a_ReferredToClassInAssoc_extent;
    public IRelationshipSet R204_ClassAsSupertype_is_a_ReferredToClassInAssocs() throws XtumlException {
        return R204_ClassAsSupertype_is_a_ReferredToClassInAssoc_extent;
    }
    private IRelationshipSet R205_ClassAsLink_is_a_ReferringClassInAssoc_extent;
    public IRelationshipSet R205_ClassAsLink_is_a_ReferringClassInAssocs() throws XtumlException {
        return R205_ClassAsLink_is_a_ReferringClassInAssoc_extent;
    }
    private IRelationshipSet R205_ClassAsSimpleFormalizer_is_a_ReferringClassInAssoc_extent;
    public IRelationshipSet R205_ClassAsSimpleFormalizer_is_a_ReferringClassInAssocs() throws XtumlException {
        return R205_ClassAsSimpleFormalizer_is_a_ReferringClassInAssoc_extent;
    }
    private IRelationshipSet R205_ClassAsSubtype_is_a_ReferringClassInAssoc_extent;
    public IRelationshipSet R205_ClassAsSubtype_is_a_ReferringClassInAssocs() throws XtumlException {
        return R205_ClassAsSubtype_is_a_ReferringClassInAssoc_extent;
    }
    private IRelationshipSet R206_DerivedAssociation_is_a_Association_extent;
    public IRelationshipSet R206_DerivedAssociation_is_a_Associations() throws XtumlException {
        return R206_DerivedAssociation_is_a_Association_extent;
    }
    private IRelationshipSet R206_LinkedAssociation_is_a_Association_extent;
    public IRelationshipSet R206_LinkedAssociation_is_a_Associations() throws XtumlException {
        return R206_LinkedAssociation_is_a_Association_extent;
    }
    private IRelationshipSet R206_SimpleAssociation_is_a_Association_extent;
    public IRelationshipSet R206_SimpleAssociation_is_a_Associations() throws XtumlException {
        return R206_SimpleAssociation_is_a_Association_extent;
    }
    private IRelationshipSet R206_SubtypeSupertypeAssociation_is_a_Association_extent;
    public IRelationshipSet R206_SubtypeSupertypeAssociation_is_a_Associations() throws XtumlException {
        return R206_SubtypeSupertypeAssociation_is_a_Association_extent;
    }
    private IRelationshipSet R207_ClassAsSimpleParticipant_is_related_to_formalizer_via_SimpleAssociation_extent;
    public IRelationshipSet R207_ClassAsSimpleParticipant_is_related_to_formalizer_via_SimpleAssociations() throws XtumlException {
        return R207_ClassAsSimpleParticipant_is_related_to_formalizer_via_SimpleAssociation_extent;
    }
    private IRelationshipSet R208_ClassAsSimpleFormalizer_is_related_to_participant_via_SimpleAssociation_extent;
    public IRelationshipSet R208_ClassAsSimpleFormalizer_is_related_to_participant_via_SimpleAssociations() throws XtumlException {
        return R208_ClassAsSimpleFormalizer_is_related_to_participant_via_SimpleAssociation_extent;
    }
    private IRelationshipSet R209_ClassAsAssociatedOneSide_is_related_to_other_side_via_LinkedAssociation_extent;
    public IRelationshipSet R209_ClassAsAssociatedOneSide_is_related_to_other_side_via_LinkedAssociations() throws XtumlException {
        return R209_ClassAsAssociatedOneSide_is_related_to_other_side_via_LinkedAssociation_extent;
    }
    private IRelationshipSet R20_Bridge_return_value_defined_by_DataType_extent;
    public IRelationshipSet R20_Bridge_return_value_defined_by_DataTypes() throws XtumlException {
        return R20_Bridge_return_value_defined_by_DataType_extent;
    }
    private IRelationshipSet R210_ClassAsAssociatedOtherSide_is_related_to_one_side_via_LinkedAssociation_extent;
    public IRelationshipSet R210_ClassAsAssociatedOtherSide_is_related_to_one_side_via_LinkedAssociations() throws XtumlException {
        return R210_ClassAsAssociatedOtherSide_is_related_to_one_side_via_LinkedAssociation_extent;
    }
    private IRelationshipSet R211_ClassAsLink_formalizes_association_between_associated_classes_LinkedAssociation_extent;
    public IRelationshipSet R211_ClassAsLink_formalizes_association_between_associated_classes_LinkedAssociations() throws XtumlException {
        return R211_ClassAsLink_formalizes_association_between_associated_classes_LinkedAssociation_extent;
    }
    private IRelationshipSet R212_ClassAsSupertype_is_related_to_subtypes_via_SubtypeSupertypeAssociation_extent;
    public IRelationshipSet R212_ClassAsSupertype_is_related_to_subtypes_via_SubtypeSupertypeAssociations() throws XtumlException {
        return R212_ClassAsSupertype_is_related_to_subtypes_via_SubtypeSupertypeAssociation_extent;
    }
    private IRelationshipSet R213_ClassAsSubtype_is_related_to_supertype_via_SubtypeSupertypeAssociation_extent;
    public IRelationshipSet R213_ClassAsSubtype_is_related_to_supertype_via_SubtypeSupertypeAssociations() throws XtumlException {
        return R213_ClassAsSubtype_is_related_to_supertype_via_SubtypeSupertypeAssociation_extent;
    }
    private IRelationshipSet R214_ClassAsDerivedOneSide_is_related_to_other_type_via_DerivedAssociation_extent;
    public IRelationshipSet R214_ClassAsDerivedOneSide_is_related_to_other_type_via_DerivedAssociations() throws XtumlException {
        return R214_ClassAsDerivedOneSide_is_related_to_other_type_via_DerivedAssociation_extent;
    }
    private IRelationshipSet R215_ClassAsDerivedOtherSide_is_related_to_one_side_via_DerivedAssociation_extent;
    public IRelationshipSet R215_ClassAsDerivedOtherSide_is_related_to_one_side_via_DerivedAssociations() throws XtumlException {
        return R215_ClassAsDerivedOtherSide_is_related_to_one_side_via_DerivedAssociation_extent;
    }
    private IRelationshipSet R21_BridgeParameter_contains_Bridge_extent;
    public IRelationshipSet R21_BridgeParameter_contains_Bridges() throws XtumlException {
        return R21_BridgeParameter_contains_Bridge_extent;
    }
    private IRelationshipSet R22_BridgeParameter_is_defined_by_DataType_extent;
    public IRelationshipSet R22_BridgeParameter_is_defined_by_DataTypes() throws XtumlException {
        return R22_BridgeParameter_is_defined_by_DataType_extent;
    }
    private IRelationshipSet R24_FunctionParameter_is_defined_for_S_SYNC_extent;
    public IRelationshipSet R24_FunctionParameter_is_defined_for_S_SYNCs() throws XtumlException {
        return R24_FunctionParameter_is_defined_for_S_SYNC_extent;
    }
    private IRelationshipSet R25_S_SYNC_has_return_type_of_DataType_extent;
    public IRelationshipSet R25_S_SYNC_has_return_type_of_DataTypes() throws XtumlException {
        return R25_S_SYNC_has_return_type_of_DataType_extent;
    }
    private IRelationshipSet R26_FunctionParameter_is_typed_by__DataType_extent;
    public IRelationshipSet R26_FunctionParameter_is_typed_by__DataTypes() throws XtumlException {
        return R26_FunctionParameter_is_typed_by__DataType_extent;
    }
    private IRelationshipSet R27_S_ENUM_is_defined_by_EnumerationDataType_extent;
    public IRelationshipSet R27_S_ENUM_is_defined_by_EnumerationDataTypes() throws XtumlException {
        return R27_S_ENUM_is_defined_by_EnumerationDataType_extent;
    }
    private IRelationshipSet R2821_Mark_is_marked_by_Feature_extent;
    public IRelationshipSet R2821_Mark_is_marked_by_Features() throws XtumlException {
        return R2821_Mark_is_marked_by_Feature_extent;
    }
    private IRelationshipSet R2821_Mark_marks_MarkableElementType_extent;
    public IRelationshipSet R2821_Mark_marks_MarkableElementTypes() throws XtumlException {
        return R2821_Mark_marks_MarkableElementType_extent;
    }
    private IRelationshipSet R2822_MarkableElementType_makes_available_Feature_extent;
    public IRelationshipSet R2822_MarkableElementType_makes_available_Features() throws XtumlException {
        return R2822_MarkableElementType_makes_available_Feature_extent;
    }
    private IRelationshipSet R2823_Mark_precedes_Mark_extent;
    public IRelationshipSet R2823_Mark_precedes_Marks() throws XtumlException {
        return R2823_Mark_precedes_Mark_extent;
    }
    private IRelationshipSet R2901_Link_originates_at_LinkParticipation_extent;
    public IRelationshipSet R2901_Link_originates_at_LinkParticipations() throws XtumlException {
        return R2901_Link_originates_at_LinkParticipation_extent;
    }
    private IRelationshipSet R2902_Link_ends_at_LinkParticipation_extent;
    public IRelationshipSet R2902_Link_ends_at_LinkParticipations() throws XtumlException {
        return R2902_Link_ends_at_LinkParticipation_extent;
    }
    private IRelationshipSet R2903_Link_has_associator_LinkParticipation_extent;
    public IRelationshipSet R2903_Link_has_associator_LinkParticipations() throws XtumlException {
        return R2903_Link_has_associator_LinkParticipation_extent;
    }
    private IRelationshipSet R2904_Link_is_instance_of_Association_extent;
    public IRelationshipSet R2904_Link_is_instance_of_Associations() throws XtumlException {
        return R2904_Link_is_instance_of_Association_extent;
    }
    private IRelationshipSet R2906_PendingEvent_is_instance_of_StateMachineEvent_extent;
    public IRelationshipSet R2906_PendingEvent_is_instance_of_StateMachineEvents() throws XtumlException {
        return R2906_PendingEvent_is_instance_of_StateMachineEvent_extent;
    }
    private IRelationshipSet R2907_PendingEvent_is_pending_for_I_INS_extent;
    public IRelationshipSet R2907_PendingEvent_is_pending_for_I_INSs() throws XtumlException {
        return R2907_PendingEvent_is_pending_for_I_INS_extent;
    }
    private IRelationshipSet R2908_PendingEvent_will_be_processed_after_PendingEvent_extent;
    public IRelationshipSet R2908_PendingEvent_will_be_processed_after_PendingEvents() throws XtumlException {
        return R2908_PendingEvent_will_be_processed_after_PendingEvent_extent;
    }
    private IRelationshipSet R2909_AttributeValue_defines_value_for_characteristic_of_I_INS_extent;
    public IRelationshipSet R2909_AttributeValue_defines_value_for_characteristic_of_I_INSs() throws XtumlException {
        return R2909_AttributeValue_defines_value_for_characteristic_of_I_INS_extent;
    }
    private IRelationshipSet R2910_AttributeValue_is_instance_of_O_ATTR_extent;
    public IRelationshipSet R2910_AttributeValue_is_instance_of_O_ATTRs() throws XtumlException {
        return R2910_AttributeValue_is_instance_of_O_ATTR_extent;
    }
    private IRelationshipSet R2915_I_INS_occupies_StateMachineState_extent;
    public IRelationshipSet R2915_I_INS_occupies_StateMachineStates() throws XtumlException {
        return R2915_I_INS_occupies_StateMachineState_extent;
    }
    private IRelationshipSet R2923_BlockInStackFrame_is_executed_within_the_context_of_StackFrame_extent;
    public IRelationshipSet R2923_BlockInStackFrame_is_executed_within_the_context_of_StackFrames() throws XtumlException {
        return R2923_BlockInStackFrame_is_executed_within_the_context_of_StackFrame_extent;
    }
    private IRelationshipSet R2923_BlockInStackFrame_supplies_context_for_Block_extent;
    public IRelationshipSet R2923_BlockInStackFrame_supplies_context_for_Blocks() throws XtumlException {
        return R2923_BlockInStackFrame_supplies_context_for_Block_extent;
    }
    private IRelationshipSet R2928_StackFrame_next_context_StackFrame_extent;
    public IRelationshipSet R2928_StackFrame_next_context_StackFrames() throws XtumlException {
        return R2928_StackFrame_next_context_StackFrame_extent;
    }
    private IRelationshipSet R2929_StackFrame_is_processed_by_Stack_extent;
    public IRelationshipSet R2929_StackFrame_is_processed_by_Stacks() throws XtumlException {
        return R2929_StackFrame_is_processed_by_Stack_extent;
    }
    private IRelationshipSet R2930_Stack_is_controlled_by_ComponentInstance_extent;
    public IRelationshipSet R2930_Stack_is_controlled_by_ComponentInstances() throws XtumlException {
        return R2930_Stack_is_controlled_by_ComponentInstance_extent;
    }
    private IRelationshipSet R2933_DataItemValue_PendingEvent_extent;
    public IRelationshipSet R2933_DataItemValue_PendingEvents() throws XtumlException {
        return R2933_DataItemValue_PendingEvent_extent;
    }
    private IRelationshipSet R2934_DataItemValue_StateMachineEventDataItem_extent;
    public IRelationshipSet R2934_DataItemValue_StateMachineEventDataItems() throws XtumlException {
        return R2934_DataItemValue_StateMachineEventDataItem_extent;
    }
    private IRelationshipSet R2935_PendingEvent_targets_I_INS_extent;
    public IRelationshipSet R2935_PendingEvent_targets_I_INSs() throws XtumlException {
        return R2935_PendingEvent_targets_I_INS_extent;
    }
    private IRelationshipSet R2937_PendingEvent_was_sent_from_I_INS_extent;
    public IRelationshipSet R2937_PendingEvent_was_sent_from_I_INSs() throws XtumlException {
        return R2937_PendingEvent_was_sent_from_I_INS_extent;
    }
    private IRelationshipSet R2939_PendingEvent_will_be_processed_before_PendingEvent_extent;
    public IRelationshipSet R2939_PendingEvent_will_be_processed_before_PendingEvents() throws XtumlException {
        return R2939_PendingEvent_will_be_processed_before_PendingEvent_extent;
    }
    private IRelationshipSet R2940_Timer_provides_delayed_delivery_of_PendingEvent_extent;
    public IRelationshipSet R2940_Timer_provides_delayed_delivery_of_PendingEvents() throws XtumlException {
        return R2940_Timer_provides_delayed_delivery_of_PendingEvent_extent;
    }
    private IRelationshipSet R2941_BlockInStackFrame_is_currently_visiting_ACT_SMT_extent;
    public IRelationshipSet R2941_BlockInStackFrame_is_currently_visiting_ACT_SMTs() throws XtumlException {
        return R2941_BlockInStackFrame_is_currently_visiting_ACT_SMT_extent;
    }
    private IRelationshipSet R2943_StackFrame_processed_by_Stack_extent;
    public IRelationshipSet R2943_StackFrame_processed_by_Stacks() throws XtumlException {
        return R2943_StackFrame_processed_by_Stack_extent;
    }
    private IRelationshipSet R2944_EventQueueEntry_ComponentInstance_extent;
    public IRelationshipSet R2944_EventQueueEntry_ComponentInstances() throws XtumlException {
        return R2944_EventQueueEntry_ComponentInstance_extent;
    }
    private IRelationshipSet R2944_EventQueueEntry_PendingEvent_extent;
    public IRelationshipSet R2944_EventQueueEntry_PendingEvents() throws XtumlException {
        return R2944_EventQueueEntry_PendingEvent_extent;
    }
    private IRelationshipSet R2945_EventQueueEntry_follows_EventQueueEntry_extent;
    public IRelationshipSet R2945_EventQueueEntry_follows_EventQueueEntrys() throws XtumlException {
        return R2945_EventQueueEntry_follows_EventQueueEntry_extent;
    }
    private IRelationshipSet R2946_SelfQueueEntry_ComponentInstance_extent;
    public IRelationshipSet R2946_SelfQueueEntry_ComponentInstances() throws XtumlException {
        return R2946_SelfQueueEntry_ComponentInstance_extent;
    }
    private IRelationshipSet R2946_SelfQueueEntry_PendingEvent_extent;
    public IRelationshipSet R2946_SelfQueueEntry_PendingEvents() throws XtumlException {
        return R2946_SelfQueueEntry_PendingEvent_extent;
    }
    private IRelationshipSet R2947_SelfQueueEntry_follows_SelfQueueEntry_extent;
    public IRelationshipSet R2947_SelfQueueEntry_follows_SelfQueueEntrys() throws XtumlException {
        return R2947_SelfQueueEntry_follows_SelfQueueEntry_extent;
    }
    private IRelationshipSet R2949_Monitor_monitored_by_ComponentInstance_extent;
    public IRelationshipSet R2949_Monitor_monitored_by_ComponentInstances() throws XtumlException {
        return R2949_Monitor_monitored_by_ComponentInstance_extent;
    }
    private IRelationshipSet R2949_Monitor_monitors_I_INS_extent;
    public IRelationshipSet R2949_Monitor_monitors_I_INSs() throws XtumlException {
        return R2949_Monitor_monitors_I_INS_extent;
    }
    private IRelationshipSet R2951_ValueInStackFrame_StackFrame_extent;
    public IRelationshipSet R2951_ValueInStackFrame_StackFrames() throws XtumlException {
        return R2951_ValueInStackFrame_StackFrame_extent;
    }
    private IRelationshipSet R2953_I_INS_entered_last_state_via_Transition_extent;
    public IRelationshipSet R2953_I_INS_entered_last_state_via_Transitions() throws XtumlException {
        return R2953_I_INS_entered_last_state_via_Transition_extent;
    }
    private IRelationshipSet R2954_StackFrame_has_context_I_INS_extent;
    public IRelationshipSet R2954_StackFrame_has_context_I_INSs() throws XtumlException {
        return R2954_StackFrame_has_context_I_INS_extent;
    }
    private IRelationshipSet R2955_ComponentInstance_is_verifying_instance_of_C_C_extent;
    public IRelationshipSet R2955_ComponentInstance_is_verifying_instance_of_C_Cs() throws XtumlException {
        return R2955_ComponentInstance_is_verifying_instance_of_C_C_extent;
    }
    private IRelationshipSet R2956_DataItemValue_PropertyParameter_extent;
    public IRelationshipSet R2956_DataItemValue_PropertyParameters() throws XtumlException {
        return R2956_DataItemValue_PropertyParameter_extent;
    }
    private IRelationshipSet R2957_I_INS_created_by_ComponentInstance_extent;
    public IRelationshipSet R2957_I_INS_created_by_ComponentInstances() throws XtumlException {
        return R2957_I_INS_created_by_ComponentInstance_extent;
    }
    private IRelationshipSet R2958_LinkParticipation_I_INS_extent;
    public IRelationshipSet R2958_LinkParticipation_I_INSs() throws XtumlException {
        return R2958_LinkParticipation_I_INS_extent;
    }
    private IRelationshipSet R2959_LinkParticipation_Association_extent;
    public IRelationshipSet R2959_LinkParticipation_Associations() throws XtumlException {
        return R2959_LinkParticipation_Association_extent;
    }
    private IRelationshipSet R2963_ComponentInstance_is_verifying_instance_of_ComponentReference_extent;
    public IRelationshipSet R2963_ComponentInstance_is_verifying_instance_of_ComponentReferences() throws XtumlException {
        return R2963_ComponentInstance_is_verifying_instance_of_ComponentReference_extent;
    }
    private IRelationshipSet R2964_PendingEvent_is_pending_in_ComponentInstance_extent;
    public IRelationshipSet R2964_PendingEvent_is_pending_in_ComponentInstances() throws XtumlException {
        return R2964_PendingEvent_is_pending_in_ComponentInstance_extent;
    }
    private IRelationshipSet R2965_StackFrame_blocked_by_StackFrame_extent;
    public IRelationshipSet R2965_StackFrame_blocked_by_StackFrames() throws XtumlException {
        return R2965_StackFrame_blocked_by_StackFrame_extent;
    }
    private IRelationshipSet R2966_IntercomponentQueueEntry_has_queued_StackFrame_extent;
    public IRelationshipSet R2966_IntercomponentQueueEntry_has_queued_StackFrames() throws XtumlException {
        return R2966_IntercomponentQueueEntry_has_queued_StackFrame_extent;
    }
    private IRelationshipSet R2966_IntercomponentQueueEntry_is_enqueued_with_Stack_extent;
    public IRelationshipSet R2966_IntercomponentQueueEntry_is_enqueued_with_Stacks() throws XtumlException {
        return R2966_IntercomponentQueueEntry_is_enqueued_with_Stack_extent;
    }
    private IRelationshipSet R2967_StackFrame_holds_return_value_for_Stack_extent;
    public IRelationshipSet R2967_StackFrame_holds_return_value_for_Stacks() throws XtumlException {
        return R2967_StackFrame_holds_return_value_for_Stack_extent;
    }
    private IRelationshipSet R2968_RuntimeChannel_is_interface_provider_to_ComponentInstance_extent;
    public IRelationshipSet R2968_RuntimeChannel_is_interface_provider_to_ComponentInstances() throws XtumlException {
        return R2968_RuntimeChannel_is_interface_provider_to_ComponentInstance_extent;
    }
    private IRelationshipSet R2968_RuntimeChannel_is_interface_requirer_of_ComponentInstance_extent;
    public IRelationshipSet R2968_RuntimeChannel_is_interface_requirer_of_ComponentInstances() throws XtumlException {
        return R2968_RuntimeChannel_is_interface_requirer_of_ComponentInstance_extent;
    }
    private IRelationshipSet R2969_RuntimeChannel_implements_Satisfaction_extent;
    public IRelationshipSet R2969_RuntimeChannel_implements_Satisfactions() throws XtumlException {
        return R2969_RuntimeChannel_implements_Satisfaction_extent;
    }
    private IRelationshipSet R2970_ComponentInstance_is_verifying_EP_PKG_extent;
    public IRelationshipSet R2970_ComponentInstance_is_verifying_EP_PKGs() throws XtumlException {
        return R2970_ComponentInstance_is_verifying_EP_PKG_extent;
    }
    private IRelationshipSet R2972_RuntimeChannel_implements_Delegation_extent;
    public IRelationshipSet R2972_RuntimeChannel_implements_Delegations() throws XtumlException {
        return R2972_RuntimeChannel_implements_Delegation_extent;
    }
    private IRelationshipSet R2973_RuntimeChannel_requirer_RuntimeChannel_extent;
    public IRelationshipSet R2973_RuntimeChannel_requirer_RuntimeChannels() throws XtumlException {
        return R2973_RuntimeChannel_requirer_RuntimeChannel_extent;
    }
    private IRelationshipSet R2974_ComponentInstanceContainer_ComponentInstance_extent;
    public IRelationshipSet R2974_ComponentInstanceContainer_ComponentInstances() throws XtumlException {
        return R2974_ComponentInstanceContainer_ComponentInstance_extent;
    }
    private IRelationshipSet R2975_ComponentInstance_ComponentInstanceContainer_extent;
    public IRelationshipSet R2975_ComponentInstance_ComponentInstanceContainers() throws XtumlException {
        return R2975_ComponentInstance_ComponentInstanceContainer_extent;
    }
    private IRelationshipSet R2976_PendingEvent_originates_from_ComponentInstance_extent;
    public IRelationshipSet R2976_PendingEvent_originates_from_ComponentInstances() throws XtumlException {
        return R2976_PendingEvent_originates_from_ComponentInstance_extent;
    }
    private IRelationshipSet R2977_IntercomponentQueueEntry_enqueued_by_ComponentInstance_extent;
    public IRelationshipSet R2977_IntercomponentQueueEntry_enqueued_by_ComponentInstances() throws XtumlException {
        return R2977_IntercomponentQueueEntry_enqueued_by_ComponentInstance_extent;
    }
    private IRelationshipSet R2978_ValueInStackFrame_Value_extent;
    public IRelationshipSet R2978_ValueInStackFrame_Values() throws XtumlException {
        return R2978_ValueInStackFrame_Value_extent;
    }
    private IRelationshipSet R3001_InstanceSerializer_invoked_by_PopulationLoader_extent;
    public IRelationshipSet R3001_InstanceSerializer_invoked_by_PopulationLoaders() throws XtumlException {
        return R3001_InstanceSerializer_invoked_by_PopulationLoader_extent;
    }
    private IRelationshipSet R3002_AttributeSerializer_invoked_by_InstanceSerializer_extent;
    public IRelationshipSet R3002_AttributeSerializer_invoked_by_InstanceSerializers() throws XtumlException {
        return R3002_AttributeSerializer_invoked_by_InstanceSerializer_extent;
    }
    private IRelationshipSet R3003_AttributeSerializer_follows_AttributeSerializer_extent;
    public IRelationshipSet R3003_AttributeSerializer_follows_AttributeSerializers() throws XtumlException {
        return R3003_AttributeSerializer_follows_AttributeSerializer_extent;
    }
    private IRelationshipSet R3004_BooleanSerializer_is_a_AttributeSerializer_extent;
    public IRelationshipSet R3004_BooleanSerializer_is_a_AttributeSerializers() throws XtumlException {
        return R3004_BooleanSerializer_is_a_AttributeSerializer_extent;
    }
    private IRelationshipSet R3004_GeneralSerializer_is_a_AttributeSerializer_extent;
    public IRelationshipSet R3004_GeneralSerializer_is_a_AttributeSerializers() throws XtumlException {
        return R3004_GeneralSerializer_is_a_AttributeSerializer_extent;
    }
    private IRelationshipSet R3004_IntegerSerializer_is_a_AttributeSerializer_extent;
    public IRelationshipSet R3004_IntegerSerializer_is_a_AttributeSerializers() throws XtumlException {
        return R3004_IntegerSerializer_is_a_AttributeSerializer_extent;
    }
    private IRelationshipSet R3004_RealSerializer_is_a_AttributeSerializer_extent;
    public IRelationshipSet R3004_RealSerializer_is_a_AttributeSerializers() throws XtumlException {
        return R3004_RealSerializer_is_a_AttributeSerializer_extent;
    }
    private IRelationshipSet R3004_StringSerializer_is_a_AttributeSerializer_extent;
    public IRelationshipSet R3004_StringSerializer_is_a_AttributeSerializers() throws XtumlException {
        return R3004_StringSerializer_is_a_AttributeSerializer_extent;
    }
    private IRelationshipSet R3004_UniqueIDSerializer_is_a_AttributeSerializer_extent;
    public IRelationshipSet R3004_UniqueIDSerializer_is_a_AttributeSerializers() throws XtumlException {
        return R3004_UniqueIDSerializer_is_a_AttributeSerializer_extent;
    }
    private IRelationshipSet R3005_InstanceLoader_invoked_by_PopulationLoader_extent;
    public IRelationshipSet R3005_InstanceLoader_invoked_by_PopulationLoaders() throws XtumlException {
        return R3005_InstanceLoader_invoked_by_PopulationLoader_extent;
    }
    private IRelationshipSet R3006_AttributeLoader_invoked_by_InstanceLoader_extent;
    public IRelationshipSet R3006_AttributeLoader_invoked_by_InstanceLoaders() throws XtumlException {
        return R3006_AttributeLoader_invoked_by_InstanceLoader_extent;
    }
    private IRelationshipSet R3007_AttributeLoader_follows_AttributeLoader_extent;
    public IRelationshipSet R3007_AttributeLoader_follows_AttributeLoaders() throws XtumlException {
        return R3007_AttributeLoader_follows_AttributeLoader_extent;
    }
    private IRelationshipSet R3008_BooleanLoader_is_a_AttributeLoader_extent;
    public IRelationshipSet R3008_BooleanLoader_is_a_AttributeLoaders() throws XtumlException {
        return R3008_BooleanLoader_is_a_AttributeLoader_extent;
    }
    private IRelationshipSet R3008_EnumeratorLoader_is_a_AttributeLoader_extent;
    public IRelationshipSet R3008_EnumeratorLoader_is_a_AttributeLoaders() throws XtumlException {
        return R3008_EnumeratorLoader_is_a_AttributeLoader_extent;
    }
    private IRelationshipSet R3008_GeneralLoader_is_a_AttributeLoader_extent;
    public IRelationshipSet R3008_GeneralLoader_is_a_AttributeLoaders() throws XtumlException {
        return R3008_GeneralLoader_is_a_AttributeLoader_extent;
    }
    private IRelationshipSet R3008_IntegerLoader_is_a_AttributeLoader_extent;
    public IRelationshipSet R3008_IntegerLoader_is_a_AttributeLoaders() throws XtumlException {
        return R3008_IntegerLoader_is_a_AttributeLoader_extent;
    }
    private IRelationshipSet R3008_RealLoader_is_a_AttributeLoader_extent;
    public IRelationshipSet R3008_RealLoader_is_a_AttributeLoaders() throws XtumlException {
        return R3008_RealLoader_is_a_AttributeLoader_extent;
    }
    private IRelationshipSet R3008_StringLoader_is_a_AttributeLoader_extent;
    public IRelationshipSet R3008_StringLoader_is_a_AttributeLoaders() throws XtumlException {
        return R3008_StringLoader_is_a_AttributeLoader_extent;
    }
    private IRelationshipSet R3009_PopulationLoader_GeneralFile_extent;
    public IRelationshipSet R3009_PopulationLoader_GeneralFiles() throws XtumlException {
        return R3009_PopulationLoader_GeneralFile_extent;
    }
    private IRelationshipSet R3010_EnumeratorLoader_EnumeratedType_extent;
    public IRelationshipSet R3010_EnumeratorLoader_EnumeratedTypes() throws XtumlException {
        return R3010_EnumeratorLoader_EnumeratedType_extent;
    }
    private IRelationshipSet R3011_BatchRelator_invoked_by_PopulationLoader_extent;
    public IRelationshipSet R3011_BatchRelator_invoked_by_PopulationLoaders() throws XtumlException {
        return R3011_BatchRelator_invoked_by_PopulationLoader_extent;
    }
    private IRelationshipSet R3012_AttributeComparison_evaluated_by_BatchRelator_extent;
    public IRelationshipSet R3012_AttributeComparison_evaluated_by_BatchRelators() throws XtumlException {
        return R3012_AttributeComparison_evaluated_by_BatchRelator_extent;
    }
    private IRelationshipSet R3013_GeneralLoader_Type_extent;
    public IRelationshipSet R3013_GeneralLoader_Types() throws XtumlException {
        return R3013_GeneralLoader_Type_extent;
    }
    private IRelationshipSet R3014_GeneralSerializer_Type_extent;
    public IRelationshipSet R3014_GeneralSerializer_Types() throws XtumlException {
        return R3014_GeneralSerializer_Type_extent;
    }
    private IRelationshipSet R3015_ClassInstanceSerializer_is_a_InstanceSerializer_extent;
    public IRelationshipSet R3015_ClassInstanceSerializer_is_a_InstanceSerializers() throws XtumlException {
        return R3015_ClassInstanceSerializer_is_a_InstanceSerializer_extent;
    }
    private IRelationshipSet R3015_EventInstanceSerializer_is_a_InstanceSerializer_extent;
    public IRelationshipSet R3015_EventInstanceSerializer_is_a_InstanceSerializers() throws XtumlException {
        return R3015_EventInstanceSerializer_is_a_InstanceSerializer_extent;
    }
    private IRelationshipSet R3015_TimerInstanceSerializer_is_a_InstanceSerializer_extent;
    public IRelationshipSet R3015_TimerInstanceSerializer_is_a_InstanceSerializers() throws XtumlException {
        return R3015_TimerInstanceSerializer_is_a_InstanceSerializer_extent;
    }
    private IRelationshipSet R3016_ClassInstanceLoader_is_a_InstanceLoader_extent;
    public IRelationshipSet R3016_ClassInstanceLoader_is_a_InstanceLoaders() throws XtumlException {
        return R3016_ClassInstanceLoader_is_a_InstanceLoader_extent;
    }
    private IRelationshipSet R3016_EventInstanceLoader_is_a_InstanceLoader_extent;
    public IRelationshipSet R3016_EventInstanceLoader_is_a_InstanceLoaders() throws XtumlException {
        return R3016_EventInstanceLoader_is_a_InstanceLoader_extent;
    }
    private IRelationshipSet R3016_TimerInstanceLoader_is_a_InstanceLoader_extent;
    public IRelationshipSet R3016_TimerInstanceLoader_is_a_InstanceLoaders() throws XtumlException {
        return R3016_TimerInstanceLoader_is_a_InstanceLoader_extent;
    }
    private IRelationshipSet R3017_EventInstanceLoader_ModelInst_extent;
    public IRelationshipSet R3017_EventInstanceLoader_ModelInsts() throws XtumlException {
        return R3017_EventInstanceLoader_ModelInst_extent;
    }
    private IRelationshipSet R3018_AttributeComparison_succeeds_AttributeComparison_extent;
    public IRelationshipSet R3018_AttributeComparison_succeeds_AttributeComparisons() throws XtumlException {
        return R3018_AttributeComparison_succeeds_AttributeComparison_extent;
    }
    private IRelationshipSet R3019_AssociationSerializerLoader_renders_for_PopulationLoader_extent;
    public IRelationshipSet R3019_AssociationSerializerLoader_renders_for_PopulationLoaders() throws XtumlException {
        return R3019_AssociationSerializerLoader_renders_for_PopulationLoader_extent;
    }
    private IRelationshipSet R3028_MultiInstanceRef_is_a_ReferredToClassProxy_extent;
    public IRelationshipSet R3028_MultiInstanceRef_is_a_ReferredToClassProxys() throws XtumlException {
        return R3028_MultiInstanceRef_is_a_ReferredToClassProxy_extent;
    }
    private IRelationshipSet R3028_SingleInstanceRef_is_a_ReferredToClassProxy_extent;
    public IRelationshipSet R3028_SingleInstanceRef_is_a_ReferredToClassProxys() throws XtumlException {
        return R3028_SingleInstanceRef_is_a_ReferredToClassProxy_extent;
    }
    private IRelationshipSet R3029_MultipleReferrerAssoc_is_a_AssociationSerializerLoader_extent;
    public IRelationshipSet R3029_MultipleReferrerAssoc_is_a_AssociationSerializerLoaders() throws XtumlException {
        return R3029_MultipleReferrerAssoc_is_a_AssociationSerializerLoader_extent;
    }
    private IRelationshipSet R3029_SingleReferrerAssoc_is_a_AssociationSerializerLoader_extent;
    public IRelationshipSet R3029_SingleReferrerAssoc_is_a_AssociationSerializerLoaders() throws XtumlException {
        return R3029_SingleReferrerAssoc_is_a_AssociationSerializerLoader_extent;
    }
    private IRelationshipSet R3030_ReferredToClassProxy_supplies_2nd_ID_code_for_SingleReferrerAssoc_extent;
    public IRelationshipSet R3030_ReferredToClassProxy_supplies_2nd_ID_code_for_SingleReferrerAssocs() throws XtumlException {
        return R3030_ReferredToClassProxy_supplies_2nd_ID_code_for_SingleReferrerAssoc_extent;
    }
    private IRelationshipSet R3035_ReferredToClassProxy_supplies_3rd_ID_code_for_SingleReferrerAssoc_extent;
    public IRelationshipSet R3035_ReferredToClassProxy_supplies_3rd_ID_code_for_SingleReferrerAssocs() throws XtumlException {
        return R3035_ReferredToClassProxy_supplies_3rd_ID_code_for_SingleReferrerAssoc_extent;
    }
    private IRelationshipSet R3036_ReferringClassProxy_renders_code_for_both_IDs_using_MultipleReferrerAssoc_extent;
    public IRelationshipSet R3036_ReferringClassProxy_renders_code_for_both_IDs_using_MultipleReferrerAssocs() throws XtumlException {
        return R3036_ReferringClassProxy_renders_code_for_both_IDs_using_MultipleReferrerAssoc_extent;
    }
    private IRelationshipSet R3800_TypeReference_based_on_Type_extent;
    public IRelationshipSet R3800_TypeReference_based_on_Types() throws XtumlException {
        return R3800_TypeReference_based_on_Type_extent;
    }
    private IRelationshipSet R3801_ArrayTypeReference_is_a_TypeReference_extent;
    public IRelationshipSet R3801_ArrayTypeReference_is_a_TypeReferences() throws XtumlException {
        return R3801_ArrayTypeReference_is_a_TypeReference_extent;
    }
    private IRelationshipSet R3801_BasicTypeReference_is_a_TypeReference_extent;
    public IRelationshipSet R3801_BasicTypeReference_is_a_TypeReferences() throws XtumlException {
        return R3801_BasicTypeReference_is_a_TypeReference_extent;
    }
    private IRelationshipSet R3802_UserDefinedType_based_on_Type_extent;
    public IRelationshipSet R3802_UserDefinedType_based_on_Types() throws XtumlException {
        return R3802_UserDefinedType_based_on_Type_extent;
    }
    private IRelationshipSet R3900_ArrayElementReference_has_root_Expression_extent;
    public IRelationshipSet R3900_ArrayElementReference_has_root_Expressions() throws XtumlException {
        return R3900_ArrayElementReference_has_root_Expression_extent;
    }
    private IRelationshipSet R3901_ArrayElementReference_has_index_Expression_extent;
    public IRelationshipSet R3901_ArrayElementReference_has_index_Expressions() throws XtumlException {
        return R3901_ArrayElementReference_has_index_Expression_extent;
    }
    private IRelationshipSet R3902_EventCreation_has_target_Expression_extent;
    public IRelationshipSet R3902_EventCreation_has_target_Expressions() throws XtumlException {
        return R3902_EventCreation_has_target_Expression_extent;
    }
    private IRelationshipSet R3903_EventCreation_has_base_Expression_extent;
    public IRelationshipSet R3903_EventCreation_has_base_Expressions() throws XtumlException {
        return R3903_EventCreation_has_base_Expression_extent;
    }
    private IRelationshipSet R3904_ActualParameter_FormalParameter_extent;
    public IRelationshipSet R3904_ActualParameter_FormalParameters() throws XtumlException {
        return R3904_ActualParameter_FormalParameter_extent;
    }
    private IRelationshipSet R3905_ActualParameter_precedes_ActualParameter_extent;
    public IRelationshipSet R3905_ActualParameter_precedes_ActualParameters() throws XtumlException {
        return R3905_ActualParameter_precedes_ActualParameter_extent;
    }
    private IRelationshipSet R3906_Where_sorts_set_by_Attribute_extent;
    public IRelationshipSet R3906_Where_sorts_set_by_Attributes() throws XtumlException {
        return R3906_Where_sorts_set_by_Attribute_extent;
    }
    private IRelationshipSet R3907_Promotion_promotes_Expression_extent;
    public IRelationshipSet R3907_Promotion_promotes_Expressions() throws XtumlException {
        return R3907_Promotion_promotes_Expression_extent;
    }
    private IRelationshipSet R4000_CodeBlock_is_invoked_in_InvocableObject_extent;
    public IRelationshipSet R4000_CodeBlock_is_invoked_in_InvocableObjects() throws XtumlException {
        return R4000_CodeBlock_is_invoked_in_InvocableObject_extent;
    }
    private IRelationshipSet R4002_Satisfaction_defines_required_satisfication_Requirement_extent;
    public IRelationshipSet R4002_Satisfaction_defines_required_satisfication_Requirements() throws XtumlException {
        return R4002_Satisfaction_defines_required_satisfication_Requirement_extent;
    }
    private IRelationshipSet R4002_Satisfaction_satisfies_Provision_extent;
    public IRelationshipSet R4002_Satisfaction_satisfies_Provisions() throws XtumlException {
        return R4002_Satisfaction_satisfies_Provision_extent;
    }
    private IRelationshipSet R4003_ExecutableProperty_provides_signature_of_C_I_extent;
    public IRelationshipSet R4003_ExecutableProperty_provides_signature_of_C_Is() throws XtumlException {
        return R4003_ExecutableProperty_provides_signature_of_C_I_extent;
    }
    private IRelationshipSet R4004_InterfaceOperation_is_a_ExecutableProperty_extent;
    public IRelationshipSet R4004_InterfaceOperation_is_a_ExecutablePropertys() throws XtumlException {
        return R4004_InterfaceOperation_is_a_ExecutableProperty_extent;
    }
    private IRelationshipSet R4004_InterfaceSignal_is_a_ExecutableProperty_extent;
    public IRelationshipSet R4004_InterfaceSignal_is_a_ExecutablePropertys() throws XtumlException {
        return R4004_InterfaceSignal_is_a_ExecutableProperty_extent;
    }
    private IRelationshipSet R4006_PropertyParameter_parameterizes_ExecutableProperty_extent;
    public IRelationshipSet R4006_PropertyParameter_parameterizes_ExecutablePropertys() throws XtumlException {
        return R4006_PropertyParameter_parameterizes_ExecutableProperty_extent;
    }
    private IRelationshipSet R4007_PropertyParameter_is_typed_by_DataType_extent;
    public IRelationshipSet R4007_PropertyParameter_is_typed_by_DataTypes() throws XtumlException {
        return R4007_PropertyParameter_is_typed_by_DataType_extent;
    }
    private IRelationshipSet R4008_InterfaceOperation_has_return_defined_by_DataType_extent;
    public IRelationshipSet R4008_InterfaceOperation_has_return_defined_by_DataTypes() throws XtumlException {
        return R4008_InterfaceOperation_has_return_defined_by_DataType_extent;
    }
    private IRelationshipSet R4009_Provision_is_a_InterfaceReference_extent;
    public IRelationshipSet R4009_Provision_is_a_InterfaceReferences() throws XtumlException {
        return R4009_Provision_is_a_InterfaceReference_extent;
    }
    private IRelationshipSet R4009_Requirement_is_a_InterfaceReference_extent;
    public IRelationshipSet R4009_Requirement_is_a_InterfaceReferences() throws XtumlException {
        return R4009_Requirement_is_a_InterfaceReference_extent;
    }
    private IRelationshipSet R4010_C_PO_appears_in_C_C_extent;
    public IRelationshipSet R4010_C_PO_appears_in_C_Cs() throws XtumlException {
        return R4010_C_PO_appears_in_C_C_extent;
    }
    private IRelationshipSet R4012_InterfaceReference_may_be_defined_by_C_I_extent;
    public IRelationshipSet R4012_InterfaceReference_may_be_defined_by_C_Is() throws XtumlException {
        return R4012_InterfaceReference_may_be_defined_by_C_I_extent;
    }
    private IRelationshipSet R4013_InterfaceReferenceInDelegation_handles_delegation_for_InterfaceReference_extent;
    public IRelationshipSet R4013_InterfaceReferenceInDelegation_handles_delegation_for_InterfaceReferences() throws XtumlException {
        return R4013_InterfaceReferenceInDelegation_handles_delegation_for_InterfaceReference_extent;
    }
    private IRelationshipSet R4013_InterfaceReferenceInDelegation_may_delegate_through_Delegation_extent;
    public IRelationshipSet R4013_InterfaceReferenceInDelegation_may_delegate_through_Delegations() throws XtumlException {
        return R4013_InterfaceReferenceInDelegation_may_delegate_through_Delegation_extent;
    }
    private IRelationshipSet R4014_InterfaceReference_receives_delegation_via_Delegation_extent;
    public IRelationshipSet R4014_InterfaceReference_receives_delegation_via_Delegations() throws XtumlException {
        return R4014_InterfaceReference_receives_delegation_via_Delegation_extent;
    }
    private IRelationshipSet R4016_InterfaceReference_originates_from_C_PO_extent;
    public IRelationshipSet R4016_InterfaceReference_originates_from_C_POs() throws XtumlException {
        return R4016_InterfaceReference_originates_from_C_PO_extent;
    }
    private IRelationshipSet R4017_Dimensions_specifies_occurrences_of_PropertyParameter_extent;
    public IRelationshipSet R4017_Dimensions_specifies_occurrences_of_PropertyParameters() throws XtumlException {
        return R4017_Dimensions_specifies_occurrences_of_PropertyParameter_extent;
    }
    private IRelationshipSet R4018_Dimensions_defines_return_value_dimensions_for__InterfaceOperation_extent;
    public IRelationshipSet R4018_Dimensions_defines_return_value_dimensions_for__InterfaceOperations() throws XtumlException {
        return R4018_Dimensions_defines_return_value_dimensions_for__InterfaceOperation_extent;
    }
    private IRelationshipSet R4019_InterfaceOperation_succeeds_InterfaceOperation_extent;
    public IRelationshipSet R4019_InterfaceOperation_succeeds_InterfaceOperations() throws XtumlException {
        return R4019_InterfaceOperation_succeeds_InterfaceOperation_extent;
    }
    private IRelationshipSet R401_Application_is_a_File_extent;
    public IRelationshipSet R401_Application_is_a_Files() throws XtumlException {
        return R401_Application_is_a_File_extent;
    }
    private IRelationshipSet R401_ComponentDefinition_is_a_File_extent;
    public IRelationshipSet R401_ComponentDefinition_is_a_Files() throws XtumlException {
        return R401_ComponentDefinition_is_a_File_extent;
    }
    private IRelationshipSet R401_EnumeratedType_is_a_File_extent;
    public IRelationshipSet R401_EnumeratedType_is_a_Files() throws XtumlException {
        return R401_EnumeratedType_is_a_File_extent;
    }
    private IRelationshipSet R401_GeneralFile_is_a_File_extent;
    public IRelationshipSet R401_GeneralFile_is_a_Files() throws XtumlException {
        return R401_GeneralFile_is_a_File_extent;
    }
    private IRelationshipSet R401_Iface_is_a_File_extent;
    public IRelationshipSet R401_Iface_is_a_Files() throws XtumlException {
        return R401_Iface_is_a_File_extent;
    }
    private IRelationshipSet R401_InstSet_is_a_File_extent;
    public IRelationshipSet R401_InstSet_is_a_Files() throws XtumlException {
        return R401_InstSet_is_a_File_extent;
    }
    private IRelationshipSet R401_ModelInst_is_a_File_extent;
    public IRelationshipSet R401_ModelInst_is_a_Files() throws XtumlException {
        return R401_ModelInst_is_a_File_extent;
    }
    private IRelationshipSet R401_Port_is_a_File_extent;
    public IRelationshipSet R401_Port_is_a_Files() throws XtumlException {
        return R401_Port_is_a_File_extent;
    }
    private IRelationshipSet R401_StateMachine_is_a_File_extent;
    public IRelationshipSet R401_StateMachine_is_a_Files() throws XtumlException {
        return R401_StateMachine_is_a_File_extent;
    }
    private IRelationshipSet R401_UserDefinedType_is_a_File_extent;
    public IRelationshipSet R401_UserDefinedType_is_a_Files() throws XtumlException {
        return R401_UserDefinedType_is_a_File_extent;
    }
    private IRelationshipSet R401_Utility_is_a_File_extent;
    public IRelationshipSet R401_Utility_is_a_Files() throws XtumlException {
        return R401_Utility_is_a_File_extent;
    }
    private IRelationshipSet R4020_InterfaceSignal_succeeds_InterfaceSignal_extent;
    public IRelationshipSet R4020_InterfaceSignal_succeeds_InterfaceSignals() throws XtumlException {
        return R4020_InterfaceSignal_succeeds_InterfaceSignal_extent;
    }
    private IRelationshipSet R4021_PropertyParameter_succeeds_PropertyParameter_extent;
    public IRelationshipSet R4021_PropertyParameter_succeeds_PropertyParameters() throws XtumlException {
        return R4021_PropertyParameter_succeeds_PropertyParameter_extent;
    }
    private IRelationshipSet R4027_ApplicationExecutor_executes_tasks_for_Application_extent;
    public IRelationshipSet R4027_ApplicationExecutor_executes_tasks_for_Applications() throws XtumlException {
        return R4027_ApplicationExecutor_executes_tasks_for_Application_extent;
    }
    private IRelationshipSet R4028_ComponentInstantiation_is_executed_by_ApplicationExecutor_extent;
    public IRelationshipSet R4028_ComponentInstantiation_is_executed_by_ApplicationExecutors() throws XtumlException {
        return R4028_ComponentInstantiation_is_executed_by_ApplicationExecutor_extent;
    }
    private IRelationshipSet R4029_ComponentInstantiation_precedes_ComponentInstantiation_extent;
    public IRelationshipSet R4029_ComponentInstantiation_precedes_ComponentInstantiations() throws XtumlException {
        return R4029_ComponentInstantiation_precedes_ComponentInstantiation_extent;
    }
    private IRelationshipSet R402_TypeImportReference_imports_type_into_context_of_File_extent;
    public IRelationshipSet R402_TypeImportReference_imports_type_into_context_of_Files() throws XtumlException {
        return R402_TypeImportReference_imports_type_into_context_of_File_extent;
    }
    private IRelationshipSet R402_TypeImportReference_imports_type_via_TypeImport_extent;
    public IRelationshipSet R402_TypeImportReference_imports_type_via_TypeImports() throws XtumlException {
        return R402_TypeImportReference_imports_type_via_TypeImport_extent;
    }
    private IRelationshipSet R404_FormalParameter_precedes_FormalParameter_extent;
    public IRelationshipSet R404_FormalParameter_precedes_FormalParameters() throws XtumlException {
        return R404_FormalParameter_precedes_FormalParameter_extent;
    }
    private IRelationshipSet R405_Function_can_execute_synchronously_within_ComponentDefinition_extent;
    public IRelationshipSet R405_Function_can_execute_synchronously_within_ComponentDefinitions() throws XtumlException {
        return R405_Function_can_execute_synchronously_within_ComponentDefinition_extent;
    }
    private IRelationshipSet R406_InstSet_defines_set_with_elements_of_type_ModelInst_extent;
    public IRelationshipSet R406_InstSet_defines_set_with_elements_of_type_ModelInsts() throws XtumlException {
        return R406_InstSet_defines_set_with_elements_of_type_ModelInst_extent;
    }
    private IRelationshipSet R407_BuiltInType_is_a_Type_extent;
    public IRelationshipSet R407_BuiltInType_is_a_Types() throws XtumlException {
        return R407_BuiltInType_is_a_Type_extent;
    }
    private IRelationshipSet R407_EnumeratedType_is_a_Type_extent;
    public IRelationshipSet R407_EnumeratedType_is_a_Types() throws XtumlException {
        return R407_EnumeratedType_is_a_Type_extent;
    }
    private IRelationshipSet R407_InstSet_is_a_Type_extent;
    public IRelationshipSet R407_InstSet_is_a_Types() throws XtumlException {
        return R407_InstSet_is_a_Type_extent;
    }
    private IRelationshipSet R407_ModelInst_is_a_Type_extent;
    public IRelationshipSet R407_ModelInst_is_a_Types() throws XtumlException {
        return R407_ModelInst_is_a_Type_extent;
    }
    private IRelationshipSet R407_UnresolvedType_is_a_Type_extent;
    public IRelationshipSet R407_UnresolvedType_is_a_Types() throws XtumlException {
        return R407_UnresolvedType_is_a_Type_extent;
    }
    private IRelationshipSet R407_UserDefinedType_is_a_Type_extent;
    public IRelationshipSet R407_UserDefinedType_is_a_Types() throws XtumlException {
        return R407_UserDefinedType_is_a_Type_extent;
    }
    private IRelationshipSet R408_ModelInst_forms_instance_population_of_ComponentDefinition_extent;
    public IRelationshipSet R408_ModelInst_forms_instance_population_of_ComponentDefinitions() throws XtumlException {
        return R408_ModelInst_forms_instance_population_of_ComponentDefinition_extent;
    }
    private IRelationshipSet R409_ModelInst_ModelClass_extent;
    public IRelationshipSet R409_ModelInst_ModelClasss() throws XtumlException {
        return R409_ModelInst_ModelClass_extent;
    }
    private IRelationshipSet R410_Attribute_abstracts_data_for_ModelInst_extent;
    public IRelationshipSet R410_Attribute_abstracts_data_for_ModelInsts() throws XtumlException {
        return R410_Attribute_abstracts_data_for_ModelInst_extent;
    }
    private IRelationshipSet R414_O_ATTR_Attribute_extent;
    public IRelationshipSet R414_O_ATTR_Attributes() throws XtumlException {
        return R414_O_ATTR_Attribute_extent;
    }
    private IRelationshipSet R415_Enumerator_is_unique_value_of_EnumeratedType_extent;
    public IRelationshipSet R415_Enumerator_is_unique_value_of_EnumeratedTypes() throws XtumlException {
        return R415_Enumerator_is_unique_value_of_EnumeratedType_extent;
    }
    private IRelationshipSet R4160_Port_satisfies_provided_Port_extent;
    public IRelationshipSet R4160_Port_satisfies_provided_Ports() throws XtumlException {
        return R4160_Port_satisfies_provided_Port_extent;
    }
    private IRelationshipSet R416_Operation_provided_by_ModelInst_extent;
    public IRelationshipSet R416_Operation_provided_by_ModelInsts() throws XtumlException {
        return R416_Operation_provided_by_ModelInst_extent;
    }
    private IRelationshipSet R417_Port_passes_messages_for_ComponentDefinition_extent;
    public IRelationshipSet R417_Port_passes_messages_for_ComponentDefinitions() throws XtumlException {
        return R417_Port_passes_messages_for_ComponentDefinition_extent;
    }
    private IRelationshipSet R418_Port_implements_Iface_extent;
    public IRelationshipSet R418_Port_implements_Ifaces() throws XtumlException {
        return R418_Port_implements_Iface_extent;
    }
    private IRelationshipSet R419_Message_defines_message_format_for_Iface_extent;
    public IRelationshipSet R419_Message_defines_message_format_for_Ifaces() throws XtumlException {
        return R419_Message_defines_message_format_for_Iface_extent;
    }
    private IRelationshipSet R4201_ComponentReference_represents_C_C_extent;
    public IRelationshipSet R4201_ComponentReference_represents_C_Cs() throws XtumlException {
        return R4201_ComponentReference_represents_C_C_extent;
    }
    private IRelationshipSet R4205_ComponentReference_nested_in_C_C_extent;
    public IRelationshipSet R4205_ComponentReference_nested_in_C_Cs() throws XtumlException {
        return R4205_ComponentReference_nested_in_C_C_extent;
    }
    private IRelationshipSet R420_PortMessage_is_implemented_within_Port_extent;
    public IRelationshipSet R420_PortMessage_is_implemented_within_Ports() throws XtumlException {
        return R420_PortMessage_is_implemented_within_Port_extent;
    }
    private IRelationshipSet R420_PortMessage_provides_implementation_for_Message_extent;
    public IRelationshipSet R420_PortMessage_provides_implementation_for_Messages() throws XtumlException {
        return R420_PortMessage_provides_implementation_for_Message_extent;
    }
    private IRelationshipSet R421_Iface_C_I_extent;
    public IRelationshipSet R421_Iface_C_Is() throws XtumlException {
        return R421_Iface_C_I_extent;
    }
    private IRelationshipSet R422_Port_C_PO_extent;
    public IRelationshipSet R422_Port_C_POs() throws XtumlException {
        return R422_Port_C_PO_extent;
    }
    private IRelationshipSet R423_Type_DataType_extent;
    public IRelationshipSet R423_Type_DataTypes() throws XtumlException {
        return R423_Type_DataType_extent;
    }
    private IRelationshipSet R424_Attribute_is_typed_by_TypeReference_extent;
    public IRelationshipSet R424_Attribute_is_typed_by_TypeReferences() throws XtumlException {
        return R424_Attribute_is_typed_by_TypeReference_extent;
    }
    private IRelationshipSet R426_ComponentInstantiation_is_broken_into_ComponentDefinition_extent;
    public IRelationshipSet R426_ComponentInstantiation_is_broken_into_ComponentDefinitions() throws XtumlException {
        return R426_ComponentInstantiation_is_broken_into_ComponentDefinition_extent;
    }
    private IRelationshipSet R426_ComponentInstantiation_is_instantiated_by_Application_extent;
    public IRelationshipSet R426_ComponentInstantiation_is_instantiated_by_Applications() throws XtumlException {
        return R426_ComponentInstantiation_is_instantiated_by_Application_extent;
    }
    private IRelationshipSet R427_AttributeDerivation_is_a_InvocableObject_extent;
    public IRelationshipSet R427_AttributeDerivation_is_a_InvocableObjects() throws XtumlException {
        return R427_AttributeDerivation_is_a_InvocableObject_extent;
    }
    private IRelationshipSet R427_Event_is_a_InvocableObject_extent;
    public IRelationshipSet R427_Event_is_a_InvocableObjects() throws XtumlException {
        return R427_Event_is_a_InvocableObject_extent;
    }
    private IRelationshipSet R427_Function_is_a_InvocableObject_extent;
    public IRelationshipSet R427_Function_is_a_InvocableObjects() throws XtumlException {
        return R427_Function_is_a_InvocableObject_extent;
    }
    private IRelationshipSet R427_GenericInvocable_is_a_InvocableObject_extent;
    public IRelationshipSet R427_GenericInvocable_is_a_InvocableObjects() throws XtumlException {
        return R427_GenericInvocable_is_a_InvocableObject_extent;
    }
    private IRelationshipSet R427_Operation_is_a_InvocableObject_extent;
    public IRelationshipSet R427_Operation_is_a_InvocableObjects() throws XtumlException {
        return R427_Operation_is_a_InvocableObject_extent;
    }
    private IRelationshipSet R427_PortMessage_is_a_InvocableObject_extent;
    public IRelationshipSet R427_PortMessage_is_a_InvocableObjects() throws XtumlException {
        return R427_PortMessage_is_a_InvocableObject_extent;
    }
    private IRelationshipSet R427_StateTransition_is_a_InvocableObject_extent;
    public IRelationshipSet R427_StateTransition_is_a_InvocableObjects() throws XtumlException {
        return R427_StateTransition_is_a_InvocableObject_extent;
    }
    private IRelationshipSet R427_State_is_a_InvocableObject_extent;
    public IRelationshipSet R427_State_is_a_InvocableObjects() throws XtumlException {
        return R427_State_is_a_InvocableObject_extent;
    }
    private IRelationshipSet R427_UtilityFunction_is_a_InvocableObject_extent;
    public IRelationshipSet R427_UtilityFunction_is_a_InvocableObjects() throws XtumlException {
        return R427_UtilityFunction_is_a_InvocableObject_extent;
    }
    private IRelationshipSet R428_InvocableObject_return_value_is_typed_by_TypeReference_extent;
    public IRelationshipSet R428_InvocableObject_return_value_is_typed_by_TypeReferences() throws XtumlException {
        return R428_InvocableObject_return_value_is_typed_by_TypeReference_extent;
    }
    private IRelationshipSet R429_FormalParameter_shapes_data_for_InvocableObject_extent;
    public IRelationshipSet R429_FormalParameter_shapes_data_for_InvocableObjects() throws XtumlException {
        return R429_FormalParameter_shapes_data_for_InvocableObject_extent;
    }
    private IRelationshipSet R431_FormalParameter_is_typed_by_TypeReference_extent;
    public IRelationshipSet R431_FormalParameter_is_typed_by_TypeReferences() throws XtumlException {
        return R431_FormalParameter_is_typed_by_TypeReference_extent;
    }
    private IRelationshipSet R432_InvocableObject_Body_extent;
    public IRelationshipSet R432_InvocableObject_Bodys() throws XtumlException {
        return R432_InvocableObject_Body_extent;
    }
    private IRelationshipSet R434_ClassRelationship_has_participating_ModelInst_extent;
    public IRelationshipSet R434_ClassRelationship_has_participating_ModelInsts() throws XtumlException {
        return R434_ClassRelationship_has_participating_ModelInst_extent;
    }
    private IRelationshipSet R435_ClassRelationship_has_formalizing_ModelInst_extent;
    public IRelationshipSet R435_ClassRelationship_has_formalizing_ModelInsts() throws XtumlException {
        return R435_ClassRelationship_has_formalizing_ModelInst_extent;
    }
    private IRelationshipSet R436_ClassRelationship_is_other_half_of_associative_ClassRelationship_extent;
    public IRelationshipSet R436_ClassRelationship_is_other_half_of_associative_ClassRelationships() throws XtumlException {
        return R436_ClassRelationship_is_other_half_of_associative_ClassRelationship_extent;
    }
    private IRelationshipSet R441_AttributeDerivation_calculates_value_for_AttributeAccessor_extent;
    public IRelationshipSet R441_AttributeDerivation_calculates_value_for_AttributeAccessors() throws XtumlException {
        return R441_AttributeDerivation_calculates_value_for_AttributeAccessor_extent;
    }
    private IRelationshipSet R442_InstanceSelector_navigates_from_ModelInst_extent;
    public IRelationshipSet R442_InstanceSelector_navigates_from_ModelInsts() throws XtumlException {
        return R442_InstanceSelector_navigates_from_ModelInst_extent;
    }
    private IRelationshipSet R444_SetSelector_navigates_from_InstSet_extent;
    public IRelationshipSet R444_SetSelector_navigates_from_InstSets() throws XtumlException {
        return R444_SetSelector_navigates_from_InstSet_extent;
    }
    private IRelationshipSet R445_InstanceSelector_is_a_Selector_extent;
    public IRelationshipSet R445_InstanceSelector_is_a_Selectors() throws XtumlException {
        return R445_InstanceSelector_is_a_Selector_extent;
    }
    private IRelationshipSet R445_SetSelector_is_a_Selector_extent;
    public IRelationshipSet R445_SetSelector_is_a_Selectors() throws XtumlException {
        return R445_SetSelector_is_a_Selector_extent;
    }
    private IRelationshipSet R446_Selector_selects_instances_of_TypeReference_extent;
    public IRelationshipSet R446_Selector_selects_instances_of_TypeReferences() throws XtumlException {
        return R446_Selector_selects_instances_of_TypeReference_extent;
    }
    private IRelationshipSet R447_InstancePopulationSelector_selects_instances_out_of_population_of_ComponentDefinition_extent;
    public IRelationshipSet R447_InstancePopulationSelector_selects_instances_out_of_population_of_ComponentDefinitions() throws XtumlException {
        return R447_InstancePopulationSelector_selects_instances_out_of_population_of_ComponentDefinition_extent;
    }
    private IRelationshipSet R448_ClassRelationship_forms_relationship_population_of_ComponentDefinition_extent;
    public IRelationshipSet R448_ClassRelationship_forms_relationship_population_of_ComponentDefinitions() throws XtumlException {
        return R448_ClassRelationship_forms_relationship_population_of_ComponentDefinition_extent;
    }
    private IRelationshipSet R449_InstancePopulationSelector_selects_instances_of_ModelInst_extent;
    public IRelationshipSet R449_InstancePopulationSelector_selects_instances_of_ModelInsts() throws XtumlException {
        return R449_InstancePopulationSelector_selects_instances_of_ModelInst_extent;
    }
    private IRelationshipSet R44_StructureMember_has_parent_StructuredDataType_extent;
    public IRelationshipSet R44_StructureMember_has_parent_StructuredDataTypes() throws XtumlException {
        return R44_StructureMember_has_parent_StructuredDataType_extent;
    }
    private IRelationshipSet R4500_RequiredExecutableProperty_implements_ExecutableProperty_extent;
    public IRelationshipSet R4500_RequiredExecutableProperty_implements_ExecutablePropertys() throws XtumlException {
        return R4500_RequiredExecutableProperty_implements_ExecutableProperty_extent;
    }
    private IRelationshipSet R4500_RequiredExecutableProperty_is_implemented_by_Requirement_extent;
    public IRelationshipSet R4500_RequiredExecutableProperty_is_implemented_by_Requirements() throws XtumlException {
        return R4500_RequiredExecutableProperty_is_implemented_by_Requirement_extent;
    }
    private IRelationshipSet R4501_ProvidedExecutableProperty_implements_ExecutableProperty_extent;
    public IRelationshipSet R4501_ProvidedExecutableProperty_implements_ExecutablePropertys() throws XtumlException {
        return R4501_ProvidedExecutableProperty_implements_ExecutableProperty_extent;
    }
    private IRelationshipSet R4501_ProvidedExecutableProperty_is_implemented_by_Provision_extent;
    public IRelationshipSet R4501_ProvidedExecutableProperty_is_implemented_by_Provisions() throws XtumlException {
        return R4501_ProvidedExecutableProperty_is_implemented_by_Provision_extent;
    }
    private IRelationshipSet R4502_RequiredOperation_is_a_RequiredExecutableProperty_extent;
    public IRelationshipSet R4502_RequiredOperation_is_a_RequiredExecutablePropertys() throws XtumlException {
        return R4502_RequiredOperation_is_a_RequiredExecutableProperty_extent;
    }
    private IRelationshipSet R4502_RequiredSignal_is_a_RequiredExecutableProperty_extent;
    public IRelationshipSet R4502_RequiredSignal_is_a_RequiredExecutablePropertys() throws XtumlException {
        return R4502_RequiredSignal_is_a_RequiredExecutableProperty_extent;
    }
    private IRelationshipSet R4503_ProvidedOperation_is_a_ProvidedExecutableProperty_extent;
    public IRelationshipSet R4503_ProvidedOperation_is_a_ProvidedExecutablePropertys() throws XtumlException {
        return R4503_ProvidedOperation_is_a_ProvidedExecutableProperty_extent;
    }
    private IRelationshipSet R4503_ProvidedSignal_is_a_ProvidedExecutableProperty_extent;
    public IRelationshipSet R4503_ProvidedSignal_is_a_ProvidedExecutablePropertys() throws XtumlException {
        return R4503_ProvidedSignal_is_a_ProvidedExecutableProperty_extent;
    }
    private IRelationshipSet R4505_SetSelector_invokes_InstanceSelector_extent;
    public IRelationshipSet R4505_SetSelector_invokes_InstanceSelectors() throws XtumlException {
        return R4505_SetSelector_invokes_InstanceSelector_extent;
    }
    private IRelationshipSet R4506_AttributeReference_has_value_provided_by_Attribute_extent;
    public IRelationshipSet R4506_AttributeReference_has_value_provided_by_Attributes() throws XtumlException {
        return R4506_AttributeReference_has_value_provided_by_Attribute_extent;
    }
    private IRelationshipSet R4506_AttributeReference_provides_value_for_Attribute_extent;
    public IRelationshipSet R4506_AttributeReference_provides_value_for_Attributes() throws XtumlException {
        return R4506_AttributeReference_provides_value_for_Attribute_extent;
    }
    private IRelationshipSet R450_Statement_is_contained_by_CodeBlock_extent;
    public IRelationshipSet R450_Statement_is_contained_by_CodeBlocks() throws XtumlException {
        return R450_Statement_is_contained_by_CodeBlock_extent;
    }
    private IRelationshipSet R4510_AttributeAccessor_gets_and_sets_Attribute_extent;
    public IRelationshipSet R4510_AttributeAccessor_gets_and_sets_Attributes() throws XtumlException {
        return R4510_AttributeAccessor_gets_and_sets_Attribute_extent;
    }
    private IRelationshipSet R4511_AttributeReference_refers_to_another_attribute_through_ClassRelationship_extent;
    public IRelationshipSet R4511_AttributeReference_refers_to_another_attribute_through_ClassRelationships() throws XtumlException {
        return R4511_AttributeReference_refers_to_another_attribute_through_ClassRelationship_extent;
    }
    private IRelationshipSet R4512_Selector_traverses_across_ClassRelationship_extent;
    public IRelationshipSet R4512_Selector_traverses_across_ClassRelationships() throws XtumlException {
        return R4512_Selector_traverses_across_ClassRelationship_extent;
    }
    private IRelationshipSet R451_BreakSmt_is_a_Statement_extent;
    public IRelationshipSet R451_BreakSmt_is_a_Statements() throws XtumlException {
        return R451_BreakSmt_is_a_Statement_extent;
    }
    private IRelationshipSet R451_ContinueSmt_is_a_Statement_extent;
    public IRelationshipSet R451_ContinueSmt_is_a_Statements() throws XtumlException {
        return R451_ContinueSmt_is_a_Statement_extent;
    }
    private IRelationshipSet R451_DeleteSmt_is_a_Statement_extent;
    public IRelationshipSet R451_DeleteSmt_is_a_Statements() throws XtumlException {
        return R451_DeleteSmt_is_a_Statement_extent;
    }
    private IRelationshipSet R451_ExpressionAsStatement_is_a_Statement_extent;
    public IRelationshipSet R451_ExpressionAsStatement_is_a_Statements() throws XtumlException {
        return R451_ExpressionAsStatement_is_a_Statement_extent;
    }
    private IRelationshipSet R451_ForSmt_is_a_Statement_extent;
    public IRelationshipSet R451_ForSmt_is_a_Statements() throws XtumlException {
        return R451_ForSmt_is_a_Statement_extent;
    }
    private IRelationshipSet R451_Generate_is_a_Statement_extent;
    public IRelationshipSet R451_Generate_is_a_Statements() throws XtumlException {
        return R451_Generate_is_a_Statement_extent;
    }
    private IRelationshipSet R451_Halt_is_a_Statement_extent;
    public IRelationshipSet R451_Halt_is_a_Statements() throws XtumlException {
        return R451_Halt_is_a_Statement_extent;
    }
    private IRelationshipSet R451_IfSmt_is_a_Statement_extent;
    public IRelationshipSet R451_IfSmt_is_a_Statements() throws XtumlException {
        return R451_IfSmt_is_a_Statement_extent;
    }
    private IRelationshipSet R451_NullSmt_is_a_Statement_extent;
    public IRelationshipSet R451_NullSmt_is_a_Statements() throws XtumlException {
        return R451_NullSmt_is_a_Statement_extent;
    }
    private IRelationshipSet R451_RelateSmt_is_a_Statement_extent;
    public IRelationshipSet R451_RelateSmt_is_a_Statements() throws XtumlException {
        return R451_RelateSmt_is_a_Statement_extent;
    }
    private IRelationshipSet R451_ReturnSmt_is_a_Statement_extent;
    public IRelationshipSet R451_ReturnSmt_is_a_Statements() throws XtumlException {
        return R451_ReturnSmt_is_a_Statement_extent;
    }
    private IRelationshipSet R451_UnrelateSmt_is_a_Statement_extent;
    public IRelationshipSet R451_UnrelateSmt_is_a_Statements() throws XtumlException {
        return R451_UnrelateSmt_is_a_Statement_extent;
    }
    private IRelationshipSet R451_WhileSmt_is_a_Statement_extent;
    public IRelationshipSet R451_WhileSmt_is_a_Statements() throws XtumlException {
        return R451_WhileSmt_is_a_Statement_extent;
    }
    private IRelationshipSet R453_IfSmt_has_then_CodeBlock_extent;
    public IRelationshipSet R453_IfSmt_has_then_CodeBlocks() throws XtumlException {
        return R453_IfSmt_has_then_CodeBlock_extent;
    }
    private IRelationshipSet R454_IfSmt_has_else_CodeBlock_extent;
    public IRelationshipSet R454_IfSmt_has_else_CodeBlocks() throws XtumlException {
        return R454_IfSmt_has_else_CodeBlock_extent;
    }
    private IRelationshipSet R4558_UtilityReference_contains_Utility_extent;
    public IRelationshipSet R4558_UtilityReference_contains_Utilitys() throws XtumlException {
        return R4558_UtilityReference_contains_Utility_extent;
    }
    private IRelationshipSet R4558_UtilityReference_used_within_context_of_ComponentDefinition_extent;
    public IRelationshipSet R4558_UtilityReference_used_within_context_of_ComponentDefinitions() throws XtumlException {
        return R4558_UtilityReference_used_within_context_of_ComponentDefinition_extent;
    }
    private IRelationshipSet R4559_UtilityFunction_provided_by_Utility_extent;
    public IRelationshipSet R4559_UtilityFunction_provided_by_Utilitys() throws XtumlException {
        return R4559_UtilityFunction_provided_by_Utility_extent;
    }
    private IRelationshipSet R455_ForSmt_has_control_CodeBlock_extent;
    public IRelationshipSet R455_ForSmt_has_control_CodeBlocks() throws XtumlException {
        return R455_ForSmt_has_control_CodeBlock_extent;
    }
    private IRelationshipSet R4561_ComponentDefinition_initialized_by_Function_extent;
    public IRelationshipSet R4561_ComponentDefinition_initialized_by_Functions() throws XtumlException {
        return R4561_ComponentDefinition_initialized_by_Function_extent;
    }
    private IRelationshipSet R456_WhileSmt_has_control_CodeBlock_extent;
    public IRelationshipSet R456_WhileSmt_has_control_CodeBlocks() throws XtumlException {
        return R456_WhileSmt_has_control_CodeBlock_extent;
    }
    private IRelationshipSet R4570_UtilityFunction_Bridge_extent;
    public IRelationshipSet R4570_UtilityFunction_Bridges() throws XtumlException {
        return R4570_UtilityFunction_Bridge_extent;
    }
    private IRelationshipSet R4571_RelationshipPopulationSelector_selects_relationships_out_of_population_of_ComponentDefinition_extent;
    public IRelationshipSet R4571_RelationshipPopulationSelector_selects_relationships_out_of_population_of_ComponentDefinitions() throws XtumlException {
        return R4571_RelationshipPopulationSelector_selects_relationships_out_of_population_of_ComponentDefinition_extent;
    }
    private IRelationshipSet R4572_RelationshipPopulationSelector_selects_instances_of_ClassRelationship_extent;
    public IRelationshipSet R4572_RelationshipPopulationSelector_selects_instances_of_ClassRelationships() throws XtumlException {
        return R4572_RelationshipPopulationSelector_selects_instances_of_ClassRelationship_extent;
    }
    private IRelationshipSet R4573_ComponentDefinition_C_C_extent;
    public IRelationshipSet R4573_ComponentDefinition_C_Cs() throws XtumlException {
        return R4573_ComponentDefinition_C_C_extent;
    }
    private IRelationshipSet R457_Variable_is_declared_by_Statement_extent;
    public IRelationshipSet R457_Variable_is_declared_by_Statements() throws XtumlException {
        return R457_Variable_is_declared_by_Statement_extent;
    }
    private IRelationshipSet R458_VariableInScope_has_in_scope_Variable_extent;
    public IRelationshipSet R458_VariableInScope_has_in_scope_Variables() throws XtumlException {
        return R458_VariableInScope_has_in_scope_Variable_extent;
    }
    private IRelationshipSet R458_VariableInScope_is_in_scope_for_CodeBlock_extent;
    public IRelationshipSet R458_VariableInScope_is_in_scope_for_CodeBlocks() throws XtumlException {
        return R458_VariableInScope_is_in_scope_for_CodeBlock_extent;
    }
    private IRelationshipSet R459_ForSmt_declares_as_iterator_Variable_extent;
    public IRelationshipSet R459_ForSmt_declares_as_iterator_Variables() throws XtumlException {
        return R459_ForSmt_declares_as_iterator_Variable_extent;
    }
    private IRelationshipSet R45_StructureMember_is_defined_by_DataType_extent;
    public IRelationshipSet R45_StructureMember_is_defined_by_DataTypes() throws XtumlException {
        return R45_StructureMember_is_defined_by_DataType_extent;
    }
    private IRelationshipSet R461_Variable_is_typed_by_TypeReference_extent;
    public IRelationshipSet R461_Variable_is_typed_by_TypeReferences() throws XtumlException {
        return R461_Variable_is_typed_by_TypeReference_extent;
    }
    private IRelationshipSet R462_DeleteSmt_deletes_instance_specified_by_Expression_extent;
    public IRelationshipSet R462_DeleteSmt_deletes_instance_specified_by_Expressions() throws XtumlException {
        return R462_DeleteSmt_deletes_instance_specified_by_Expression_extent;
    }
    private IRelationshipSet R46_StructureMember_succeeds_StructureMember_extent;
    public IRelationshipSet R46_StructureMember_succeeds_StructureMembers() throws XtumlException {
        return R46_StructureMember_succeeds_StructureMember_extent;
    }
    private IRelationshipSet R4701_ImportedReference_imports_InterfaceReference_extent;
    public IRelationshipSet R4701_ImportedReference_imports_InterfaceReferences() throws XtumlException {
        return R4701_ImportedReference_imports_InterfaceReference_extent;
    }
    private IRelationshipSet R4703_ImportedProvision_is_a_ImportedReference_extent;
    public IRelationshipSet R4703_ImportedProvision_is_a_ImportedReferences() throws XtumlException {
        return R4703_ImportedProvision_is_a_ImportedReference_extent;
    }
    private IRelationshipSet R4703_ImportedRequirement_is_a_ImportedReference_extent;
    public IRelationshipSet R4703_ImportedRequirement_is_a_ImportedReferences() throws XtumlException {
        return R4703_ImportedRequirement_is_a_ImportedReference_extent;
    }
    private IRelationshipSet R4704_ImportedReference_accepts_communication_through_Delegation_extent;
    public IRelationshipSet R4704_ImportedReference_accepts_communication_through_Delegations() throws XtumlException {
        return R4704_ImportedReference_accepts_communication_through_Delegation_extent;
    }
    private IRelationshipSet R4705_ImportedProvisionInSatisfaction_provides_satisfaction_through_Satisfaction_extent;
    public IRelationshipSet R4705_ImportedProvisionInSatisfaction_provides_satisfaction_through_Satisfactions() throws XtumlException {
        return R4705_ImportedProvisionInSatisfaction_provides_satisfaction_through_Satisfaction_extent;
    }
    private IRelationshipSet R4705_ImportedProvisionInSatisfaction_satisfaction_made_with_ImportedProvision_extent;
    public IRelationshipSet R4705_ImportedProvisionInSatisfaction_satisfaction_made_with_ImportedProvisions() throws XtumlException {
        return R4705_ImportedProvisionInSatisfaction_satisfaction_made_with_ImportedProvision_extent;
    }
    private IRelationshipSet R4706_ImportedRequirement_provides_satisfaction_through_Satisfaction_extent;
    public IRelationshipSet R4706_ImportedRequirement_provides_satisfaction_through_Satisfactions() throws XtumlException {
        return R4706_ImportedRequirement_provides_satisfaction_through_Satisfaction_extent;
    }
    private IRelationshipSet R4707_PortReference_orginates_from_ComponentReference_extent;
    public IRelationshipSet R4707_PortReference_orginates_from_ComponentReferences() throws XtumlException {
        return R4707_PortReference_orginates_from_ComponentReference_extent;
    }
    private IRelationshipSet R4708_ImportedReference_originates_from_PortReference_extent;
    public IRelationshipSet R4708_ImportedReference_originates_from_PortReferences() throws XtumlException {
        return R4708_ImportedReference_originates_from_PortReference_extent;
    }
    private IRelationshipSet R4709_PortReference_references_C_PO_extent;
    public IRelationshipSet R4709_PortReference_references_C_POs() throws XtumlException {
        return R4709_PortReference_references_C_PO_extent;
    }
    private IRelationshipSet R471_IfSmt_executes_then_block_if_true_Expression_extent;
    public IRelationshipSet R471_IfSmt_executes_then_block_if_true_Expressions() throws XtumlException {
        return R471_IfSmt_executes_then_block_if_true_Expression_extent;
    }
    private IRelationshipSet R472_WhileSmt_executes_block_while_true_Expression_extent;
    public IRelationshipSet R472_WhileSmt_executes_block_while_true_Expressions() throws XtumlException {
        return R472_WhileSmt_executes_block_while_true_Expression_extent;
    }
    private IRelationshipSet R473_ReturnSmt_returns_value_specified_by_Expression_extent;
    public IRelationshipSet R473_ReturnSmt_returns_value_specified_by_Expressions() throws XtumlException {
        return R473_ReturnSmt_returns_value_specified_by_Expression_extent;
    }
    private IRelationshipSet R4750_StateMachine_models_behavior_of_ModelInst_extent;
    public IRelationshipSet R4750_StateMachine_models_behavior_of_ModelInsts() throws XtumlException {
        return R4750_StateMachine_models_behavior_of_ModelInst_extent;
    }
    private IRelationshipSet R4751_State_StateMachine_extent;
    public IRelationshipSet R4751_State_StateMachines() throws XtumlException {
        return R4751_State_StateMachine_extent;
    }
    private IRelationshipSet R4752_Event_StateMachine_extent;
    public IRelationshipSet R4752_Event_StateMachines() throws XtumlException {
        return R4752_Event_StateMachine_extent;
    }
    private IRelationshipSet R4753_TransitionTableRow_StateMachine_extent;
    public IRelationshipSet R4753_TransitionTableRow_StateMachines() throws XtumlException {
        return R4753_TransitionTableRow_StateMachine_extent;
    }
    private IRelationshipSet R4754_TransitionTableRow_State_extent;
    public IRelationshipSet R4754_TransitionTableRow_States() throws XtumlException {
        return R4754_TransitionTableRow_State_extent;
    }
    private IRelationshipSet R4755_TransitionTableCell_TransitionTableRow_extent;
    public IRelationshipSet R4755_TransitionTableCell_TransitionTableRows() throws XtumlException {
        return R4755_TransitionTableCell_TransitionTableRow_extent;
    }
    private IRelationshipSet R4756_TransitionTableCell_receives_Event_extent;
    public IRelationshipSet R4756_TransitionTableCell_receives_Events() throws XtumlException {
        return R4756_TransitionTableCell_receives_Event_extent;
    }
    private IRelationshipSet R4757_StateTransition_TransitionTableCell_extent;
    public IRelationshipSet R4757_StateTransition_TransitionTableCells() throws XtumlException {
        return R4757_StateTransition_TransitionTableCell_extent;
    }
    private IRelationshipSet R4757_StateTransition_transitions_to_State_extent;
    public IRelationshipSet R4757_StateTransition_transitions_to_States() throws XtumlException {
        return R4757_StateTransition_transitions_to_State_extent;
    }
    private IRelationshipSet R4758_StateMachineState_State_extent;
    public IRelationshipSet R4758_StateMachineState_States() throws XtumlException {
        return R4758_StateMachineState_State_extent;
    }
    private IRelationshipSet R4759_StateMachineEvent_Event_extent;
    public IRelationshipSet R4759_StateMachineEvent_Events() throws XtumlException {
        return R4759_StateMachineEvent_Event_extent;
    }
    private IRelationshipSet R476_ExpressionAsStatement_executes_as_statement_Expression_extent;
    public IRelationshipSet R476_ExpressionAsStatement_executes_as_statement_Expressions() throws XtumlException {
        return R476_ExpressionAsStatement_executes_as_statement_Expression_extent;
    }
    private IRelationshipSet R477_Statement_executes_before_Statement_extent;
    public IRelationshipSet R477_Statement_executes_before_Statements() throws XtumlException {
        return R477_Statement_executes_before_Statement_extent;
    }
    private IRelationshipSet R478_ForSmt_iterates_over_Expression_extent;
    public IRelationshipSet R478_ForSmt_iterates_over_Expressions() throws XtumlException {
        return R478_ForSmt_iterates_over_Expression_extent;
    }
    private IRelationshipSet R479_RelateSmt_relates_formalizing_Expression_extent;
    public IRelationshipSet R479_RelateSmt_relates_formalizing_Expressions() throws XtumlException {
        return R479_RelateSmt_relates_formalizing_Expression_extent;
    }
    private IRelationshipSet R480_RelateSmt_relates_participating_Expression_extent;
    public IRelationshipSet R480_RelateSmt_relates_participating_Expressions() throws XtumlException {
        return R480_RelateSmt_relates_participating_Expression_extent;
    }
    private IRelationshipSet R481_RelateSmt_creates_instances_of_ClassRelationship_extent;
    public IRelationshipSet R481_RelateSmt_creates_instances_of_ClassRelationships() throws XtumlException {
        return R481_RelateSmt_creates_instances_of_ClassRelationship_extent;
    }
    private IRelationshipSet R482_UnrelateSmt_unrelates_participating_Expression_extent;
    public IRelationshipSet R482_UnrelateSmt_unrelates_participating_Expressions() throws XtumlException {
        return R482_UnrelateSmt_unrelates_participating_Expression_extent;
    }
    private IRelationshipSet R483_UnrelateSmt_unrelates_formalizing_Expression_extent;
    public IRelationshipSet R483_UnrelateSmt_unrelates_formalizing_Expressions() throws XtumlException {
        return R483_UnrelateSmt_unrelates_formalizing_Expression_extent;
    }
    private IRelationshipSet R484_UnrelateSmt_deletes_instances_of_ClassRelationship_extent;
    public IRelationshipSet R484_UnrelateSmt_deletes_instances_of_ClassRelationships() throws XtumlException {
        return R484_UnrelateSmt_deletes_instances_of_ClassRelationship_extent;
    }
    private IRelationshipSet R485_Finalization_finalized_by_Statement_extent;
    public IRelationshipSet R485_Finalization_finalized_by_Statements() throws XtumlException {
        return R485_Finalization_finalized_by_Statement_extent;
    }
    private IRelationshipSet R485_Finalization_finalizes_Variable_extent;
    public IRelationshipSet R485_Finalization_finalizes_Variables() throws XtumlException {
        return R485_Finalization_finalizes_Variable_extent;
    }
    private IRelationshipSet R486_Generate_generates_Expression_extent;
    public IRelationshipSet R486_Generate_generates_Expressions() throws XtumlException {
        return R486_Generate_generates_Expression_extent;
    }
    private IRelationshipSet R49_Dimensions_specifies_occurrences_of_BridgeParameter_extent;
    public IRelationshipSet R49_Dimensions_specifies_occurrences_of_BridgeParameters() throws XtumlException {
        return R49_Dimensions_specifies_occurrences_of_BridgeParameter_extent;
    }
    private IRelationshipSet R501_StateMachineState_SM_SM_extent;
    public IRelationshipSet R501_StateMachineState_SM_SMs() throws XtumlException {
        return R501_StateMachineState_SM_SM_extent;
    }
    private IRelationshipSet R502_StateMachineEvent_SM_SM_extent;
    public IRelationshipSet R502_StateMachineEvent_SM_SMs() throws XtumlException {
        return R502_StateMachineEvent_SM_SM_extent;
    }
    private IRelationshipSet R503_StateEventMatrixEntry_is_received_by_StateMachineState_extent;
    public IRelationshipSet R503_StateEventMatrixEntry_is_received_by_StateMachineStates() throws XtumlException {
        return R503_StateEventMatrixEntry_is_received_by_StateMachineState_extent;
    }
    private IRelationshipSet R503_StateEventMatrixEntry_receives_SEMEvent_extent;
    public IRelationshipSet R503_StateEventMatrixEntry_receives_SEMEvents() throws XtumlException {
        return R503_StateEventMatrixEntry_receives_SEMEvent_extent;
    }
    private IRelationshipSet R504_CantHappen_is_a_StateEventMatrixEntry_extent;
    public IRelationshipSet R504_CantHappen_is_a_StateEventMatrixEntrys() throws XtumlException {
        return R504_CantHappen_is_a_StateEventMatrixEntry_extent;
    }
    private IRelationshipSet R504_EventIgnored_is_a_StateEventMatrixEntry_extent;
    public IRelationshipSet R504_EventIgnored_is_a_StateEventMatrixEntrys() throws XtumlException {
        return R504_EventIgnored_is_a_StateEventMatrixEntry_extent;
    }
    private IRelationshipSet R504_NewStateTransition_is_a_StateEventMatrixEntry_extent;
    public IRelationshipSet R504_NewStateTransition_is_a_StateEventMatrixEntrys() throws XtumlException {
        return R504_NewStateTransition_is_a_StateEventMatrixEntry_extent;
    }
    private IRelationshipSet R505_Transition_SM_SM_extent;
    public IRelationshipSet R505_Transition_SM_SMs() throws XtumlException {
        return R505_Transition_SM_SM_extent;
    }
    private IRelationshipSet R506_Transition_is_destined_to_StateMachineState_extent;
    public IRelationshipSet R506_Transition_is_destined_to_StateMachineStates() throws XtumlException {
        return R506_Transition_is_destined_to_StateMachineState_extent;
    }
    private IRelationshipSet R507_CreationTransition_is_a_Transition_extent;
    public IRelationshipSet R507_CreationTransition_is_a_Transitions() throws XtumlException {
        return R507_CreationTransition_is_a_Transition_extent;
    }
    private IRelationshipSet R507_NewStateTransition_is_a_Transition_extent;
    public IRelationshipSet R507_NewStateTransition_is_a_Transitions() throws XtumlException {
        return R507_NewStateTransition_is_a_Transition_extent;
    }
    private IRelationshipSet R507_NoEventTransition_is_a_Transition_extent;
    public IRelationshipSet R507_NoEventTransition_is_a_Transitions() throws XtumlException {
        return R507_NoEventTransition_is_a_Transition_extent;
    }
    private IRelationshipSet R508_NoEventTransition_originates_from_StateMachineState_extent;
    public IRelationshipSet R508_NoEventTransition_originates_from_StateMachineStates() throws XtumlException {
        return R508_NoEventTransition_originates_from_StateMachineState_extent;
    }
    private IRelationshipSet R509_CreationTransition_is_assigned_to_LocalEvent_extent;
    public IRelationshipSet R509_CreationTransition_is_assigned_to_LocalEvents() throws XtumlException {
        return R509_CreationTransition_is_assigned_to_LocalEvent_extent;
    }
    private IRelationshipSet R50_Dimensions_defines_return_value_dimensions_for_Bridge_extent;
    public IRelationshipSet R50_Dimensions_defines_return_value_dimensions_for_Bridges() throws XtumlException {
        return R50_Dimensions_defines_return_value_dimensions_for_Bridge_extent;
    }
    private IRelationshipSet R510_MealyStateMachine_is_a_SM_SM_extent;
    public IRelationshipSet R510_MealyStateMachine_is_a_SM_SMs() throws XtumlException {
        return R510_MealyStateMachine_is_a_SM_SM_extent;
    }
    private IRelationshipSet R510_MooreStateMachine_is_a_SM_SM_extent;
    public IRelationshipSet R510_MooreStateMachine_is_a_SM_SMs() throws XtumlException {
        return R510_MooreStateMachine_is_a_SM_SM_extent;
    }
    private IRelationshipSet R511_MooreActionHome_MooreStateMachine_extent;
    public IRelationshipSet R511_MooreActionHome_MooreStateMachines() throws XtumlException {
        return R511_MooreActionHome_MooreStateMachine_extent;
    }
    private IRelationshipSet R511_MooreActionHome_StateMachineState_extent;
    public IRelationshipSet R511_MooreActionHome_StateMachineStates() throws XtumlException {
        return R511_MooreActionHome_StateMachineState_extent;
    }
    private IRelationshipSet R512_MealyActionHome_MealyStateMachine_extent;
    public IRelationshipSet R512_MealyActionHome_MealyStateMachines() throws XtumlException {
        return R512_MealyActionHome_MealyStateMachine_extent;
    }
    private IRelationshipSet R512_MealyActionHome_Transition_extent;
    public IRelationshipSet R512_MealyActionHome_Transitions() throws XtumlException {
        return R512_MealyActionHome_Transition_extent;
    }
    private IRelationshipSet R513_MealyActionHome_is_a_ActionHome_extent;
    public IRelationshipSet R513_MealyActionHome_is_a_ActionHomes() throws XtumlException {
        return R513_MealyActionHome_is_a_ActionHome_extent;
    }
    private IRelationshipSet R513_MooreActionHome_is_a_ActionHome_extent;
    public IRelationshipSet R513_MooreActionHome_is_a_ActionHomes() throws XtumlException {
        return R513_MooreActionHome_is_a_ActionHome_extent;
    }
    private IRelationshipSet R513_TransitionActionHome_is_a_ActionHome_extent;
    public IRelationshipSet R513_TransitionActionHome_is_a_ActionHomes() throws XtumlException {
        return R513_TransitionActionHome_is_a_ActionHome_extent;
    }
    private IRelationshipSet R514_ActionHome_houses_Action_extent;
    public IRelationshipSet R514_ActionHome_houses_Actions() throws XtumlException {
        return R514_ActionHome_houses_Action_extent;
    }
    private IRelationshipSet R515_Action_SM_SM_extent;
    public IRelationshipSet R515_Action_SM_SMs() throws XtumlException {
        return R515_Action_SM_SM_extent;
    }
    private IRelationshipSet R516_StateMachineEventDataItem_is_carried_on_events_into_SM_SM_extent;
    public IRelationshipSet R516_StateMachineEventDataItem_is_carried_on_events_into_SM_SMs() throws XtumlException {
        return R516_StateMachineEventDataItem_is_carried_on_events_into_SM_SM_extent;
    }
    private IRelationshipSet R517_ClassStateMachine_is_a_SM_SM_extent;
    public IRelationshipSet R517_ClassStateMachine_is_a_SM_SMs() throws XtumlException {
        return R517_ClassStateMachine_is_a_SM_SM_extent;
    }
    private IRelationshipSet R517_InstanceStateMachine_is_a_SM_SM_extent;
    public IRelationshipSet R517_InstanceStateMachine_is_a_SM_SMs() throws XtumlException {
        return R517_InstanceStateMachine_is_a_SM_SM_extent;
    }
    private IRelationshipSet R518_InstanceStateMachine_ModelClass_extent;
    public IRelationshipSet R518_InstanceStateMachine_ModelClasss() throws XtumlException {
        return R518_InstanceStateMachine_ModelClass_extent;
    }
    private IRelationshipSet R519_ClassStateMachine_ModelClass_extent;
    public IRelationshipSet R519_ClassStateMachine_ModelClasss() throws XtumlException {
        return R519_ClassStateMachine_ModelClass_extent;
    }
    private IRelationshipSet R51_Dimensions_defines_return_value_dimensions_for_S_SYNC_extent;
    public IRelationshipSet R51_Dimensions_defines_return_value_dimensions_for_S_SYNCs() throws XtumlException {
        return R51_Dimensions_defines_return_value_dimensions_for_S_SYNC_extent;
    }
    private IRelationshipSet R524_StateMachineEventDataItem_is_defined_by_DataType_extent;
    public IRelationshipSet R524_StateMachineEventDataItem_is_defined_by_DataTypes() throws XtumlException {
        return R524_StateMachineEventDataItem_is_defined_by_DataType_extent;
    }
    private IRelationshipSet R525_PolymorphicEvent_is_a_StateMachineEvent_extent;
    public IRelationshipSet R525_PolymorphicEvent_is_a_StateMachineEvents() throws XtumlException {
        return R525_PolymorphicEvent_is_a_StateMachineEvent_extent;
    }
    private IRelationshipSet R525_SEMEvent_is_a_StateMachineEvent_extent;
    public IRelationshipSet R525_SEMEvent_is_a_StateMachineEvents() throws XtumlException {
        return R525_SEMEvent_is_a_StateMachineEvent_extent;
    }
    private IRelationshipSet R526_LocalEvent_is_a_SEMEvent_extent;
    public IRelationshipSet R526_LocalEvent_is_a_SEMEvents() throws XtumlException {
        return R526_LocalEvent_is_a_SEMEvent_extent;
    }
    private IRelationshipSet R526_NonLocalEvent_is_a_SEMEvent_extent;
    public IRelationshipSet R526_NonLocalEvent_is_a_SEMEvents() throws XtumlException {
        return R526_NonLocalEvent_is_a_SEMEvent_extent;
    }
    private IRelationshipSet R526_SignalEvent_is_a_SEMEvent_extent;
    public IRelationshipSet R526_SignalEvent_is_a_SEMEvents() throws XtumlException {
        return R526_SignalEvent_is_a_SEMEvent_extent;
    }
    private IRelationshipSet R527_NonLocalEvent_is_defined_by_PolymorphicEvent_extent;
    public IRelationshipSet R527_NonLocalEvent_is_defined_by_PolymorphicEvents() throws XtumlException {
        return R527_NonLocalEvent_is_defined_by_PolymorphicEvent_extent;
    }
    private IRelationshipSet R528_SignalEvent_ProvidedSignal_extent;
    public IRelationshipSet R528_SignalEvent_ProvidedSignals() throws XtumlException {
        return R528_SignalEvent_ProvidedSignal_extent;
    }
    private IRelationshipSet R529_SignalEvent_RequiredSignal_extent;
    public IRelationshipSet R529_SignalEvent_RequiredSignals() throws XtumlException {
        return R529_SignalEvent_RequiredSignal_extent;
    }
    private IRelationshipSet R52_Dimensions_specifies_occurrences_of_FunctionParameter_extent;
    public IRelationshipSet R52_Dimensions_specifies_occurrences_of_FunctionParameters() throws XtumlException {
        return R52_Dimensions_specifies_occurrences_of_FunctionParameter_extent;
    }
    private IRelationshipSet R530_TransitionActionHome_Transition_extent;
    public IRelationshipSet R530_TransitionActionHome_Transitions() throws XtumlException {
        return R530_TransitionActionHome_Transition_extent;
    }
    private IRelationshipSet R531_Dimensions_specifies_occurrences_of_StateMachineEventDataItem_extent;
    public IRelationshipSet R531_Dimensions_specifies_occurrences_of_StateMachineEventDataItems() throws XtumlException {
        return R531_Dimensions_specifies_occurrences_of_StateMachineEventDataItem_extent;
    }
    private IRelationshipSet R532_StateMachineEventDataItem_carried_by_StateMachineEvent_extent;
    public IRelationshipSet R532_StateMachineEventDataItem_carried_by_StateMachineEvents() throws XtumlException {
        return R532_StateMachineEventDataItem_carried_by_StateMachineEvent_extent;
    }
    private IRelationshipSet R533_StateMachineEventDataItem_succeeds_StateMachineEventDataItem_extent;
    public IRelationshipSet R533_StateMachineEventDataItem_succeeds_StateMachineEventDataItems() throws XtumlException {
        return R533_StateMachineEventDataItem_succeeds_StateMachineEventDataItem_extent;
    }
    private IRelationshipSet R53_Dimensions_specifies_occurrences_of_StructureMember_extent;
    public IRelationshipSet R53_Dimensions_specifies_occurrences_of_StructureMembers() throws XtumlException {
        return R53_Dimensions_specifies_occurrences_of_StructureMember_extent;
    }
    private IRelationshipSet R54_FunctionParameter_succeeds_FunctionParameter_extent;
    public IRelationshipSet R54_FunctionParameter_succeeds_FunctionParameters() throws XtumlException {
        return R54_FunctionParameter_succeeds_FunctionParameter_extent;
    }
    private IRelationshipSet R55_BridgeParameter_succeeds_BridgeParameter_extent;
    public IRelationshipSet R55_BridgeParameter_succeeds_BridgeParameters() throws XtumlException {
        return R55_BridgeParameter_succeeds_BridgeParameter_extent;
    }
    private IRelationshipSet R56_S_ENUM_succeeds_S_ENUM_extent;
    public IRelationshipSet R56_S_ENUM_succeeds_S_ENUMs() throws XtumlException {
        return R56_S_ENUM_succeeds_S_ENUM_extent;
    }
    private IRelationshipSet R57_Range_spans_UserDataType_extent;
    public IRelationshipSet R57_Range_spans_UserDataTypes() throws XtumlException {
        return R57_Range_spans_UserDataType_extent;
    }
    private IRelationshipSet R601_Block_is_committed_from_Body_extent;
    public IRelationshipSet R601_Block_is_committed_from_Bodys() throws XtumlException {
        return R601_Block_is_committed_from_Body_extent;
    }
    private IRelationshipSet R602_ACT_SMT_contains_Block_extent;
    public IRelationshipSet R602_ACT_SMT_contains_Blocks() throws XtumlException {
        return R602_ACT_SMT_contains_Block_extent;
    }
    private IRelationshipSet R603_ACT_BRK_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_ACT_BRK_is_a_ACT_SMTs() throws XtumlException {
        return R603_ACT_BRK_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_ACT_CON_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_ACT_CON_is_a_ACT_SMTs() throws XtumlException {
        return R603_ACT_CON_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_ACT_FIO_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_ACT_FIO_is_a_ACT_SMTs() throws XtumlException {
        return R603_ACT_FIO_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_ACT_SEL_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_ACT_SEL_is_a_ACT_SMTs() throws XtumlException {
        return R603_ACT_SEL_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_AssignToMember_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_AssignToMember_is_a_ACT_SMTs() throws XtumlException {
        return R603_AssignToMember_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_BridgeInvocation_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_BridgeInvocation_is_a_ACT_SMTs() throws XtumlException {
        return R603_BridgeInvocation_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_Control_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_Control_is_a_ACT_SMTs() throws XtumlException {
        return R603_Control_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_CreateNoVariable_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_CreateNoVariable_is_a_ACT_SMTs() throws XtumlException {
        return R603_CreateNoVariable_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_Create_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_Create_is_a_ACT_SMTs() throws XtumlException {
        return R603_Create_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_Delete_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_Delete_is_a_ACT_SMTs() throws XtumlException {
        return R603_Delete_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_ElseIfStmt_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_ElseIfStmt_is_a_ACT_SMTs() throws XtumlException {
        return R603_ElseIfStmt_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_ElseStmt_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_ElseStmt_is_a_ACT_SMTs() throws XtumlException {
        return R603_ElseStmt_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_EventSpecificationStatement_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_EventSpecificationStatement_is_a_ACT_SMTs() throws XtumlException {
        return R603_EventSpecificationStatement_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_ForStmt_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_ForStmt_is_a_ACT_SMTs() throws XtumlException {
        return R603_ForStmt_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_FunctionInvocation_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_FunctionInvocation_is_a_ACT_SMTs() throws XtumlException {
        return R603_FunctionInvocation_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_GeneratePreexistingEvent_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_GeneratePreexistingEvent_is_a_ACT_SMTs() throws XtumlException {
        return R603_GeneratePreexistingEvent_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_IfStmt_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_IfStmt_is_a_ACT_SMTs() throws XtumlException {
        return R603_IfStmt_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_InterfaceOperationInvocation_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_InterfaceOperationInvocation_is_a_ACT_SMTs() throws XtumlException {
        return R603_InterfaceOperationInvocation_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_OperationInvocation_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_OperationInvocation_is_a_ACT_SMTs() throws XtumlException {
        return R603_OperationInvocation_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_RelateUsing_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_RelateUsing_is_a_ACT_SMTs() throws XtumlException {
        return R603_RelateUsing_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_Relate_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_Relate_is_a_ACT_SMTs() throws XtumlException {
        return R603_Relate_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_ReturnStmt_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_ReturnStmt_is_a_ACT_SMTs() throws XtumlException {
        return R603_ReturnStmt_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_SelectFromInstancesWhere_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_SelectFromInstancesWhere_is_a_ACT_SMTs() throws XtumlException {
        return R603_SelectFromInstancesWhere_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_SignalInvocation_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_SignalInvocation_is_a_ACT_SMTs() throws XtumlException {
        return R603_SignalInvocation_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_UnrelateUsing_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_UnrelateUsing_is_a_ACT_SMTs() throws XtumlException {
        return R603_UnrelateUsing_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_Unrelate_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_Unrelate_is_a_ACT_SMTs() throws XtumlException {
        return R603_Unrelate_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R603_WhileStmt_is_a_ACT_SMT_extent;
    public IRelationshipSet R603_WhileStmt_is_a_ACT_SMTs() throws XtumlException {
        return R603_WhileStmt_is_a_ACT_SMT_extent;
    }
    private IRelationshipSet R604_ChainLink_precedes_ChainLink_extent;
    public IRelationshipSet R604_ChainLink_precedes_ChainLinks() throws XtumlException {
        return R604_ChainLink_precedes_ChainLink_extent;
    }
    private IRelationshipSet R605_ForStmt_controls_Block_extent;
    public IRelationshipSet R605_ForStmt_controls_Blocks() throws XtumlException {
        return R605_ForStmt_controls_Block_extent;
    }
    private IRelationshipSet R606_ElseStmt_controls_Block_extent;
    public IRelationshipSet R606_ElseStmt_controls_Blocks() throws XtumlException {
        return R606_ElseStmt_controls_Block_extent;
    }
    private IRelationshipSet R607_IfStmt_controls_Block_extent;
    public IRelationshipSet R607_IfStmt_controls_Blocks() throws XtumlException {
        return R607_IfStmt_controls_Block_extent;
    }
    private IRelationshipSet R608_WhileStmt_controls_Block_extent;
    public IRelationshipSet R608_WhileStmt_controls_Blocks() throws XtumlException {
        return R608_WhileStmt_controls_Block_extent;
    }
    private IRelationshipSet R609_AssignToMember_reads_Value_extent;
    public IRelationshipSet R609_AssignToMember_reads_Values() throws XtumlException {
        return R609_AssignToMember_reads_Value_extent;
    }
    private IRelationshipSet R610_SelectFromInstancesWhere_where_clause_Value_extent;
    public IRelationshipSet R610_SelectFromInstancesWhere_where_clause_Values() throws XtumlException {
        return R610_SelectFromInstancesWhere_where_clause_Value_extent;
    }
    private IRelationshipSet R611_SelectRelatedWhere_where_clause_Value_extent;
    public IRelationshipSet R611_SelectRelatedWhere_where_clause_Values() throws XtumlException {
        return R611_SelectRelatedWhere_where_clause_Value_extent;
    }
    private IRelationshipSet R612_Block_is_parsed_from_Body_extent;
    public IRelationshipSet R612_Block_is_parsed_from_Bodys() throws XtumlException {
        return R612_Block_is_parsed_from_Body_extent;
    }
    private IRelationshipSet R613_ACT_SEL_starting_point_Value_extent;
    public IRelationshipSet R613_ACT_SEL_starting_point_Values() throws XtumlException {
        return R613_ACT_SEL_starting_point_Value_extent;
    }
    private IRelationshipSet R614_ForStmt_loop_V_VAR_extent;
    public IRelationshipSet R614_ForStmt_loop_V_VARs() throws XtumlException {
        return R614_ForStmt_loop_V_VAR_extent;
    }
    private IRelationshipSet R615_Relate_one_V_VAR_extent;
    public IRelationshipSet R615_Relate_one_V_VARs() throws XtumlException {
        return R615_Relate_one_V_VAR_extent;
    }
    private IRelationshipSet R616_Relate_other_V_VAR_extent;
    public IRelationshipSet R616_Relate_other_V_VARs() throws XtumlException {
        return R616_Relate_other_V_VAR_extent;
    }
    private IRelationshipSet R617_RelateUsing_one_V_VAR_extent;
    public IRelationshipSet R617_RelateUsing_one_V_VARs() throws XtumlException {
        return R617_RelateUsing_one_V_VAR_extent;
    }
    private IRelationshipSet R618_RelateUsing_other_V_VAR_extent;
    public IRelationshipSet R618_RelateUsing_other_V_VARs() throws XtumlException {
        return R618_RelateUsing_other_V_VAR_extent;
    }
    private IRelationshipSet R619_RelateUsing_using_V_VAR_extent;
    public IRelationshipSet R619_RelateUsing_using_V_VARs() throws XtumlException {
        return R619_RelateUsing_using_V_VAR_extent;
    }
    private IRelationshipSet R620_Unrelate_one_V_VAR_extent;
    public IRelationshipSet R620_Unrelate_one_V_VARs() throws XtumlException {
        return R620_Unrelate_one_V_VAR_extent;
    }
    private IRelationshipSet R621_Unrelate_other_V_VAR_extent;
    public IRelationshipSet R621_Unrelate_other_V_VARs() throws XtumlException {
        return R621_Unrelate_other_V_VAR_extent;
    }
    private IRelationshipSet R622_UnrelateUsing_one_V_VAR_extent;
    public IRelationshipSet R622_UnrelateUsing_one_V_VARs() throws XtumlException {
        return R622_UnrelateUsing_one_V_VAR_extent;
    }
    private IRelationshipSet R623_UnrelateUsing_other_V_VAR_extent;
    public IRelationshipSet R623_UnrelateUsing_other_V_VARs() throws XtumlException {
        return R623_UnrelateUsing_other_V_VAR_extent;
    }
    private IRelationshipSet R624_UnrelateUsing_using_V_VAR_extent;
    public IRelationshipSet R624_UnrelateUsing_using_V_VARs() throws XtumlException {
        return R624_UnrelateUsing_using_V_VAR_extent;
    }
    private IRelationshipSet R625_IfStmt_test_result_Value_extent;
    public IRelationshipSet R625_IfStmt_test_result_Values() throws XtumlException {
        return R625_IfStmt_test_result_Value_extent;
    }
    private IRelationshipSet R626_WhileStmt_continue_result_Value_extent;
    public IRelationshipSet R626_WhileStmt_continue_result_Values() throws XtumlException {
        return R626_WhileStmt_continue_result_Value_extent;
    }
    private IRelationshipSet R627_V_PAR_OperationInvocation_extent;
    public IRelationshipSet R627_V_PAR_OperationInvocations() throws XtumlException {
        return R627_V_PAR_OperationInvocation_extent;
    }
    private IRelationshipSet R628_V_PAR_BridgeInvocation_extent;
    public IRelationshipSet R628_V_PAR_BridgeInvocations() throws XtumlException {
        return R628_V_PAR_BridgeInvocation_extent;
    }
    private IRelationshipSet R629_InterfaceOperationInvocation_has_target_Value_extent;
    public IRelationshipSet R629_InterfaceOperationInvocation_has_target_Values() throws XtumlException {
        return R629_InterfaceOperationInvocation_has_target_Value_extent;
    }
    private IRelationshipSet R630_SignalInvocation_has_target_Value_extent;
    public IRelationshipSet R630_SignalInvocation_has_target_Values() throws XtumlException {
        return R630_SignalInvocation_has_target_Value_extent;
    }
    private IRelationshipSet R633_Create_result_V_VAR_extent;
    public IRelationshipSet R633_Create_result_V_VARs() throws XtumlException {
        return R633_Create_result_V_VAR_extent;
    }
    private IRelationshipSet R634_Delete_destroys_V_VAR_extent;
    public IRelationshipSet R634_Delete_destroys_V_VARs() throws XtumlException {
        return R634_Delete_destroys_V_VAR_extent;
    }
    private IRelationshipSet R637_ChainLink_ACT_SEL_extent;
    public IRelationshipSet R637_ChainLink_ACT_SELs() throws XtumlException {
        return R637_ChainLink_ACT_SEL_extent;
    }
    private IRelationshipSet R638_ACT_SEL_selection_V_VAR_extent;
    public IRelationshipSet R638_ACT_SEL_selection_V_VARs() throws XtumlException {
        return R638_ACT_SEL_selection_V_VAR_extent;
    }
    private IRelationshipSet R639_ACT_FIO_selection_V_VAR_extent;
    public IRelationshipSet R639_ACT_FIO_selection_V_VARs() throws XtumlException {
        return R639_ACT_FIO_selection_V_VAR_extent;
    }
    private IRelationshipSet R640_BodyInElement_has_declared_Body_extent;
    public IRelationshipSet R640_BodyInElement_has_declared_Bodys() throws XtumlException {
        return R640_BodyInElement_has_declared_Body_extent;
    }
    private IRelationshipSet R640_BodyInElement_is_declared_in_PackageableElement_extent;
    public IRelationshipSet R640_BodyInElement_is_declared_in_PackageableElements() throws XtumlException {
        return R640_BodyInElement_is_declared_in_PackageableElement_extent;
    }
    private IRelationshipSet R650_Body_has_parsed_outer_Block_extent;
    public IRelationshipSet R650_Body_has_parsed_outer_Blocks() throws XtumlException {
        return R650_Body_has_parsed_outer_Block_extent;
    }
    private IRelationshipSet R652_ForStmt_set_V_VAR_extent;
    public IRelationshipSet R652_ForStmt_set_V_VARs() throws XtumlException {
        return R652_ForStmt_set_V_VAR_extent;
    }
    private IRelationshipSet R653_Relate_creates_Association_extent;
    public IRelationshipSet R653_Relate_creates_Associations() throws XtumlException {
        return R653_Relate_creates_Association_extent;
    }
    private IRelationshipSet R654_RelateUsing_creates_Association_extent;
    public IRelationshipSet R654_RelateUsing_creates_Associations() throws XtumlException {
        return R654_RelateUsing_creates_Association_extent;
    }
    private IRelationshipSet R655_Unrelate_destroys_Association_extent;
    public IRelationshipSet R655_Unrelate_destroys_Associations() throws XtumlException {
        return R655_Unrelate_destroys_Association_extent;
    }
    private IRelationshipSet R656_UnrelateUsing_destroys_Association_extent;
    public IRelationshipSet R656_UnrelateUsing_destroys_Associations() throws XtumlException {
        return R656_UnrelateUsing_destroys_Association_extent;
    }
    private IRelationshipSet R657_InterfaceOperationInvocation_is_invocation_of_RequiredOperation_extent;
    public IRelationshipSet R657_InterfaceOperationInvocation_is_invocation_of_RequiredOperations() throws XtumlException {
        return R657_InterfaceOperationInvocation_is_invocation_of_RequiredOperation_extent;
    }
    private IRelationshipSet R658_ElseIfStmt_controls_Block_extent;
    public IRelationshipSet R658_ElseIfStmt_controls_Blocks() throws XtumlException {
        return R658_ElseIfStmt_controls_Block_extent;
    }
    private IRelationshipSet R659_ElseIfStmt_test_result_Value_extent;
    public IRelationshipSet R659_ElseIfStmt_test_result_Values() throws XtumlException {
        return R659_ElseIfStmt_test_result_Value_extent;
    }
    private IRelationshipSet R660_SignalInvocation_is_invocation_of_RequiredSignal_extent;
    public IRelationshipSet R660_SignalInvocation_is_invocation_of_RequiredSignals() throws XtumlException {
        return R660_SignalInvocation_is_invocation_of_RequiredSignal_extent;
    }
    private IRelationshipSet R661_ACT_SMT_succeeds_ACT_SMT_extent;
    public IRelationshipSet R661_ACT_SMT_succeeds_ACT_SMTs() throws XtumlException {
        return R661_ACT_SMT_succeeds_ACT_SMT_extent;
    }
    private IRelationshipSet R662_V_PAR_taken_by_SignalInvocation_extent;
    public IRelationshipSet R662_V_PAR_taken_by_SignalInvocations() throws XtumlException {
        return R662_V_PAR_taken_by_SignalInvocation_extent;
    }
    private IRelationshipSet R663_SignalInvocation_is_invocation_of_ProvidedSignal_extent;
    public IRelationshipSet R663_SignalInvocation_is_invocation_of_ProvidedSignals() throws XtumlException {
        return R663_SignalInvocation_is_invocation_of_ProvidedSignal_extent;
    }
    private IRelationshipSet R664_SelectRelatedBy_is_a_ACT_SEL_extent;
    public IRelationshipSet R664_SelectRelatedBy_is_a_ACT_SELs() throws XtumlException {
        return R664_SelectRelatedBy_is_a_ACT_SEL_extent;
    }
    private IRelationshipSet R664_SelectRelatedWhere_is_a_ACT_SEL_extent;
    public IRelationshipSet R664_SelectRelatedWhere_is_a_ACT_SELs() throws XtumlException {
        return R664_SelectRelatedWhere_is_a_ACT_SEL_extent;
    }
    private IRelationshipSet R665_SelectFromInstancesWhere_result_V_VAR_extent;
    public IRelationshipSet R665_SelectFromInstancesWhere_result_V_VARs() throws XtumlException {
        return R665_SelectFromInstancesWhere_result_V_VAR_extent;
    }
    private IRelationshipSet R666_Body_has_committed_outer_Block_extent;
    public IRelationshipSet R666_Body_has_committed_outer_Blocks() throws XtumlException {
        return R666_Body_has_committed_outer_Block_extent;
    }
    private IRelationshipSet R667_OperationInvocation_has_target_V_VAR_extent;
    public IRelationshipSet R667_OperationInvocation_has_target_V_VARs() throws XtumlException {
        return R667_OperationInvocation_has_target_V_VAR_extent;
    }
    private IRelationshipSet R668_ReturnStmt_has_Value_extent;
    public IRelationshipSet R668_ReturnStmt_has_Values() throws XtumlException {
        return R668_ReturnStmt_has_Value_extent;
    }
    private IRelationshipSet R669_V_PAR_FunctionInvocation_extent;
    public IRelationshipSet R669_V_PAR_FunctionInvocations() throws XtumlException {
        return R669_V_PAR_FunctionInvocation_extent;
    }
    private IRelationshipSet R670_ForStmt_iterates_a_set_of_ModelClass_extent;
    public IRelationshipSet R670_ForStmt_iterates_a_set_of_ModelClasss() throws XtumlException {
        return R670_ForStmt_iterates_a_set_of_ModelClass_extent;
    }
    private IRelationshipSet R671_Create_instance_of_ModelClass_extent;
    public IRelationshipSet R671_Create_instance_of_ModelClasss() throws XtumlException {
        return R671_Create_instance_of_ModelClass_extent;
    }
    private IRelationshipSet R672_CreateNoVariable_instance_of_ModelClass_extent;
    public IRelationshipSet R672_CreateNoVariable_instance_of_ModelClasss() throws XtumlException {
        return R672_CreateNoVariable_instance_of_ModelClass_extent;
    }
    private IRelationshipSet R673_OperationInvocation_is_an_invocation_of_O_TFR_extent;
    public IRelationshipSet R673_OperationInvocation_is_an_invocation_of_O_TFRs() throws XtumlException {
        return R673_OperationInvocation_is_an_invocation_of_O_TFR_extent;
    }
    private IRelationshipSet R674_BridgeInvocation_is_an_invocation_of_Bridge_extent;
    public IRelationshipSet R674_BridgeInvocation_is_an_invocation_of_Bridges() throws XtumlException {
        return R674_BridgeInvocation_is_an_invocation_of_Bridge_extent;
    }
    private IRelationshipSet R675_FunctionInvocation_is_an_invocation_of_S_SYNC_extent;
    public IRelationshipSet R675_FunctionInvocation_is_an_invocation_of_S_SYNCs() throws XtumlException {
        return R675_FunctionInvocation_is_an_invocation_of_S_SYNC_extent;
    }
    private IRelationshipSet R676_SelectFromInstancesWhere_from_extent_of_ModelClass_extent;
    public IRelationshipSet R676_SelectFromInstancesWhere_from_extent_of_ModelClasss() throws XtumlException {
        return R676_SelectFromInstancesWhere_from_extent_of_ModelClass_extent;
    }
    private IRelationshipSet R677_ACT_FIO_from_extent_of_ModelClass_extent;
    public IRelationshipSet R677_ACT_FIO_from_extent_of_ModelClasss() throws XtumlException {
        return R677_ACT_FIO_from_extent_of_ModelClass_extent;
    }
    private IRelationshipSet R678_ChainLink_specifies_instances_of_ModelClass_extent;
    public IRelationshipSet R678_ChainLink_specifies_instances_of_ModelClasss() throws XtumlException {
        return R678_ChainLink_specifies_instances_of_ModelClass_extent;
    }
    private IRelationshipSet R679_V_PAR_taken_by_InterfaceOperationInvocation_extent;
    public IRelationshipSet R679_V_PAR_taken_by_InterfaceOperationInvocations() throws XtumlException {
        return R679_V_PAR_taken_by_InterfaceOperationInvocation_extent;
    }
    private IRelationshipSet R680_InterfaceOperationInvocation_is_invocation_of_ProvidedOperation_extent;
    public IRelationshipSet R680_InterfaceOperationInvocation_is_invocation_of_ProvidedOperations() throws XtumlException {
        return R680_InterfaceOperationInvocation_is_invocation_of_ProvidedOperation_extent;
    }
    private IRelationshipSet R681_ChainLink_specifies_traversal_of_Association_extent;
    public IRelationshipSet R681_ChainLink_specifies_traversal_of_Associations() throws XtumlException {
        return R681_ChainLink_specifies_traversal_of_Association_extent;
    }
    private IRelationshipSet R682_ElseIfStmt_IfStmt_extent;
    public IRelationshipSet R682_ElseIfStmt_IfStmts() throws XtumlException {
        return R682_ElseIfStmt_IfStmt_extent;
    }
    private IRelationshipSet R683_ElseStmt_IfStmt_extent;
    public IRelationshipSet R683_ElseStmt_IfStmts() throws XtumlException {
        return R683_ElseStmt_IfStmt_extent;
    }
    private IRelationshipSet R684_RequiredSignalBody_specifies_processing_for_RequiredSignal_extent;
    public IRelationshipSet R684_RequiredSignalBody_specifies_processing_for_RequiredSignals() throws XtumlException {
        return R684_RequiredSignalBody_specifies_processing_for_RequiredSignal_extent;
    }
    private IRelationshipSet R685_RequiredOperationBody_specifies_processing_for_RequiredOperation_extent;
    public IRelationshipSet R685_RequiredOperationBody_specifies_processing_for_RequiredOperations() throws XtumlException {
        return R685_RequiredOperationBody_specifies_processing_for_RequiredOperation_extent;
    }
    private IRelationshipSet R686_ProvidedSignalBody_specifies_processing_for_ProvidedSignal_extent;
    public IRelationshipSet R686_ProvidedSignalBody_specifies_processing_for_ProvidedSignals() throws XtumlException {
        return R686_ProvidedSignalBody_specifies_processing_for_ProvidedSignal_extent;
    }
    private IRelationshipSet R687_ProvidedOperationBody_specifies_processing_for_ProvidedOperation_extent;
    public IRelationshipSet R687_ProvidedOperationBody_specifies_processing_for_ProvidedOperations() throws XtumlException {
        return R687_ProvidedOperationBody_specifies_processing_for_ProvidedOperation_extent;
    }
    private IRelationshipSet R688_TransitionActionBody_specifies_processing_for_Action_extent;
    public IRelationshipSet R688_TransitionActionBody_specifies_processing_for_Actions() throws XtumlException {
        return R688_TransitionActionBody_specifies_processing_for_Action_extent;
    }
    private IRelationshipSet R689_AssignToMember_writes_Value_extent;
    public IRelationshipSet R689_AssignToMember_writes_Values() throws XtumlException {
        return R689_AssignToMember_writes_Value_extent;
    }
    private IRelationshipSet R690_IfStmt_was_executing_when_halted_ElseIfStmt_extent;
    public IRelationshipSet R690_IfStmt_was_executing_when_halted_ElseIfStmts() throws XtumlException {
        return R690_IfStmt_was_executing_when_halted_ElseIfStmt_extent;
    }
    private IRelationshipSet R691_StateActionBody_specifies_processing_for_Action_extent;
    public IRelationshipSet R691_StateActionBody_specifies_processing_for_Actions() throws XtumlException {
        return R691_StateActionBody_specifies_processing_for_Action_extent;
    }
    private IRelationshipSet R692_IfStmt_was_executing_when_halted_ElseStmt_extent;
    public IRelationshipSet R692_IfStmt_was_executing_when_halted_ElseStmts() throws XtumlException {
        return R692_IfStmt_was_executing_when_halted_ElseStmt_extent;
    }
    private IRelationshipSet R693_DerivedAttributeBody_specifies_processing_for_DerivedBaseAttribute_extent;
    public IRelationshipSet R693_DerivedAttributeBody_specifies_processing_for_DerivedBaseAttributes() throws XtumlException {
        return R693_DerivedAttributeBody_specifies_processing_for_DerivedBaseAttribute_extent;
    }
    private IRelationshipSet R694_BodyInComponent_has_declared_Body_extent;
    public IRelationshipSet R694_BodyInComponent_has_declared_Bodys() throws XtumlException {
        return R694_BodyInComponent_has_declared_Body_extent;
    }
    private IRelationshipSet R694_BodyInComponent_is_declared_in_C_C_extent;
    public IRelationshipSet R694_BodyInComponent_is_declared_in_C_Cs() throws XtumlException {
        return R694_BodyInComponent_is_declared_in_C_C_extent;
    }
    private IRelationshipSet R695_FunctionBody_specifies_processing_for_S_SYNC_extent;
    public IRelationshipSet R695_FunctionBody_specifies_processing_for_S_SYNCs() throws XtumlException {
        return R695_FunctionBody_specifies_processing_for_S_SYNC_extent;
    }
    private IRelationshipSet R696_OperationBody_specifies_processing_for_O_TFR_extent;
    public IRelationshipSet R696_OperationBody_specifies_processing_for_O_TFRs() throws XtumlException {
        return R696_OperationBody_specifies_processing_for_O_TFR_extent;
    }
    private IRelationshipSet R697_BridgeBody_specifies_processing_for_Bridge_extent;
    public IRelationshipSet R697_BridgeBody_specifies_processing_for_Bridges() throws XtumlException {
        return R697_BridgeBody_specifies_processing_for_Bridge_extent;
    }
    private IRelationshipSet R698_BridgeBody_is_a_Body_extent;
    public IRelationshipSet R698_BridgeBody_is_a_Bodys() throws XtumlException {
        return R698_BridgeBody_is_a_Body_extent;
    }
    private IRelationshipSet R698_DerivedAttributeBody_is_a_Body_extent;
    public IRelationshipSet R698_DerivedAttributeBody_is_a_Bodys() throws XtumlException {
        return R698_DerivedAttributeBody_is_a_Body_extent;
    }
    private IRelationshipSet R698_FunctionBody_is_a_Body_extent;
    public IRelationshipSet R698_FunctionBody_is_a_Bodys() throws XtumlException {
        return R698_FunctionBody_is_a_Body_extent;
    }
    private IRelationshipSet R698_OperationBody_is_a_Body_extent;
    public IRelationshipSet R698_OperationBody_is_a_Bodys() throws XtumlException {
        return R698_OperationBody_is_a_Body_extent;
    }
    private IRelationshipSet R698_ProvidedOperationBody_is_a_Body_extent;
    public IRelationshipSet R698_ProvidedOperationBody_is_a_Bodys() throws XtumlException {
        return R698_ProvidedOperationBody_is_a_Body_extent;
    }
    private IRelationshipSet R698_ProvidedSignalBody_is_a_Body_extent;
    public IRelationshipSet R698_ProvidedSignalBody_is_a_Bodys() throws XtumlException {
        return R698_ProvidedSignalBody_is_a_Body_extent;
    }
    private IRelationshipSet R698_RequiredOperationBody_is_a_Body_extent;
    public IRelationshipSet R698_RequiredOperationBody_is_a_Bodys() throws XtumlException {
        return R698_RequiredOperationBody_is_a_Body_extent;
    }
    private IRelationshipSet R698_RequiredSignalBody_is_a_Body_extent;
    public IRelationshipSet R698_RequiredSignalBody_is_a_Bodys() throws XtumlException {
        return R698_RequiredSignalBody_is_a_Body_extent;
    }
    private IRelationshipSet R698_StateActionBody_is_a_Body_extent;
    public IRelationshipSet R698_StateActionBody_is_a_Bodys() throws XtumlException {
        return R698_StateActionBody_is_a_Body_extent;
    }
    private IRelationshipSet R698_TransitionActionBody_is_a_Body_extent;
    public IRelationshipSet R698_TransitionActionBody_is_a_Bodys() throws XtumlException {
        return R698_TransitionActionBody_is_a_Body_extent;
    }
    private IRelationshipSet R699_Body_has_current_scope_Block_extent;
    public IRelationshipSet R699_Body_has_current_scope_Blocks() throws XtumlException {
        return R699_Body_has_current_scope_Block_extent;
    }
    private IRelationshipSet R700_V_PAR_EventSpecificationStatement_extent;
    public IRelationshipSet R700_V_PAR_EventSpecificationStatements() throws XtumlException {
        return R700_V_PAR_EventSpecificationStatement_extent;
    }
    private IRelationshipSet R701_CreateEventStatement_is_a_EventSpecificationStatement_extent;
    public IRelationshipSet R701_CreateEventStatement_is_a_EventSpecificationStatements() throws XtumlException {
        return R701_CreateEventStatement_is_a_EventSpecificationStatement_extent;
    }
    private IRelationshipSet R701_GenerateEventStatement_is_a_EventSpecificationStatement_extent;
    public IRelationshipSet R701_GenerateEventStatement_is_a_EventSpecificationStatements() throws XtumlException {
        return R701_GenerateEventStatement_is_a_EventSpecificationStatement_extent;
    }
    private IRelationshipSet R702_CreateSMEventStatement_is_a_CreateEventStatement_extent;
    public IRelationshipSet R702_CreateSMEventStatement_is_a_CreateEventStatements() throws XtumlException {
        return R702_CreateSMEventStatement_is_a_CreateEventStatement_extent;
    }
    private IRelationshipSet R703_GenerateSMEventStatement_is_a_GenerateEventStatement_extent;
    public IRelationshipSet R703_GenerateSMEventStatement_is_a_GenerateEventStatements() throws XtumlException {
        return R703_GenerateSMEventStatement_is_a_GenerateEventStatement_extent;
    }
    private IRelationshipSet R704_CreateEventToClass_is_a_CreateSMEventStatement_extent;
    public IRelationshipSet R704_CreateEventToClass_is_a_CreateSMEventStatements() throws XtumlException {
        return R704_CreateEventToClass_is_a_CreateSMEventStatement_extent;
    }
    private IRelationshipSet R704_CreateEventToCreator_is_a_CreateSMEventStatement_extent;
    public IRelationshipSet R704_CreateEventToCreator_is_a_CreateSMEventStatements() throws XtumlException {
        return R704_CreateEventToCreator_is_a_CreateSMEventStatement_extent;
    }
    private IRelationshipSet R704_CreateEventToInstance_is_a_CreateSMEventStatement_extent;
    public IRelationshipSet R704_CreateEventToInstance_is_a_CreateSMEventStatements() throws XtumlException {
        return R704_CreateEventToInstance_is_a_CreateSMEventStatement_extent;
    }
    private IRelationshipSet R705_E_GEN_is_a_GenerateSMEventStatement_extent;
    public IRelationshipSet R705_E_GEN_is_a_GenerateSMEventStatements() throws XtumlException {
        return R705_E_GEN_is_a_GenerateSMEventStatement_extent;
    }
    private IRelationshipSet R705_GenerateToClass_is_a_GenerateSMEventStatement_extent;
    public IRelationshipSet R705_GenerateToClass_is_a_GenerateSMEventStatements() throws XtumlException {
        return R705_GenerateToClass_is_a_GenerateSMEventStatement_extent;
    }
    private IRelationshipSet R705_GenerateToCreator_is_a_GenerateSMEventStatement_extent;
    public IRelationshipSet R705_GenerateToCreator_is_a_GenerateSMEventStatements() throws XtumlException {
        return R705_GenerateToCreator_is_a_GenerateSMEventStatement_extent;
    }
    private IRelationshipSet R706_CreateSMEventStatement_creates_StateMachineEvent_extent;
    public IRelationshipSet R706_CreateSMEventStatement_creates_StateMachineEvents() throws XtumlException {
        return R706_CreateSMEventStatement_creates_StateMachineEvent_extent;
    }
    private IRelationshipSet R707_GenerateSMEventStatement_generates_StateMachineEvent_extent;
    public IRelationshipSet R707_GenerateSMEventStatement_generates_StateMachineEvents() throws XtumlException {
        return R707_GenerateSMEventStatement_generates_StateMachineEvent_extent;
    }
    private IRelationshipSet R710_CreateEventStatement_result_V_VAR_extent;
    public IRelationshipSet R710_CreateEventStatement_result_V_VARs() throws XtumlException {
        return R710_CreateEventStatement_result_V_VAR_extent;
    }
    private IRelationshipSet R711_CreateEventToInstance_has_recipient_V_VAR_extent;
    public IRelationshipSet R711_CreateEventToInstance_has_recipient_V_VARs() throws XtumlException {
        return R711_CreateEventToInstance_has_recipient_V_VAR_extent;
    }
    private IRelationshipSet R712_E_GEN_has_recipient_V_VAR_extent;
    public IRelationshipSet R712_E_GEN_has_recipient_V_VARs() throws XtumlException {
        return R712_E_GEN_has_recipient_V_VAR_extent;
    }
    private IRelationshipSet R714_GeneratePreexistingEvent_generates_event_held_by_Value_extent;
    public IRelationshipSet R714_GeneratePreexistingEvent_generates_event_held_by_Values() throws XtumlException {
        return R714_GeneratePreexistingEvent_generates_event_held_by_Value_extent;
    }
    private IRelationshipSet R775_Expression_expressed_within_Statement_extent;
    public IRelationshipSet R775_Expression_expressed_within_Statements() throws XtumlException {
        return R775_Expression_expressed_within_Statement_extent;
    }
    private IRelationshipSet R776_Any_is_a_Expression_extent;
    public IRelationshipSet R776_Any_is_a_Expressions() throws XtumlException {
        return R776_Any_is_a_Expression_extent;
    }
    private IRelationshipSet R776_ArrayElementReference_is_a_Expression_extent;
    public IRelationshipSet R776_ArrayElementReference_is_a_Expressions() throws XtumlException {
        return R776_ArrayElementReference_is_a_Expression_extent;
    }
    private IRelationshipSet R776_ArrayLengthAccess_is_a_Expression_extent;
    public IRelationshipSet R776_ArrayLengthAccess_is_a_Expressions() throws XtumlException {
        return R776_ArrayLengthAccess_is_a_Expression_extent;
    }
    private IRelationshipSet R776_AttributeAccess_is_a_Expression_extent;
    public IRelationshipSet R776_AttributeAccess_is_a_Expressions() throws XtumlException {
        return R776_AttributeAccess_is_a_Expression_extent;
    }
    private IRelationshipSet R776_BinaryOperation_is_a_Expression_extent;
    public IRelationshipSet R776_BinaryOperation_is_a_Expressions() throws XtumlException {
        return R776_BinaryOperation_is_a_Expression_extent;
    }
    private IRelationshipSet R776_ConstantReference_is_a_Expression_extent;
    public IRelationshipSet R776_ConstantReference_is_a_Expressions() throws XtumlException {
        return R776_ConstantReference_is_a_Expression_extent;
    }
    private IRelationshipSet R776_Creation_is_a_Expression_extent;
    public IRelationshipSet R776_Creation_is_a_Expressions() throws XtumlException {
        return R776_Creation_is_a_Expression_extent;
    }
    private IRelationshipSet R776_EnumeratorReference_is_a_Expression_extent;
    public IRelationshipSet R776_EnumeratorReference_is_a_Expressions() throws XtumlException {
        return R776_EnumeratorReference_is_a_Expression_extent;
    }
    private IRelationshipSet R776_EventCreation_is_a_Expression_extent;
    public IRelationshipSet R776_EventCreation_is_a_Expressions() throws XtumlException {
        return R776_EventCreation_is_a_Expression_extent;
    }
    private IRelationshipSet R776_Invocation_is_a_Expression_extent;
    public IRelationshipSet R776_Invocation_is_a_Expressions() throws XtumlException {
        return R776_Invocation_is_a_Expression_extent;
    }
    private IRelationshipSet R776_Literal_is_a_Expression_extent;
    public IRelationshipSet R776_Literal_is_a_Expressions() throws XtumlException {
        return R776_Literal_is_a_Expression_extent;
    }
    private IRelationshipSet R776_MemberReference_is_a_Expression_extent;
    public IRelationshipSet R776_MemberReference_is_a_Expressions() throws XtumlException {
        return R776_MemberReference_is_a_Expression_extent;
    }
    private IRelationshipSet R776_NamedReference_is_a_Expression_extent;
    public IRelationshipSet R776_NamedReference_is_a_Expressions() throws XtumlException {
        return R776_NamedReference_is_a_Expression_extent;
    }
    private IRelationshipSet R776_ParameterReference_is_a_Expression_extent;
    public IRelationshipSet R776_ParameterReference_is_a_Expressions() throws XtumlException {
        return R776_ParameterReference_is_a_Expression_extent;
    }
    private IRelationshipSet R776_ParenthesizedExpression_is_a_Expression_extent;
    public IRelationshipSet R776_ParenthesizedExpression_is_a_Expressions() throws XtumlException {
        return R776_ParenthesizedExpression_is_a_Expression_extent;
    }
    private IRelationshipSet R776_Promotion_is_a_Expression_extent;
    public IRelationshipSet R776_Promotion_is_a_Expressions() throws XtumlException {
        return R776_Promotion_is_a_Expression_extent;
    }
    private IRelationshipSet R776_Select_is_a_Expression_extent;
    public IRelationshipSet R776_Select_is_a_Expressions() throws XtumlException {
        return R776_Select_is_a_Expression_extent;
    }
    private IRelationshipSet R776_Selected_is_a_Expression_extent;
    public IRelationshipSet R776_Selected_is_a_Expressions() throws XtumlException {
        return R776_Selected_is_a_Expression_extent;
    }
    private IRelationshipSet R776_UnaryOperation_is_a_Expression_extent;
    public IRelationshipSet R776_UnaryOperation_is_a_Expressions() throws XtumlException {
        return R776_UnaryOperation_is_a_Expression_extent;
    }
    private IRelationshipSet R776_VariableReference_is_a_Expression_extent;
    public IRelationshipSet R776_VariableReference_is_a_Expressions() throws XtumlException {
        return R776_VariableReference_is_a_Expression_extent;
    }
    private IRelationshipSet R776_Where_is_a_Expression_extent;
    public IRelationshipSet R776_Where_is_a_Expressions() throws XtumlException {
        return R776_Where_is_a_Expression_extent;
    }
    private IRelationshipSet R777_UnaryOperation_has_single_operand_Expression_extent;
    public IRelationshipSet R777_UnaryOperation_has_single_operand_Expressions() throws XtumlException {
        return R777_UnaryOperation_has_single_operand_Expression_extent;
    }
    private IRelationshipSet R778_BinaryOperation_has_right_Expression_extent;
    public IRelationshipSet R778_BinaryOperation_has_right_Expressions() throws XtumlException {
        return R778_BinaryOperation_has_right_Expression_extent;
    }
    private IRelationshipSet R779_BinaryOperation_has_left_Expression_extent;
    public IRelationshipSet R779_BinaryOperation_has_left_Expressions() throws XtumlException {
        return R779_BinaryOperation_has_left_Expression_extent;
    }
    private IRelationshipSet R780_Creation_creates_ModelInst_extent;
    public IRelationshipSet R780_Creation_creates_ModelInsts() throws XtumlException {
        return R780_Creation_creates_ModelInst_extent;
    }
    private IRelationshipSet R781_ParameterReference_refers_to_FormalParameter_extent;
    public IRelationshipSet R781_ParameterReference_refers_to_FormalParameters() throws XtumlException {
        return R781_ParameterReference_refers_to_FormalParameter_extent;
    }
    private IRelationshipSet R782_VariableReference_refers_to_local_Variable_extent;
    public IRelationshipSet R782_VariableReference_refers_to_local_Variables() throws XtumlException {
        return R782_VariableReference_refers_to_local_Variable_extent;
    }
    private IRelationshipSet R783_Any_gets_an_arbitrary_element_from_Expression_extent;
    public IRelationshipSet R783_Any_gets_an_arbitrary_element_from_Expressions() throws XtumlException {
        return R783_Any_gets_an_arbitrary_element_from_Expression_extent;
    }
    private IRelationshipSet R784_ParenthesizedExpression_parenthesizes_Expression_extent;
    public IRelationshipSet R784_ParenthesizedExpression_parenthesizes_Expressions() throws XtumlException {
        return R784_ParenthesizedExpression_parenthesizes_Expression_extent;
    }
    private IRelationshipSet R785_AttributeAccess_refers_to_attribute_of_instance_expressed_by_Expression_extent;
    public IRelationshipSet R785_AttributeAccess_refers_to_attribute_of_instance_expressed_by_Expressions() throws XtumlException {
        return R785_AttributeAccess_refers_to_attribute_of_instance_expressed_by_Expression_extent;
    }
    private IRelationshipSet R786_EnumeratorReference_refers_to_Enumerator_extent;
    public IRelationshipSet R786_EnumeratorReference_refers_to_Enumerators() throws XtumlException {
        return R786_EnumeratorReference_refers_to_Enumerator_extent;
    }
    private IRelationshipSet R787_MemberReference_refers_to_member_of_structured_value_expressed_by_Expression_extent;
    public IRelationshipSet R787_MemberReference_refers_to_member_of_structured_value_expressed_by_Expressions() throws XtumlException {
        return R787_MemberReference_refers_to_member_of_structured_value_expressed_by_Expression_extent;
    }
    private IRelationshipSet R788_AttributeAccess_refers_to_Attribute_extent;
    public IRelationshipSet R788_AttributeAccess_refers_to_Attributes() throws XtumlException {
        return R788_AttributeAccess_refers_to_Attribute_extent;
    }
    private IRelationshipSet R789_SelectFromInstances_is_a_Select_extent;
    public IRelationshipSet R789_SelectFromInstances_is_a_Selects() throws XtumlException {
        return R789_SelectFromInstances_is_a_Select_extent;
    }
    private IRelationshipSet R789_SelectRelated_is_a_Select_extent;
    public IRelationshipSet R789_SelectRelated_is_a_Selects() throws XtumlException {
        return R789_SelectRelated_is_a_Select_extent;
    }
    private IRelationshipSet R790_Where_filters_Expression_extent;
    public IRelationshipSet R790_Where_filters_Expressions() throws XtumlException {
        return R790_Where_filters_Expression_extent;
    }
    private IRelationshipSet R791_SelectRelated_selects_instances_linked_from_instance_expressed_by_Expression_extent;
    public IRelationshipSet R791_SelectRelated_selects_instances_linked_from_instance_expressed_by_Expressions() throws XtumlException {
        return R791_SelectRelated_selects_instances_linked_from_instance_expressed_by_Expression_extent;
    }
    private IRelationshipSet R792_Invocation_invokes_InvocableObject_extent;
    public IRelationshipSet R792_Invocation_invokes_InvocableObjects() throws XtumlException {
        return R792_Invocation_invokes_InvocableObject_extent;
    }
    private IRelationshipSet R793_ActualParameter_Invocation_extent;
    public IRelationshipSet R793_ActualParameter_Invocations() throws XtumlException {
        return R793_ActualParameter_Invocation_extent;
    }
    private IRelationshipSet R794_ActualParameter_parameter_value_specified_by_Expression_extent;
    public IRelationshipSet R794_ActualParameter_parameter_value_specified_by_Expressions() throws XtumlException {
        return R794_ActualParameter_parameter_value_specified_by_Expression_extent;
    }
    private IRelationshipSet R795_Expression_expresses_value_of_TypeReference_extent;
    public IRelationshipSet R795_Expression_expresses_value_of_TypeReferences() throws XtumlException {
        return R795_Expression_expresses_value_of_TypeReference_extent;
    }
    private IRelationshipSet R796_Where_has_condition_Expression_extent;
    public IRelationshipSet R796_Where_has_condition_Expressions() throws XtumlException {
        return R796_Where_has_condition_Expression_extent;
    }
    private IRelationshipSet R797_SelectRelated_selects_instances_through_Selector_extent;
    public IRelationshipSet R797_SelectRelated_selects_instances_through_Selectors() throws XtumlException {
        return R797_SelectRelated_selects_instances_through_Selector_extent;
    }
    private IRelationshipSet R798_Invocation_invokes_activity_on_Expression_extent;
    public IRelationshipSet R798_Invocation_invokes_activity_on_Expressions() throws XtumlException {
        return R798_Invocation_invokes_activity_on_Expression_extent;
    }
    private IRelationshipSet R799_SelectFromInstances_selects_instances_through_InstancePopulationSelector_extent;
    public IRelationshipSet R799_SelectFromInstances_selects_instances_through_InstancePopulationSelectors() throws XtumlException {
        return R799_SelectFromInstances_selects_instances_through_InstancePopulationSelector_extent;
    }
    private IRelationshipSet R8000_PackageableElement_contained_by_EP_PKG_extent;
    public IRelationshipSet R8000_PackageableElement_contained_by_EP_PKGs() throws XtumlException {
        return R8000_PackageableElement_contained_by_EP_PKG_extent;
    }
    private IRelationshipSet R8001_ActivityEdge_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_ActivityEdge_is_a_PackageableElements() throws XtumlException {
        return R8001_ActivityEdge_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_ActivityNode_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_ActivityNode_is_a_PackageableElements() throws XtumlException {
        return R8001_ActivityNode_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_ActivityPartition_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_ActivityPartition_is_a_PackageableElements() throws XtumlException {
        return R8001_ActivityPartition_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_Association_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_Association_is_a_PackageableElements() throws XtumlException {
        return R8001_Association_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_C_C_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_C_C_is_a_PackageableElements() throws XtumlException {
        return R8001_C_C_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_C_I_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_C_I_is_a_PackageableElements() throws XtumlException {
        return R8001_C_I_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_ComponentReference_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_ComponentReference_is_a_PackageableElements() throws XtumlException {
        return R8001_ComponentReference_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_ConstantSpecification_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_ConstantSpecification_is_a_PackageableElements() throws XtumlException {
        return R8001_ConstantSpecification_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_DataType_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_DataType_is_a_PackageableElements() throws XtumlException {
        return R8001_DataType_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_Delegation_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_Delegation_is_a_PackageableElements() throws XtumlException {
        return R8001_Delegation_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_Deployment_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_Deployment_is_a_PackageableElements() throws XtumlException {
        return R8001_Deployment_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_EP_PKG_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_EP_PKG_is_a_PackageableElements() throws XtumlException {
        return R8001_EP_PKG_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_Exception_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_Exception_is_a_PackageableElements() throws XtumlException {
        return R8001_Exception_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_ExternalEntity_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_ExternalEntity_is_a_PackageableElements() throws XtumlException {
        return R8001_ExternalEntity_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_ImportedClass_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_ImportedClass_is_a_PackageableElements() throws XtumlException {
        return R8001_ImportedClass_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_InteractionParticipant_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_InteractionParticipant_is_a_PackageableElements() throws XtumlException {
        return R8001_InteractionParticipant_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_MSG_M_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_MSG_M_is_a_PackageableElements() throws XtumlException {
        return R8001_MSG_M_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_ModelClass_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_ModelClass_is_a_PackageableElements() throws XtumlException {
        return R8001_ModelClass_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_S_SYNC_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_S_SYNC_is_a_PackageableElements() throws XtumlException {
        return R8001_S_SYNC_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_Satisfaction_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_Satisfaction_is_a_PackageableElements() throws XtumlException {
        return R8001_Satisfaction_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8001_UseCaseAssociation_is_a_PackageableElement_extent;
    public IRelationshipSet R8001_UseCaseAssociation_is_a_PackageableElements() throws XtumlException {
        return R8001_UseCaseAssociation_is_a_PackageableElement_extent;
    }
    private IRelationshipSet R8002_ElementVisibility_has_visibility_of_PackageableElement_extent;
    public IRelationshipSet R8002_ElementVisibility_has_visibility_of_PackageableElements() throws XtumlException {
        return R8002_ElementVisibility_has_visibility_of_PackageableElement_extent;
    }
    private IRelationshipSet R8002_ElementVisibility_is_visible_to_elements_in_EP_PKG_extent;
    public IRelationshipSet R8002_ElementVisibility_is_visible_to_elements_in_EP_PKGs() throws XtumlException {
        return R8002_ElementVisibility_is_visible_to_elements_in_EP_PKG_extent;
    }
    private IRelationshipSet R8003_PackageableElement_contained_in_C_C_extent;
    public IRelationshipSet R8003_PackageableElement_contained_in_C_Cs() throws XtumlException {
        return R8003_PackageableElement_contained_in_C_C_extent;
    }
    private IRelationshipSet R8004_ComponentVisibility_has_visibility_of_PackageableElement_extent;
    public IRelationshipSet R8004_ComponentVisibility_has_visibility_of_PackageableElements() throws XtumlException {
        return R8004_ComponentVisibility_has_visibility_of_PackageableElement_extent;
    }
    private IRelationshipSet R8004_ComponentVisibility_is_visible_to_C_C_extent;
    public IRelationshipSet R8004_ComponentVisibility_is_visible_to_C_Cs() throws XtumlException {
        return R8004_ComponentVisibility_is_visible_to_C_C_extent;
    }
    private IRelationshipSet R8005_SearchResultSet_held_by_EP_PKG_extent;
    public IRelationshipSet R8005_SearchResultSet_held_by_EP_PKGs() throws XtumlException {
        return R8005_SearchResultSet_held_by_EP_PKG_extent;
    }
    private IRelationshipSet R8006_ElementVisibility_SearchResultSet_extent;
    public IRelationshipSet R8006_ElementVisibility_SearchResultSets() throws XtumlException {
        return R8006_ElementVisibility_SearchResultSet_extent;
    }
    private IRelationshipSet R8007_ComponentResultSet_held_by_C_C_extent;
    public IRelationshipSet R8007_ComponentResultSet_held_by_C_Cs() throws XtumlException {
        return R8007_ComponentResultSet_held_by_C_C_extent;
    }
    private IRelationshipSet R8008_ComponentVisibility_makes_up_a_ComponentResultSet_extent;
    public IRelationshipSet R8008_ComponentVisibility_makes_up_a_ComponentResultSets() throws XtumlException {
        return R8008_ComponentVisibility_makes_up_a_ComponentResultSet_extent;
    }
    private IRelationshipSet R800_V_PAR_has_Value_extent;
    public IRelationshipSet R800_V_PAR_has_Values() throws XtumlException {
        return R800_V_PAR_has_Value_extent;
    }
    private IRelationshipSet R801_ArrayLengthValue_is_a_Value_extent;
    public IRelationshipSet R801_ArrayLengthValue_is_a_Values() throws XtumlException {
        return R801_ArrayLengthValue_is_a_Value_extent;
    }
    private IRelationshipSet R801_AttributeValueReference_is_a_Value_extent;
    public IRelationshipSet R801_AttributeValueReference_is_a_Values() throws XtumlException {
        return R801_AttributeValueReference_is_a_Value_extent;
    }
    private IRelationshipSet R801_BridgeValue_is_a_Value_extent;
    public IRelationshipSet R801_BridgeValue_is_a_Values() throws XtumlException {
        return R801_BridgeValue_is_a_Value_extent;
    }
    private IRelationshipSet R801_EventDatumValue_is_a_Value_extent;
    public IRelationshipSet R801_EventDatumValue_is_a_Values() throws XtumlException {
        return R801_EventDatumValue_is_a_Value_extent;
    }
    private IRelationshipSet R801_FunctionValue_is_a_Value_extent;
    public IRelationshipSet R801_FunctionValue_is_a_Values() throws XtumlException {
        return R801_FunctionValue_is_a_Value_extent;
    }
    private IRelationshipSet R801_InstanceReference_is_a_Value_extent;
    public IRelationshipSet R801_InstanceReference_is_a_Values() throws XtumlException {
        return R801_InstanceReference_is_a_Value_extent;
    }
    private IRelationshipSet R801_InstanceSetReference_is_a_Value_extent;
    public IRelationshipSet R801_InstanceSetReference_is_a_Values() throws XtumlException {
        return R801_InstanceSetReference_is_a_Value_extent;
    }
    private IRelationshipSet R801_LiteralBoolean_is_a_Value_extent;
    public IRelationshipSet R801_LiteralBoolean_is_a_Values() throws XtumlException {
        return R801_LiteralBoolean_is_a_Value_extent;
    }
    private IRelationshipSet R801_LiteralEnumerator_is_a_Value_extent;
    public IRelationshipSet R801_LiteralEnumerator_is_a_Values() throws XtumlException {
        return R801_LiteralEnumerator_is_a_Value_extent;
    }
    private IRelationshipSet R801_LiteralInteger_is_a_Value_extent;
    public IRelationshipSet R801_LiteralInteger_is_a_Values() throws XtumlException {
        return R801_LiteralInteger_is_a_Value_extent;
    }
    private IRelationshipSet R801_LiteralReal_is_a_Value_extent;
    public IRelationshipSet R801_LiteralReal_is_a_Values() throws XtumlException {
        return R801_LiteralReal_is_a_Value_extent;
    }
    private IRelationshipSet R801_LiteralString_is_a_Value_extent;
    public IRelationshipSet R801_LiteralString_is_a_Values() throws XtumlException {
        return R801_LiteralString_is_a_Value_extent;
    }
    private IRelationshipSet R801_MemberValueReference_is_a_Value_extent;
    public IRelationshipSet R801_MemberValueReference_is_a_Values() throws XtumlException {
        return R801_MemberValueReference_is_a_Value_extent;
    }
    private IRelationshipSet R801_MessageValue_is_a_Value_extent;
    public IRelationshipSet R801_MessageValue_is_a_Values() throws XtumlException {
        return R801_MessageValue_is_a_Value_extent;
    }
    private IRelationshipSet R801_OperationValue_is_a_Value_extent;
    public IRelationshipSet R801_OperationValue_is_a_Values() throws XtumlException {
        return R801_OperationValue_is_a_Value_extent;
    }
    private IRelationshipSet R801_ParameterValue_is_a_Value_extent;
    public IRelationshipSet R801_ParameterValue_is_a_Values() throws XtumlException {
        return R801_ParameterValue_is_a_Value_extent;
    }
    private IRelationshipSet R801_SelectedReference_is_a_Value_extent;
    public IRelationshipSet R801_SelectedReference_is_a_Values() throws XtumlException {
        return R801_SelectedReference_is_a_Value_extent;
    }
    private IRelationshipSet R801_SymbolicConstantValue_is_a_Value_extent;
    public IRelationshipSet R801_SymbolicConstantValue_is_a_Values() throws XtumlException {
        return R801_SymbolicConstantValue_is_a_Value_extent;
    }
    private IRelationshipSet R801_TransientValueReference_is_a_Value_extent;
    public IRelationshipSet R801_TransientValueReference_is_a_Values() throws XtumlException {
        return R801_TransientValueReference_is_a_Value_extent;
    }
    private IRelationshipSet R801_V_AER_is_a_Value_extent;
    public IRelationshipSet R801_V_AER_is_a_Values() throws XtumlException {
        return R801_V_AER_is_a_Value_extent;
    }
    private IRelationshipSet R801_V_BIN_is_a_Value_extent;
    public IRelationshipSet R801_V_BIN_is_a_Values() throws XtumlException {
        return R801_V_BIN_is_a_Value_extent;
    }
    private IRelationshipSet R801_V_UNY_is_a_Value_extent;
    public IRelationshipSet R801_V_UNY_is_a_Values() throws XtumlException {
        return R801_V_UNY_is_a_Value_extent;
    }
    private IRelationshipSet R802_V_BIN_has_left_Value_extent;
    public IRelationshipSet R802_V_BIN_has_left_Values() throws XtumlException {
        return R802_V_BIN_has_left_Value_extent;
    }
    private IRelationshipSet R803_V_BIN_has_right_Value_extent;
    public IRelationshipSet R803_V_BIN_has_right_Values() throws XtumlException {
        return R803_V_BIN_has_right_Value_extent;
    }
    private IRelationshipSet R804_V_UNY_has_operand_Value_extent;
    public IRelationshipSet R804_V_UNY_has_operand_Values() throws XtumlException {
        return R804_V_UNY_has_operand_Value_extent;
    }
    private IRelationshipSet R805_TransientValueReference_references_V_VAR_extent;
    public IRelationshipSet R805_TransientValueReference_references_V_VARs() throws XtumlException {
        return R805_TransientValueReference_references_V_VAR_extent;
    }
    private IRelationshipSet R806_AttributeValueReference_is_value_of_O_ATTR_extent;
    public IRelationshipSet R806_AttributeValueReference_is_value_of_O_ATTRs() throws XtumlException {
        return R806_AttributeValueReference_is_value_of_O_ATTR_extent;
    }
    private IRelationshipSet R807_AttributeValueReference_has_root_Value_extent;
    public IRelationshipSet R807_AttributeValueReference_has_root_Values() throws XtumlException {
        return R807_AttributeValueReference_has_root_Value_extent;
    }
    private IRelationshipSet R808_InstanceReference_refers_to_V_VAR_extent;
    public IRelationshipSet R808_InstanceReference_refers_to_V_VARs() throws XtumlException {
        return R808_InstanceReference_refers_to_V_VAR_extent;
    }
    private IRelationshipSet R809_InstanceSetReference_refers_to_V_VAR_extent;
    public IRelationshipSet R809_InstanceSetReference_refers_to_V_VARs() throws XtumlException {
        return R809_InstanceSetReference_refers_to_V_VAR_extent;
    }
    private IRelationshipSet R810_V_PAR_BridgeValue_extent;
    public IRelationshipSet R810_V_PAR_BridgeValues() throws XtumlException {
        return R810_V_PAR_BridgeValue_extent;
    }
    private IRelationshipSet R811_V_PAR_OperationValue_extent;
    public IRelationshipSet R811_V_PAR_OperationValues() throws XtumlException {
        return R811_V_PAR_OperationValue_extent;
    }
    private IRelationshipSet R812_SelectedReference_member_O_ATTR_extent;
    public IRelationshipSet R812_SelectedReference_member_O_ATTRs() throws XtumlException {
        return R812_SelectedReference_member_O_ATTR_extent;
    }
    private IRelationshipSet R814_InstanceHandle_is_a_V_VAR_extent;
    public IRelationshipSet R814_InstanceHandle_is_a_V_VARs() throws XtumlException {
        return R814_InstanceHandle_is_a_V_VAR_extent;
    }
    private IRelationshipSet R814_TransientVar_is_a_V_VAR_extent;
    public IRelationshipSet R814_TransientVar_is_a_V_VARs() throws XtumlException {
        return R814_TransientVar_is_a_V_VAR_extent;
    }
    private IRelationshipSet R814_V_INS_is_a_V_VAR_extent;
    public IRelationshipSet R814_V_INS_is_a_V_VARs() throws XtumlException {
        return R814_V_INS_is_a_V_VAR_extent;
    }
    private IRelationshipSet R816_V_PAR_precedes_V_PAR_extent;
    public IRelationshipSet R816_V_PAR_precedes_V_PARs() throws XtumlException {
        return R816_V_PAR_precedes_V_PAR_extent;
    }
    private IRelationshipSet R817_V_PAR_FunctionValue_extent;
    public IRelationshipSet R817_V_PAR_FunctionValues() throws XtumlException {
        return R817_V_PAR_FunctionValue_extent;
    }
    private IRelationshipSet R818_InstanceHandle_refers_to_ModelClass_extent;
    public IRelationshipSet R818_InstanceHandle_refers_to_ModelClasss() throws XtumlException {
        return R818_InstanceHandle_refers_to_ModelClass_extent;
    }
    private IRelationshipSet R819_V_INS_refers_to_ModelClass_extent;
    public IRelationshipSet R819_V_INS_refers_to_ModelClasss() throws XtumlException {
        return R819_V_INS_refers_to_ModelClass_extent;
    }
    private IRelationshipSet R820_Value_has_type_DataType_extent;
    public IRelationshipSet R820_Value_has_type_DataTypes() throws XtumlException {
        return R820_Value_has_type_DataType_extent;
    }
    private IRelationshipSet R821_TransientVar_has_DataType_extent;
    public IRelationshipSet R821_TransientVar_has_DataTypes() throws XtumlException {
        return R821_TransientVar_has_DataType_extent;
    }
    private IRelationshipSet R823_V_VAR_Block_extent;
    public IRelationshipSet R823_V_VAR_Blocks() throws XtumlException {
        return R823_V_VAR_Block_extent;
    }
    private IRelationshipSet R824_LiteralEnumerator_has_value_S_ENUM_extent;
    public IRelationshipSet R824_LiteralEnumerator_has_value_S_ENUMs() throws XtumlException {
        return R824_LiteralEnumerator_has_value_S_ENUM_extent;
    }
    private IRelationshipSet R825_SelectedReference_value_OperationValue_extent;
    public IRelationshipSet R825_SelectedReference_value_OperationValues() throws XtumlException {
        return R825_SelectedReference_value_OperationValue_extent;
    }
    private IRelationshipSet R826_Value_has_scope_Block_extent;
    public IRelationshipSet R826_Value_has_scope_Blocks() throws XtumlException {
        return R826_Value_has_scope_Block_extent;
    }
    private IRelationshipSet R827_FunctionValue_S_SYNC_extent;
    public IRelationshipSet R827_FunctionValue_S_SYNCs() throws XtumlException {
        return R827_FunctionValue_S_SYNC_extent;
    }
    private IRelationshipSet R828_BridgeValue_Bridge_extent;
    public IRelationshipSet R828_BridgeValue_Bridges() throws XtumlException {
        return R828_BridgeValue_Bridge_extent;
    }
    private IRelationshipSet R829_OperationValue_O_TFR_extent;
    public IRelationshipSet R829_OperationValue_O_TFRs() throws XtumlException {
        return R829_OperationValue_O_TFR_extent;
    }
    private IRelationshipSet R830_OperationValue_V_VAR_extent;
    public IRelationshipSet R830_OperationValue_V_VARs() throws XtumlException {
        return R830_OperationValue_V_VAR_extent;
    }
    private IRelationshipSet R831_ParameterValue_is_a_value_of_BridgeParameter_extent;
    public IRelationshipSet R831_ParameterValue_is_a_value_of_BridgeParameters() throws XtumlException {
        return R831_ParameterValue_is_a_value_of_BridgeParameter_extent;
    }
    private IRelationshipSet R832_ParameterValue_is_a_value_of_FunctionParameter_extent;
    public IRelationshipSet R832_ParameterValue_is_a_value_of_FunctionParameters() throws XtumlException {
        return R832_ParameterValue_is_a_value_of_FunctionParameter_extent;
    }
    private IRelationshipSet R833_ParameterValue_is_a_value_of_OperationParameter_extent;
    public IRelationshipSet R833_ParameterValue_is_a_value_of_OperationParameters() throws XtumlException {
        return R833_ParameterValue_is_a_value_of_OperationParameter_extent;
    }
    private IRelationshipSet R834_EventParameterReference_EventDatumValue_extent;
    public IRelationshipSet R834_EventParameterReference_EventDatumValues() throws XtumlException {
        return R834_EventParameterReference_EventDatumValue_extent;
    }
    private IRelationshipSet R835_VariableLocation_V_VAR_extent;
    public IRelationshipSet R835_VariableLocation_V_VARs() throws XtumlException {
        return R835_VariableLocation_V_VAR_extent;
    }
    private IRelationshipSet R836_MemberValueReference_is_value_of_StructureMember_extent;
    public IRelationshipSet R836_MemberValueReference_is_value_of_StructureMembers() throws XtumlException {
        return R836_MemberValueReference_is_value_of_StructureMember_extent;
    }
    private IRelationshipSet R837_MemberValueReference_Value_extent;
    public IRelationshipSet R837_MemberValueReference_Values() throws XtumlException {
        return R837_MemberValueReference_Value_extent;
    }
    private IRelationshipSet R838_V_AER_has_root_Value_extent;
    public IRelationshipSet R838_V_AER_has_root_Values() throws XtumlException {
        return R838_V_AER_has_root_Value_extent;
    }
    private IRelationshipSet R839_V_AER_has_index_Value_extent;
    public IRelationshipSet R839_V_AER_has_index_Values() throws XtumlException {
        return R839_V_AER_has_index_Value_extent;
    }
    private IRelationshipSet R840_ArrayLengthValue_returns_length_of_Value_extent;
    public IRelationshipSet R840_ArrayLengthValue_returns_length_of_Values() throws XtumlException {
        return R840_ArrayLengthValue_returns_length_of_Value_extent;
    }
    private IRelationshipSet R841_MessageValue_ProvidedExecutableProperty_extent;
    public IRelationshipSet R841_MessageValue_ProvidedExecutablePropertys() throws XtumlException {
        return R841_MessageValue_ProvidedExecutableProperty_extent;
    }
    private IRelationshipSet R842_V_PAR_MessageValue_extent;
    public IRelationshipSet R842_V_PAR_MessageValues() throws XtumlException {
        return R842_V_PAR_MessageValue_extent;
    }
    private IRelationshipSet R843_ParameterValue_is_a_value_of_PropertyParameter_extent;
    public IRelationshipSet R843_ParameterValue_is_a_value_of_PropertyParameters() throws XtumlException {
        return R843_ParameterValue_is_a_value_of_PropertyParameter_extent;
    }
    private IRelationshipSet R844_Dimensions_specifies_occurrences_of_TransientVar_extent;
    public IRelationshipSet R844_Dimensions_specifies_occurrences_of_TransientVars() throws XtumlException {
        return R844_Dimensions_specifies_occurrences_of_TransientVar_extent;
    }
    private IRelationshipSet R845_MessageValue_RequiredExecutableProperty_extent;
    public IRelationshipSet R845_MessageValue_RequiredExecutablePropertys() throws XtumlException {
        return R845_MessageValue_RequiredExecutableProperty_extent;
    }
    private IRelationshipSet R846_EventParameterReference_StateMachineEventDataItem_extent;
    public IRelationshipSet R846_EventParameterReference_StateMachineEventDataItems() throws XtumlException {
        return R846_EventParameterReference_StateMachineEventDataItem_extent;
    }
    private IRelationshipSet R847_EventParameterReference_PropertyParameter_extent;
    public IRelationshipSet R847_EventParameterReference_PropertyParameters() throws XtumlException {
        return R847_EventParameterReference_PropertyParameter_extent;
    }
    private IRelationshipSet R848_V_VAR_has_DataType_extent;
    public IRelationshipSet R848_V_VAR_has_DataTypes() throws XtumlException {
        return R848_V_VAR_has_DataType_extent;
    }
    private IRelationshipSet R849_Dimensions_specifies_occurrences_of_V_VAR_extent;
    public IRelationshipSet R849_Dimensions_specifies_occurrences_of_V_VARs() throws XtumlException {
        return R849_Dimensions_specifies_occurrences_of_V_VAR_extent;
    }
    private IRelationshipSet R850_SymbolicConstantValue_SymbolicConstant_extent;
    public IRelationshipSet R850_SymbolicConstantValue_SymbolicConstants() throws XtumlException {
        return R850_SymbolicConstantValue_SymbolicConstant_extent;
    }
    private IRelationshipSet R851_MessageValue_has_target_Value_extent;
    public IRelationshipSet R851_MessageValue_has_target_Values() throws XtumlException {
        return R851_MessageValue_has_target_Value_extent;
    }
    private IRelationshipSet R9000_SatisfactionInComponent_C_C_extent;
    public IRelationshipSet R9000_SatisfactionInComponent_C_Cs() throws XtumlException {
        return R9000_SatisfactionInComponent_C_C_extent;
    }
    private IRelationshipSet R9000_SatisfactionInComponent_Satisfaction_extent;
    public IRelationshipSet R9000_SatisfactionInComponent_Satisfactions() throws XtumlException {
        return R9000_SatisfactionInComponent_Satisfaction_extent;
    }
    private IRelationshipSet R9002_DelegationInComponent_C_C_extent;
    public IRelationshipSet R9002_DelegationInComponent_C_Cs() throws XtumlException {
        return R9002_DelegationInComponent_C_C_extent;
    }
    private IRelationshipSet R9002_DelegationInComponent_Delegation_extent;
    public IRelationshipSet R9002_DelegationInComponent_Delegations() throws XtumlException {
        return R9002_DelegationInComponent_Delegation_extent;
    }
    private IRelationshipSet R9100_GlobalElementInSystem_PackageableElement_extent;
    public IRelationshipSet R9100_GlobalElementInSystem_PackageableElements() throws XtumlException {
        return R9100_GlobalElementInSystem_PackageableElement_extent;
    }
    private IRelationshipSet R9100_GlobalElementInSystem_SystemModel_extent;
    public IRelationshipSet R9100_GlobalElementInSystem_SystemModels() throws XtumlException {
        return R9100_GlobalElementInSystem_SystemModel_extent;
    }
    private IRelationshipSet R930_ActorParticipant_is_a_InteractionParticipant_extent;
    public IRelationshipSet R930_ActorParticipant_is_a_InteractionParticipants() throws XtumlException {
        return R930_ActorParticipant_is_a_InteractionParticipant_extent;
    }
    private IRelationshipSet R930_ClassInstanceParticipant_is_a_InteractionParticipant_extent;
    public IRelationshipSet R930_ClassInstanceParticipant_is_a_InteractionParticipants() throws XtumlException {
        return R930_ClassInstanceParticipant_is_a_InteractionParticipant_extent;
    }
    private IRelationshipSet R930_ClassParticipant_is_a_InteractionParticipant_extent;
    public IRelationshipSet R930_ClassParticipant_is_a_InteractionParticipants() throws XtumlException {
        return R930_ClassParticipant_is_a_InteractionParticipant_extent;
    }
    private IRelationshipSet R930_ComponentParticipant_is_a_InteractionParticipant_extent;
    public IRelationshipSet R930_ComponentParticipant_is_a_InteractionParticipants() throws XtumlException {
        return R930_ComponentParticipant_is_a_InteractionParticipant_extent;
    }
    private IRelationshipSet R930_ExternalEntityParticipant_is_a_InteractionParticipant_extent;
    public IRelationshipSet R930_ExternalEntityParticipant_is_a_InteractionParticipants() throws XtumlException {
        return R930_ExternalEntityParticipant_is_a_InteractionParticipant_extent;
    }
    private IRelationshipSet R930_Lifespan_is_a_InteractionParticipant_extent;
    public IRelationshipSet R930_Lifespan_is_a_InteractionParticipants() throws XtumlException {
        return R930_Lifespan_is_a_InteractionParticipant_extent;
    }
    private IRelationshipSet R930_PackageParticipant_is_a_InteractionParticipant_extent;
    public IRelationshipSet R930_PackageParticipant_is_a_InteractionParticipants() throws XtumlException {
        return R930_PackageParticipant_is_a_InteractionParticipant_extent;
    }
    private IRelationshipSet R930_UseCaseParticipant_is_a_InteractionParticipant_extent;
    public IRelationshipSet R930_UseCaseParticipant_is_a_InteractionParticipants() throws XtumlException {
        return R930_UseCaseParticipant_is_a_InteractionParticipant_extent;
    }
    private IRelationshipSet R931_TimingMark_marks_a_point_in_time_Lifespan_extent;
    public IRelationshipSet R931_TimingMark_marks_a_point_in_time_Lifespans() throws XtumlException {
        return R931_TimingMark_marks_a_point_in_time_Lifespan_extent;
    }
    private IRelationshipSet R933_ExternalEntityParticipant_represents_ExternalEntity_extent;
    public IRelationshipSet R933_ExternalEntityParticipant_represents_ExternalEntitys() throws XtumlException {
        return R933_ExternalEntityParticipant_represents_ExternalEntity_extent;
    }
    private IRelationshipSet R934_ClassInstanceParticipant_represents_ModelClass_extent;
    public IRelationshipSet R934_ClassInstanceParticipant_represents_ModelClasss() throws XtumlException {
        return R934_ClassInstanceParticipant_represents_ModelClass_extent;
    }
    private IRelationshipSet R935_ClassParticipantAttribute_belongs_to_ClassParticipant_extent;
    public IRelationshipSet R935_ClassParticipantAttribute_belongs_to_ClassParticipants() throws XtumlException {
        return R935_ClassParticipantAttribute_belongs_to_ClassParticipant_extent;
    }
    private IRelationshipSet R936_InstanceAttributeValue_owns_informal_ClassInstanceParticipant_extent;
    public IRelationshipSet R936_InstanceAttributeValue_owns_informal_ClassInstanceParticipants() throws XtumlException {
        return R936_InstanceAttributeValue_owns_informal_ClassInstanceParticipant_extent;
    }
    private IRelationshipSet R937_InstanceAttributeValue_owns_formal_ClassInstanceParticipant_extent;
    public IRelationshipSet R937_InstanceAttributeValue_owns_formal_ClassInstanceParticipants() throws XtumlException {
        return R937_InstanceAttributeValue_owns_formal_ClassInstanceParticipant_extent;
    }
    private IRelationshipSet R938_InstanceAttributeValue_references_O_ATTR_extent;
    public IRelationshipSet R938_InstanceAttributeValue_references_O_ATTRs() throws XtumlException {
        return R938_InstanceAttributeValue_references_O_ATTR_extent;
    }
    private IRelationshipSet R939_ClassParticipant_represents_ModelClass_extent;
    public IRelationshipSet R939_ClassParticipant_represents_ModelClasss() throws XtumlException {
        return R939_ClassParticipant_represents_ModelClass_extent;
    }
    private IRelationshipSet R940_Lifespan_extends_from_InteractionParticipant_extent;
    public IRelationshipSet R940_Lifespan_extends_from_InteractionParticipants() throws XtumlException {
        return R940_Lifespan_extends_from_InteractionParticipant_extent;
    }
    private IRelationshipSet R941_TimeSpan_span_begins_at_TimingMark_extent;
    public IRelationshipSet R941_TimeSpan_span_begins_at_TimingMarks() throws XtumlException {
        return R941_TimeSpan_span_begins_at_TimingMark_extent;
    }
    private IRelationshipSet R942_TimeSpan_span_ends_at_TimingMark_extent;
    public IRelationshipSet R942_TimeSpan_span_ends_at_TimingMarks() throws XtumlException {
        return R942_TimeSpan_span_ends_at_TimingMark_extent;
    }
    private IRelationshipSet R947_FormalAttribute_is_a_ClassParticipantAttribute_extent;
    public IRelationshipSet R947_FormalAttribute_is_a_ClassParticipantAttributes() throws XtumlException {
        return R947_FormalAttribute_is_a_ClassParticipantAttribute_extent;
    }
    private IRelationshipSet R947_InformalAttribute_is_a_ClassParticipantAttribute_extent;
    public IRelationshipSet R947_InformalAttribute_is_a_ClassParticipantAttributes() throws XtumlException {
        return R947_InformalAttribute_is_a_ClassParticipantAttribute_extent;
    }
    private IRelationshipSet R948_FormalAttributeValue_is_a_InstanceAttributeValue_extent;
    public IRelationshipSet R948_FormalAttributeValue_is_a_InstanceAttributeValues() throws XtumlException {
        return R948_FormalAttributeValue_is_a_InstanceAttributeValue_extent;
    }
    private IRelationshipSet R948_InformalAttributeValue_is_a_InstanceAttributeValue_extent;
    public IRelationshipSet R948_InformalAttributeValue_is_a_InstanceAttributeValues() throws XtumlException {
        return R948_InformalAttributeValue_is_a_InstanceAttributeValue_extent;
    }
    private IRelationshipSet R949_ActorParticipant_life_is_bounded_by_Lifespan_extent;
    public IRelationshipSet R949_ActorParticipant_life_is_bounded_by_Lifespans() throws XtumlException {
        return R949_ActorParticipant_life_is_bounded_by_Lifespan_extent;
    }
    private IRelationshipSet R955_ComponentParticipant_represents_C_C_extent;
    public IRelationshipSet R955_ComponentParticipant_represents_C_Cs() throws XtumlException {
        return R955_ComponentParticipant_represents_C_C_extent;
    }
    private IRelationshipSet R956_PackageParticipant_represents_EP_PKG_extent;
    public IRelationshipSet R956_PackageParticipant_represents_EP_PKGs() throws XtumlException {
        return R956_PackageParticipant_represents_EP_PKG_extent;
    }
    private IRelationshipSet R9_ExternalEntityInModel_is_a_presence_in_subsystem_model_of_ExternalEntity_extent;
    public IRelationshipSet R9_ExternalEntityInModel_is_a_presence_in_subsystem_model_of_ExternalEntitys() throws XtumlException {
        return R9_ExternalEntityInModel_is_a_presence_in_subsystem_model_of_ExternalEntity_extent;
    }


    // ports


    // utilities
    private CMD CMD;
    public CMD CMD() {
        if ( null == CMD ) CMD = new CMDImpl<>( this );
        return CMD;
    }
    private T T;
    public T T() {
        if ( null == T ) T = new TImpl<>( this );
        return T;
    }
    private CSV CSV;
    public CSV CSV() {
        if ( null == CSV ) CSV = new CSVImpl<>( this );
        return CSV;
    }
    private LOG LOG;
    public LOG LOG() {
        if ( null == LOG ) LOG = new LOGImpl<>( this );
        return LOG;
    }
    private STRING STRING;
    public STRING STRING() {
        if ( null == STRING ) STRING = new STRINGImpl<>( this );
        return STRING;
    }
    private C_UTIL C_UTIL;
    public C_UTIL C_UTIL() {
        if ( null == C_UTIL ) C_UTIL = new C_UTILImpl<>( this );
        return C_UTIL;
    }
    private TIM TIM;
    public TIM TIM() {
        if ( null == TIM ) TIM = new TIMImpl<>( this );
        return TIM;
    }
    private SQL SQL;
    public SQL SQL() {
        if ( null == SQL ) SQL = new SQLImpl<>( this );
        return SQL;
    }


    // component initialization function
    @Override
    public void initialize() throws XtumlException {
        init();
    }

    @Override
    public String getVersion() {
        Properties prop = new Properties();
        try {
            prop.load(getClass().getResourceAsStream("SqlProperties.properties"));
        } catch (IOException e) { /* do nothing */ }
        return prop.getProperty("version", "Unknown");
    }
    @Override
    public String getVersionDate() {
        Properties prop = new Properties();
        try {
            prop.load(getClass().getResourceAsStream("SqlProperties.properties"));
        } catch (IOException e) { /* do nothing */ }
        return prop.getProperty("version_date", "Unknown");
    }

    @Override
    public boolean addInstance( IModelInstance instance ) throws XtumlException {
        if ( null == instance ) throw new BadArgumentException( "Null instance passed." );
        if ( instance.isEmpty() ) throw new EmptyInstanceException( "Cannot add empty instance to population." );
        if ( instance instanceof ACT_BRK ) return ACT_BRK_extent.add( (ACT_BRK)instance );
        else if ( instance instanceof ACT_CON ) return ACT_CON_extent.add( (ACT_CON)instance );
        else if ( instance instanceof ACT_FIO ) return ACT_FIO_extent.add( (ACT_FIO)instance );
        else if ( instance instanceof ACT_SEL ) return ACT_SEL_extent.add( (ACT_SEL)instance );
        else if ( instance instanceof ACT_SMT ) return ACT_SMT_extent.add( (ACT_SMT)instance );
        else if ( instance instanceof AcceptEvent ) return AcceptEvent_extent.add( (AcceptEvent)instance );
        else if ( instance instanceof AcceptEventAction ) return AcceptEventAction_extent.add( (AcceptEventAction)instance );
        else if ( instance instanceof AcceptTimeEventAction ) return AcceptTimeEventAction_extent.add( (AcceptTimeEventAction)instance );
        else if ( instance instanceof Action ) return Action_extent.add( (Action)instance );
        else if ( instance instanceof ActionHome ) return ActionHome_extent.add( (ActionHome)instance );
        else if ( instance instanceof ActionNode ) return ActionNode_extent.add( (ActionNode)instance );
        else if ( instance instanceof ActivityDiagramAction ) return ActivityDiagramAction_extent.add( (ActivityDiagramAction)instance );
        else if ( instance instanceof ActivityEdge ) return ActivityEdge_extent.add( (ActivityEdge)instance );
        else if ( instance instanceof ActivityFinalNode ) return ActivityFinalNode_extent.add( (ActivityFinalNode)instance );
        else if ( instance instanceof ActivityNode ) return ActivityNode_extent.add( (ActivityNode)instance );
        else if ( instance instanceof ActivityPartition ) return ActivityPartition_extent.add( (ActivityPartition)instance );
        else if ( instance instanceof ActorParticipant ) return ActorParticipant_extent.add( (ActorParticipant)instance );
        else if ( instance instanceof ActualParameter ) return ActualParameter_extent.add( (ActualParameter)instance );
        else if ( instance instanceof Any ) return Any_extent.add( (Any)instance );
        else if ( instance instanceof Application ) return Application_extent.add( (Application)instance );
        else if ( instance instanceof ApplicationExecutor ) return ApplicationExecutor_extent.add( (ApplicationExecutor)instance );
        else if ( instance instanceof ArrayElementReference ) return ArrayElementReference_extent.add( (ArrayElementReference)instance );
        else if ( instance instanceof ArrayLengthAccess ) return ArrayLengthAccess_extent.add( (ArrayLengthAccess)instance );
        else if ( instance instanceof ArrayLengthValue ) return ArrayLengthValue_extent.add( (ArrayLengthValue)instance );
        else if ( instance instanceof ArrayTypeReference ) return ArrayTypeReference_extent.add( (ArrayTypeReference)instance );
        else if ( instance instanceof AssignToMember ) return AssignToMember_extent.add( (AssignToMember)instance );
        else if ( instance instanceof Association ) return Association_extent.add( (Association)instance );
        else if ( instance instanceof AssociationSerializerLoader ) return AssociationSerializerLoader_extent.add( (AssociationSerializerLoader)instance );
        else if ( instance instanceof AsynchronousMessage ) return AsynchronousMessage_extent.add( (AsynchronousMessage)instance );
        else if ( instance instanceof Attribute ) return Attribute_extent.add( (Attribute)instance );
        else if ( instance instanceof AttributeAccess ) return AttributeAccess_extent.add( (AttributeAccess)instance );
        else if ( instance instanceof AttributeAccessor ) return AttributeAccessor_extent.add( (AttributeAccessor)instance );
        else if ( instance instanceof AttributeComparison ) return AttributeComparison_extent.add( (AttributeComparison)instance );
        else if ( instance instanceof AttributeDerivation ) return AttributeDerivation_extent.add( (AttributeDerivation)instance );
        else if ( instance instanceof AttributeLoader ) return AttributeLoader_extent.add( (AttributeLoader)instance );
        else if ( instance instanceof AttributeReference ) return AttributeReference_extent.add( (AttributeReference)instance );
        else if ( instance instanceof AttributeReferenceInClass ) return AttributeReferenceInClass_extent.add( (AttributeReferenceInClass)instance );
        else if ( instance instanceof AttributeSerializer ) return AttributeSerializer_extent.add( (AttributeSerializer)instance );
        else if ( instance instanceof AttributeValue ) return AttributeValue_extent.add( (AttributeValue)instance );
        else if ( instance instanceof AttributeValueReference ) return AttributeValueReference_extent.add( (AttributeValueReference)instance );
        else if ( instance instanceof BaseAttribute ) return BaseAttribute_extent.add( (BaseAttribute)instance );
        else if ( instance instanceof BasicTypeReference ) return BasicTypeReference_extent.add( (BasicTypeReference)instance );
        else if ( instance instanceof BatchRelator ) return BatchRelator_extent.add( (BatchRelator)instance );
        else if ( instance instanceof BinaryAssociation ) return BinaryAssociation_extent.add( (BinaryAssociation)instance );
        else if ( instance instanceof BinaryOperation ) return BinaryOperation_extent.add( (BinaryOperation)instance );
        else if ( instance instanceof Block ) return Block_extent.add( (Block)instance );
        else if ( instance instanceof BlockInStackFrame ) return BlockInStackFrame_extent.add( (BlockInStackFrame)instance );
        else if ( instance instanceof Body ) return Body_extent.add( (Body)instance );
        else if ( instance instanceof BodyInComponent ) return BodyInComponent_extent.add( (BodyInComponent)instance );
        else if ( instance instanceof BodyInElement ) return BodyInElement_extent.add( (BodyInElement)instance );
        else if ( instance instanceof BooleanLoader ) return BooleanLoader_extent.add( (BooleanLoader)instance );
        else if ( instance instanceof BooleanSerializer ) return BooleanSerializer_extent.add( (BooleanSerializer)instance );
        else if ( instance instanceof BreakSmt ) return BreakSmt_extent.add( (BreakSmt)instance );
        else if ( instance instanceof Bridge ) return Bridge_extent.add( (Bridge)instance );
        else if ( instance instanceof BridgeArgument ) return BridgeArgument_extent.add( (BridgeArgument)instance );
        else if ( instance instanceof BridgeBody ) return BridgeBody_extent.add( (BridgeBody)instance );
        else if ( instance instanceof BridgeInvocation ) return BridgeInvocation_extent.add( (BridgeInvocation)instance );
        else if ( instance instanceof BridgeMessage ) return BridgeMessage_extent.add( (BridgeMessage)instance );
        else if ( instance instanceof BridgeParameter ) return BridgeParameter_extent.add( (BridgeParameter)instance );
        else if ( instance instanceof BridgeValue ) return BridgeValue_extent.add( (BridgeValue)instance );
        else if ( instance instanceof BuiltInType ) return BuiltInType_extent.add( (BuiltInType)instance );
        else if ( instance instanceof C_C ) return C_C_extent.add( (C_C)instance );
        else if ( instance instanceof C_I ) return C_I_extent.add( (C_I)instance );
        else if ( instance instanceof C_PO ) return C_PO_extent.add( (C_PO)instance );
        else if ( instance instanceof CantHappen ) return CantHappen_extent.add( (CantHappen)instance );
        else if ( instance instanceof CardinalityCheck ) return CardinalityCheck_extent.add( (CardinalityCheck)instance );
        else if ( instance instanceof ChainLink ) return ChainLink_extent.add( (ChainLink)instance );
        else if ( instance instanceof ClassAsAssociatedOneSide ) return ClassAsAssociatedOneSide_extent.add( (ClassAsAssociatedOneSide)instance );
        else if ( instance instanceof ClassAsAssociatedOtherSide ) return ClassAsAssociatedOtherSide_extent.add( (ClassAsAssociatedOtherSide)instance );
        else if ( instance instanceof ClassAsDerivedOneSide ) return ClassAsDerivedOneSide_extent.add( (ClassAsDerivedOneSide)instance );
        else if ( instance instanceof ClassAsDerivedOtherSide ) return ClassAsDerivedOtherSide_extent.add( (ClassAsDerivedOtherSide)instance );
        else if ( instance instanceof ClassAsLink ) return ClassAsLink_extent.add( (ClassAsLink)instance );
        else if ( instance instanceof ClassAsSimpleFormalizer ) return ClassAsSimpleFormalizer_extent.add( (ClassAsSimpleFormalizer)instance );
        else if ( instance instanceof ClassAsSimpleParticipant ) return ClassAsSimpleParticipant_extent.add( (ClassAsSimpleParticipant)instance );
        else if ( instance instanceof ClassAsSubtype ) return ClassAsSubtype_extent.add( (ClassAsSubtype)instance );
        else if ( instance instanceof ClassAsSupertype ) return ClassAsSupertype_extent.add( (ClassAsSupertype)instance );
        else if ( instance instanceof ClassIdentifier ) return ClassIdentifier_extent.add( (ClassIdentifier)instance );
        else if ( instance instanceof ClassIdentifierAttribute ) return ClassIdentifierAttribute_extent.add( (ClassIdentifierAttribute)instance );
        else if ( instance instanceof ClassInAssociation ) return ClassInAssociation_extent.add( (ClassInAssociation)instance );
        else if ( instance instanceof ClassInstanceLoader ) return ClassInstanceLoader_extent.add( (ClassInstanceLoader)instance );
        else if ( instance instanceof ClassInstanceParticipant ) return ClassInstanceParticipant_extent.add( (ClassInstanceParticipant)instance );
        else if ( instance instanceof ClassInstanceSerializer ) return ClassInstanceSerializer_extent.add( (ClassInstanceSerializer)instance );
        else if ( instance instanceof ClassParticipant ) return ClassParticipant_extent.add( (ClassParticipant)instance );
        else if ( instance instanceof ClassParticipantAttribute ) return ClassParticipantAttribute_extent.add( (ClassParticipantAttribute)instance );
        else if ( instance instanceof ClassRelationship ) return ClassRelationship_extent.add( (ClassRelationship)instance );
        else if ( instance instanceof ClassStateMachine ) return ClassStateMachine_extent.add( (ClassStateMachine)instance );
        else if ( instance instanceof CodeBlock ) return CodeBlock_extent.add( (CodeBlock)instance );
        else if ( instance instanceof CommunicationLink ) return CommunicationLink_extent.add( (CommunicationLink)instance );
        else if ( instance instanceof ComponentDefinition ) return ComponentDefinition_extent.add( (ComponentDefinition)instance );
        else if ( instance instanceof ComponentInstance ) return ComponentInstance_extent.add( (ComponentInstance)instance );
        else if ( instance instanceof ComponentInstanceContainer ) return ComponentInstanceContainer_extent.add( (ComponentInstanceContainer)instance );
        else if ( instance instanceof ComponentInstantiation ) return ComponentInstantiation_extent.add( (ComponentInstantiation)instance );
        else if ( instance instanceof ComponentParticipant ) return ComponentParticipant_extent.add( (ComponentParticipant)instance );
        else if ( instance instanceof ComponentReference ) return ComponentReference_extent.add( (ComponentReference)instance );
        else if ( instance instanceof ComponentResultSet ) return ComponentResultSet_extent.add( (ComponentResultSet)instance );
        else if ( instance instanceof ComponentVisibility ) return ComponentVisibility_extent.add( (ComponentVisibility)instance );
        else if ( instance instanceof ConstantReference ) return ConstantReference_extent.add( (ConstantReference)instance );
        else if ( instance instanceof ConstantSpecification ) return ConstantSpecification_extent.add( (ConstantSpecification)instance );
        else if ( instance instanceof ContinueSmt ) return ContinueSmt_extent.add( (ContinueSmt)instance );
        else if ( instance instanceof Control ) return Control_extent.add( (Control)instance );
        else if ( instance instanceof ControlNode ) return ControlNode_extent.add( (ControlNode)instance );
        else if ( instance instanceof CoreDataType ) return CoreDataType_extent.add( (CoreDataType)instance );
        else if ( instance instanceof Create ) return Create_extent.add( (Create)instance );
        else if ( instance instanceof CreateEventStatement ) return CreateEventStatement_extent.add( (CreateEventStatement)instance );
        else if ( instance instanceof CreateEventToClass ) return CreateEventToClass_extent.add( (CreateEventToClass)instance );
        else if ( instance instanceof CreateEventToCreator ) return CreateEventToCreator_extent.add( (CreateEventToCreator)instance );
        else if ( instance instanceof CreateEventToInstance ) return CreateEventToInstance_extent.add( (CreateEventToInstance)instance );
        else if ( instance instanceof CreateNoVariable ) return CreateNoVariable_extent.add( (CreateNoVariable)instance );
        else if ( instance instanceof CreateSMEventStatement ) return CreateSMEventStatement_extent.add( (CreateSMEventStatement)instance );
        else if ( instance instanceof Creation ) return Creation_extent.add( (Creation)instance );
        else if ( instance instanceof CreationTransition ) return CreationTransition_extent.add( (CreationTransition)instance );
        else if ( instance instanceof DataItemValue ) return DataItemValue_extent.add( (DataItemValue)instance );
        else if ( instance instanceof DataType ) return DataType_extent.add( (DataType)instance );
        else if ( instance instanceof DecisionMergeNode ) return DecisionMergeNode_extent.add( (DecisionMergeNode)instance );
        else if ( instance instanceof Deferral ) return Deferral_extent.add( (Deferral)instance );
        else if ( instance instanceof Delegation ) return Delegation_extent.add( (Delegation)instance );
        else if ( instance instanceof DelegationInComponent ) return DelegationInComponent_extent.add( (DelegationInComponent)instance );
        else if ( instance instanceof Delete ) return Delete_extent.add( (Delete)instance );
        else if ( instance instanceof DeleteSmt ) return DeleteSmt_extent.add( (DeleteSmt)instance );
        else if ( instance instanceof Deployment ) return Deployment_extent.add( (Deployment)instance );
        else if ( instance instanceof DerivedAssociation ) return DerivedAssociation_extent.add( (DerivedAssociation)instance );
        else if ( instance instanceof DerivedAttributeBody ) return DerivedAttributeBody_extent.add( (DerivedAttributeBody)instance );
        else if ( instance instanceof DerivedBaseAttribute ) return DerivedBaseAttribute_extent.add( (DerivedBaseAttribute)instance );
        else if ( instance instanceof Dimensions ) return Dimensions_extent.add( (Dimensions)instance );
        else if ( instance instanceof EP_PKG ) return EP_PKG_extent.add( (EP_PKG)instance );
        else if ( instance instanceof E_GEN ) return E_GEN_extent.add( (E_GEN)instance );
        else if ( instance instanceof ElementVisibility ) return ElementVisibility_extent.add( (ElementVisibility)instance );
        else if ( instance instanceof ElseIfStmt ) return ElseIfStmt_extent.add( (ElseIfStmt)instance );
        else if ( instance instanceof ElseStmt ) return ElseStmt_extent.add( (ElseStmt)instance );
        else if ( instance instanceof EnumeratedType ) return EnumeratedType_extent.add( (EnumeratedType)instance );
        else if ( instance instanceof EnumerationDataType ) return EnumerationDataType_extent.add( (EnumerationDataType)instance );
        else if ( instance instanceof Enumerator ) return Enumerator_extent.add( (Enumerator)instance );
        else if ( instance instanceof EnumeratorLoader ) return EnumeratorLoader_extent.add( (EnumeratorLoader)instance );
        else if ( instance instanceof EnumeratorReference ) return EnumeratorReference_extent.add( (EnumeratorReference)instance );
        else if ( instance instanceof Event ) return Event_extent.add( (Event)instance );
        else if ( instance instanceof EventArgument ) return EventArgument_extent.add( (EventArgument)instance );
        else if ( instance instanceof EventCreation ) return EventCreation_extent.add( (EventCreation)instance );
        else if ( instance instanceof EventDatumValue ) return EventDatumValue_extent.add( (EventDatumValue)instance );
        else if ( instance instanceof EventIgnored ) return EventIgnored_extent.add( (EventIgnored)instance );
        else if ( instance instanceof EventInstanceLoader ) return EventInstanceLoader_extent.add( (EventInstanceLoader)instance );
        else if ( instance instanceof EventInstanceSerializer ) return EventInstanceSerializer_extent.add( (EventInstanceSerializer)instance );
        else if ( instance instanceof EventMessage ) return EventMessage_extent.add( (EventMessage)instance );
        else if ( instance instanceof EventParameterReference ) return EventParameterReference_extent.add( (EventParameterReference)instance );
        else if ( instance instanceof EventQueueEntry ) return EventQueueEntry_extent.add( (EventQueueEntry)instance );
        else if ( instance instanceof EventSpecificationStatement ) return EventSpecificationStatement_extent.add( (EventSpecificationStatement)instance );
        else if ( instance instanceof Exception ) return Exception_extent.add( (Exception)instance );
        else if ( instance instanceof ExecutableProperty ) return ExecutableProperty_extent.add( (ExecutableProperty)instance );
        else if ( instance instanceof ExecutablePropertyArgument ) return ExecutablePropertyArgument_extent.add( (ExecutablePropertyArgument)instance );
        else if ( instance instanceof Expression ) return Expression_extent.add( (Expression)instance );
        else if ( instance instanceof ExpressionAsStatement ) return ExpressionAsStatement_extent.add( (ExpressionAsStatement)instance );
        else if ( instance instanceof Extend ) return Extend_extent.add( (Extend)instance );
        else if ( instance instanceof ExternalEntity ) return ExternalEntity_extent.add( (ExternalEntity)instance );
        else if ( instance instanceof ExternalEntityInModel ) return ExternalEntityInModel_extent.add( (ExternalEntityInModel)instance );
        else if ( instance instanceof ExternalEntityParticipant ) return ExternalEntityParticipant_extent.add( (ExternalEntityParticipant)instance );
        else if ( instance instanceof Feature ) return Feature_extent.add( (Feature)instance );
        else if ( instance instanceof File ) return File_extent.add( (File)instance );
        else if ( instance instanceof Finalization ) return Finalization_extent.add( (Finalization)instance );
        else if ( instance instanceof FlowFinalNode ) return FlowFinalNode_extent.add( (FlowFinalNode)instance );
        else if ( instance instanceof ForSmt ) return ForSmt_extent.add( (ForSmt)instance );
        else if ( instance instanceof ForStmt ) return ForStmt_extent.add( (ForStmt)instance );
        else if ( instance instanceof ForkJoinNode ) return ForkJoinNode_extent.add( (ForkJoinNode)instance );
        else if ( instance instanceof FormalAttribute ) return FormalAttribute_extent.add( (FormalAttribute)instance );
        else if ( instance instanceof FormalAttributeValue ) return FormalAttributeValue_extent.add( (FormalAttributeValue)instance );
        else if ( instance instanceof FormalParameter ) return FormalParameter_extent.add( (FormalParameter)instance );
        else if ( instance instanceof Function ) return Function_extent.add( (Function)instance );
        else if ( instance instanceof FunctionArgument ) return FunctionArgument_extent.add( (FunctionArgument)instance );
        else if ( instance instanceof FunctionBody ) return FunctionBody_extent.add( (FunctionBody)instance );
        else if ( instance instanceof FunctionInvocation ) return FunctionInvocation_extent.add( (FunctionInvocation)instance );
        else if ( instance instanceof FunctionMessage ) return FunctionMessage_extent.add( (FunctionMessage)instance );
        else if ( instance instanceof FunctionParameter ) return FunctionParameter_extent.add( (FunctionParameter)instance );
        else if ( instance instanceof FunctionValue ) return FunctionValue_extent.add( (FunctionValue)instance );
        else if ( instance instanceof GeneralFile ) return GeneralFile_extent.add( (GeneralFile)instance );
        else if ( instance instanceof GeneralLoader ) return GeneralLoader_extent.add( (GeneralLoader)instance );
        else if ( instance instanceof GeneralSerializer ) return GeneralSerializer_extent.add( (GeneralSerializer)instance );
        else if ( instance instanceof Generalization ) return Generalization_extent.add( (Generalization)instance );
        else if ( instance instanceof Generate ) return Generate_extent.add( (Generate)instance );
        else if ( instance instanceof GenerateEventStatement ) return GenerateEventStatement_extent.add( (GenerateEventStatement)instance );
        else if ( instance instanceof GeneratePreexistingEvent ) return GeneratePreexistingEvent_extent.add( (GeneratePreexistingEvent)instance );
        else if ( instance instanceof GenerateSMEventStatement ) return GenerateSMEventStatement_extent.add( (GenerateSMEventStatement)instance );
        else if ( instance instanceof GenerateToClass ) return GenerateToClass_extent.add( (GenerateToClass)instance );
        else if ( instance instanceof GenerateToCreator ) return GenerateToCreator_extent.add( (GenerateToCreator)instance );
        else if ( instance instanceof GenericInvocable ) return GenericInvocable_extent.add( (GenericInvocable)instance );
        else if ( instance instanceof GlobalElementInSystem ) return GlobalElementInSystem_extent.add( (GlobalElementInSystem)instance );
        else if ( instance instanceof Halt ) return Halt_extent.add( (Halt)instance );
        else if ( instance instanceof I_INS ) return I_INS_extent.add( (I_INS)instance );
        else if ( instance instanceof IfSmt ) return IfSmt_extent.add( (IfSmt)instance );
        else if ( instance instanceof IfStmt ) return IfStmt_extent.add( (IfStmt)instance );
        else if ( instance instanceof Iface ) return Iface_extent.add( (Iface)instance );
        else if ( instance instanceof ImportedClass ) return ImportedClass_extent.add( (ImportedClass)instance );
        else if ( instance instanceof ImportedProvision ) return ImportedProvision_extent.add( (ImportedProvision)instance );
        else if ( instance instanceof ImportedProvisionInSatisfaction ) return ImportedProvisionInSatisfaction_extent.add( (ImportedProvisionInSatisfaction)instance );
        else if ( instance instanceof ImportedReference ) return ImportedReference_extent.add( (ImportedReference)instance );
        else if ( instance instanceof ImportedRequirement ) return ImportedRequirement_extent.add( (ImportedRequirement)instance );
        else if ( instance instanceof Include ) return Include_extent.add( (Include)instance );
        else if ( instance instanceof InformalArgument ) return InformalArgument_extent.add( (InformalArgument)instance );
        else if ( instance instanceof InformalAsynchronousMessage ) return InformalAsynchronousMessage_extent.add( (InformalAsynchronousMessage)instance );
        else if ( instance instanceof InformalAttribute ) return InformalAttribute_extent.add( (InformalAttribute)instance );
        else if ( instance instanceof InformalAttributeValue ) return InformalAttributeValue_extent.add( (InformalAttributeValue)instance );
        else if ( instance instanceof InformalSynchronousMessage ) return InformalSynchronousMessage_extent.add( (InformalSynchronousMessage)instance );
        else if ( instance instanceof InitialNode ) return InitialNode_extent.add( (InitialNode)instance );
        else if ( instance instanceof InstSet ) return InstSet_extent.add( (InstSet)instance );
        else if ( instance instanceof InstanceAttributeValue ) return InstanceAttributeValue_extent.add( (InstanceAttributeValue)instance );
        else if ( instance instanceof InstanceHandle ) return InstanceHandle_extent.add( (InstanceHandle)instance );
        else if ( instance instanceof InstanceLoader ) return InstanceLoader_extent.add( (InstanceLoader)instance );
        else if ( instance instanceof InstancePopulationSelector ) return InstancePopulationSelector_extent.add( (InstancePopulationSelector)instance );
        else if ( instance instanceof InstanceReference ) return InstanceReference_extent.add( (InstanceReference)instance );
        else if ( instance instanceof InstanceReferenceDataType ) return InstanceReferenceDataType_extent.add( (InstanceReferenceDataType)instance );
        else if ( instance instanceof InstanceSelector ) return InstanceSelector_extent.add( (InstanceSelector)instance );
        else if ( instance instanceof InstanceSerializer ) return InstanceSerializer_extent.add( (InstanceSerializer)instance );
        else if ( instance instanceof InstanceSetReference ) return InstanceSetReference_extent.add( (InstanceSetReference)instance );
        else if ( instance instanceof InstanceStateMachine ) return InstanceStateMachine_extent.add( (InstanceStateMachine)instance );
        else if ( instance instanceof IntegerLoader ) return IntegerLoader_extent.add( (IntegerLoader)instance );
        else if ( instance instanceof IntegerSerializer ) return IntegerSerializer_extent.add( (IntegerSerializer)instance );
        else if ( instance instanceof InteractionParticipant ) return InteractionParticipant_extent.add( (InteractionParticipant)instance );
        else if ( instance instanceof IntercomponentQueueEntry ) return IntercomponentQueueEntry_extent.add( (IntercomponentQueueEntry)instance );
        else if ( instance instanceof InterfaceOperation ) return InterfaceOperation_extent.add( (InterfaceOperation)instance );
        else if ( instance instanceof InterfaceOperationInvocation ) return InterfaceOperationInvocation_extent.add( (InterfaceOperationInvocation)instance );
        else if ( instance instanceof InterfaceOperationMessage ) return InterfaceOperationMessage_extent.add( (InterfaceOperationMessage)instance );
        else if ( instance instanceof InterfaceReference ) return InterfaceReference_extent.add( (InterfaceReference)instance );
        else if ( instance instanceof InterfaceReferenceInDelegation ) return InterfaceReferenceInDelegation_extent.add( (InterfaceReferenceInDelegation)instance );
        else if ( instance instanceof InterfaceSignal ) return InterfaceSignal_extent.add( (InterfaceSignal)instance );
        else if ( instance instanceof InvocableObject ) return InvocableObject_extent.add( (InvocableObject)instance );
        else if ( instance instanceof Invocation ) return Invocation_extent.add( (Invocation)instance );
        else if ( instance instanceof LeafSymbolicConstant ) return LeafSymbolicConstant_extent.add( (LeafSymbolicConstant)instance );
        else if ( instance instanceof Lifespan ) return Lifespan_extent.add( (Lifespan)instance );
        else if ( instance instanceof Link ) return Link_extent.add( (Link)instance );
        else if ( instance instanceof LinkParticipation ) return LinkParticipation_extent.add( (LinkParticipation)instance );
        else if ( instance instanceof LinkedAssociation ) return LinkedAssociation_extent.add( (LinkedAssociation)instance );
        else if ( instance instanceof Literal ) return Literal_extent.add( (Literal)instance );
        else if ( instance instanceof LiteralBoolean ) return LiteralBoolean_extent.add( (LiteralBoolean)instance );
        else if ( instance instanceof LiteralEnumerator ) return LiteralEnumerator_extent.add( (LiteralEnumerator)instance );
        else if ( instance instanceof LiteralInteger ) return LiteralInteger_extent.add( (LiteralInteger)instance );
        else if ( instance instanceof LiteralReal ) return LiteralReal_extent.add( (LiteralReal)instance );
        else if ( instance instanceof LiteralString ) return LiteralString_extent.add( (LiteralString)instance );
        else if ( instance instanceof LiteralSymbolicConstant ) return LiteralSymbolicConstant_extent.add( (LiteralSymbolicConstant)instance );
        else if ( instance instanceof LocalEvent ) return LocalEvent_extent.add( (LocalEvent)instance );
        else if ( instance instanceof MSG_M ) return MSG_M_extent.add( (MSG_M)instance );
        else if ( instance instanceof Mark ) return Mark_extent.add( (Mark)instance );
        else if ( instance instanceof MarkableElementType ) return MarkableElementType_extent.add( (MarkableElementType)instance );
        else if ( instance instanceof MealyActionHome ) return MealyActionHome_extent.add( (MealyActionHome)instance );
        else if ( instance instanceof MealyStateMachine ) return MealyStateMachine_extent.add( (MealyStateMachine)instance );
        else if ( instance instanceof MemberReference ) return MemberReference_extent.add( (MemberReference)instance );
        else if ( instance instanceof MemberValueReference ) return MemberValueReference_extent.add( (MemberValueReference)instance );
        else if ( instance instanceof Message ) return Message_extent.add( (Message)instance );
        else if ( instance instanceof MessageArgument ) return MessageArgument_extent.add( (MessageArgument)instance );
        else if ( instance instanceof MessageValue ) return MessageValue_extent.add( (MessageValue)instance );
        else if ( instance instanceof ModelClass ) return ModelClass_extent.add( (ModelClass)instance );
        else if ( instance instanceof ModelInst ) return ModelInst_extent.add( (ModelInst)instance );
        else if ( instance instanceof Monitor ) return Monitor_extent.add( (Monitor)instance );
        else if ( instance instanceof MooreActionHome ) return MooreActionHome_extent.add( (MooreActionHome)instance );
        else if ( instance instanceof MooreStateMachine ) return MooreStateMachine_extent.add( (MooreStateMachine)instance );
        else if ( instance instanceof MultiInstanceRef ) return MultiInstanceRef_extent.add( (MultiInstanceRef)instance );
        else if ( instance instanceof MultipleReferrerAssoc ) return MultipleReferrerAssoc_extent.add( (MultipleReferrerAssoc)instance );
        else if ( instance instanceof NamedReference ) return NamedReference_extent.add( (NamedReference)instance );
        else if ( instance instanceof NewBaseAttribute ) return NewBaseAttribute_extent.add( (NewBaseAttribute)instance );
        else if ( instance instanceof NewStateTransition ) return NewStateTransition_extent.add( (NewStateTransition)instance );
        else if ( instance instanceof NoEventTransition ) return NoEventTransition_extent.add( (NoEventTransition)instance );
        else if ( instance instanceof NonLocalEvent ) return NonLocalEvent_extent.add( (NonLocalEvent)instance );
        else if ( instance instanceof NullSmt ) return NullSmt_extent.add( (NullSmt)instance );
        else if ( instance instanceof O_ATTR ) return O_ATTR_extent.add( (O_ATTR)instance );
        else if ( instance instanceof O_TFR ) return O_TFR_extent.add( (O_TFR)instance );
        else if ( instance instanceof ObjectNode ) return ObjectNode_extent.add( (ObjectNode)instance );
        else if ( instance instanceof Operation ) return Operation_extent.add( (Operation)instance );
        else if ( instance instanceof OperationArgument ) return OperationArgument_extent.add( (OperationArgument)instance );
        else if ( instance instanceof OperationBody ) return OperationBody_extent.add( (OperationBody)instance );
        else if ( instance instanceof OperationInvocation ) return OperationInvocation_extent.add( (OperationInvocation)instance );
        else if ( instance instanceof OperationMessage ) return OperationMessage_extent.add( (OperationMessage)instance );
        else if ( instance instanceof OperationParameter ) return OperationParameter_extent.add( (OperationParameter)instance );
        else if ( instance instanceof OperationValue ) return OperationValue_extent.add( (OperationValue)instance );
        else if ( instance instanceof PackageParticipant ) return PackageParticipant_extent.add( (PackageParticipant)instance );
        else if ( instance instanceof PackageReference ) return PackageReference_extent.add( (PackageReference)instance );
        else if ( instance instanceof PackageableElement ) return PackageableElement_extent.add( (PackageableElement)instance );
        else if ( instance instanceof ParameterReference ) return ParameterReference_extent.add( (ParameterReference)instance );
        else if ( instance instanceof ParameterValue ) return ParameterValue_extent.add( (ParameterValue)instance );
        else if ( instance instanceof ParenthesizedExpression ) return ParenthesizedExpression_extent.add( (ParenthesizedExpression)instance );
        else if ( instance instanceof PendingEvent ) return PendingEvent_extent.add( (PendingEvent)instance );
        else if ( instance instanceof PolymorphicEvent ) return PolymorphicEvent_extent.add( (PolymorphicEvent)instance );
        else if ( instance instanceof PopulationLoader ) return PopulationLoader_extent.add( (PopulationLoader)instance );
        else if ( instance instanceof Port ) return Port_extent.add( (Port)instance );
        else if ( instance instanceof PortMessage ) return PortMessage_extent.add( (PortMessage)instance );
        else if ( instance instanceof PortReference ) return PortReference_extent.add( (PortReference)instance );
        else if ( instance instanceof Promotion ) return Promotion_extent.add( (Promotion)instance );
        else if ( instance instanceof PropertyParameter ) return PropertyParameter_extent.add( (PropertyParameter)instance );
        else if ( instance instanceof ProvidedExecutableProperty ) return ProvidedExecutableProperty_extent.add( (ProvidedExecutableProperty)instance );
        else if ( instance instanceof ProvidedOperation ) return ProvidedOperation_extent.add( (ProvidedOperation)instance );
        else if ( instance instanceof ProvidedOperationBody ) return ProvidedOperationBody_extent.add( (ProvidedOperationBody)instance );
        else if ( instance instanceof ProvidedSignal ) return ProvidedSignal_extent.add( (ProvidedSignal)instance );
        else if ( instance instanceof ProvidedSignalBody ) return ProvidedSignalBody_extent.add( (ProvidedSignalBody)instance );
        else if ( instance instanceof Provision ) return Provision_extent.add( (Provision)instance );
        else if ( instance instanceof Range ) return Range_extent.add( (Range)instance );
        else if ( instance instanceof RealLoader ) return RealLoader_extent.add( (RealLoader)instance );
        else if ( instance instanceof RealSerializer ) return RealSerializer_extent.add( (RealSerializer)instance );
        else if ( instance instanceof ReferentialAttribute ) return ReferentialAttribute_extent.add( (ReferentialAttribute)instance );
        else if ( instance instanceof ReferredToClassInAssoc ) return ReferredToClassInAssoc_extent.add( (ReferredToClassInAssoc)instance );
        else if ( instance instanceof ReferredToClassProxy ) return ReferredToClassProxy_extent.add( (ReferredToClassProxy)instance );
        else if ( instance instanceof ReferredToIdentifierAttribute ) return ReferredToIdentifierAttribute_extent.add( (ReferredToIdentifierAttribute)instance );
        else if ( instance instanceof ReferringClassInAssoc ) return ReferringClassInAssoc_extent.add( (ReferringClassInAssoc)instance );
        else if ( instance instanceof ReferringClassProxy ) return ReferringClassProxy_extent.add( (ReferringClassProxy)instance );
        else if ( instance instanceof Relate ) return Relate_extent.add( (Relate)instance );
        else if ( instance instanceof RelateSmt ) return RelateSmt_extent.add( (RelateSmt)instance );
        else if ( instance instanceof RelateUsing ) return RelateUsing_extent.add( (RelateUsing)instance );
        else if ( instance instanceof RelationshipPopulationSelector ) return RelationshipPopulationSelector_extent.add( (RelationshipPopulationSelector)instance );
        else if ( instance instanceof RequiredExecutableProperty ) return RequiredExecutableProperty_extent.add( (RequiredExecutableProperty)instance );
        else if ( instance instanceof RequiredOperation ) return RequiredOperation_extent.add( (RequiredOperation)instance );
        else if ( instance instanceof RequiredOperationBody ) return RequiredOperationBody_extent.add( (RequiredOperationBody)instance );
        else if ( instance instanceof RequiredSignal ) return RequiredSignal_extent.add( (RequiredSignal)instance );
        else if ( instance instanceof RequiredSignalBody ) return RequiredSignalBody_extent.add( (RequiredSignalBody)instance );
        else if ( instance instanceof Requirement ) return Requirement_extent.add( (Requirement)instance );
        else if ( instance instanceof ReturnMessage ) return ReturnMessage_extent.add( (ReturnMessage)instance );
        else if ( instance instanceof ReturnSmt ) return ReturnSmt_extent.add( (ReturnSmt)instance );
        else if ( instance instanceof ReturnStmt ) return ReturnStmt_extent.add( (ReturnStmt)instance );
        else if ( instance instanceof RuntimeChannel ) return RuntimeChannel_extent.add( (RuntimeChannel)instance );
        else if ( instance instanceof SEMEvent ) return SEMEvent_extent.add( (SEMEvent)instance );
        else if ( instance instanceof SM_SM ) return SM_SM_extent.add( (SM_SM)instance );
        else if ( instance instanceof S_ENUM ) return S_ENUM_extent.add( (S_ENUM)instance );
        else if ( instance instanceof S_SYNC ) return S_SYNC_extent.add( (S_SYNC)instance );
        else if ( instance instanceof Satisfaction ) return Satisfaction_extent.add( (Satisfaction)instance );
        else if ( instance instanceof SatisfactionInComponent ) return SatisfactionInComponent_extent.add( (SatisfactionInComponent)instance );
        else if ( instance instanceof SearchResultSet ) return SearchResultSet_extent.add( (SearchResultSet)instance );
        else if ( instance instanceof Select ) return Select_extent.add( (Select)instance );
        else if ( instance instanceof SelectFromInstances ) return SelectFromInstances_extent.add( (SelectFromInstances)instance );
        else if ( instance instanceof SelectFromInstancesWhere ) return SelectFromInstancesWhere_extent.add( (SelectFromInstancesWhere)instance );
        else if ( instance instanceof SelectRelated ) return SelectRelated_extent.add( (SelectRelated)instance );
        else if ( instance instanceof SelectRelatedBy ) return SelectRelatedBy_extent.add( (SelectRelatedBy)instance );
        else if ( instance instanceof SelectRelatedWhere ) return SelectRelatedWhere_extent.add( (SelectRelatedWhere)instance );
        else if ( instance instanceof Selected ) return Selected_extent.add( (Selected)instance );
        else if ( instance instanceof SelectedReference ) return SelectedReference_extent.add( (SelectedReference)instance );
        else if ( instance instanceof Selector ) return Selector_extent.add( (Selector)instance );
        else if ( instance instanceof SelfQueueEntry ) return SelfQueueEntry_extent.add( (SelfQueueEntry)instance );
        else if ( instance instanceof SendSignal ) return SendSignal_extent.add( (SendSignal)instance );
        else if ( instance instanceof ServiceInSequence ) return ServiceInSequence_extent.add( (ServiceInSequence)instance );
        else if ( instance instanceof SetSelector ) return SetSelector_extent.add( (SetSelector)instance );
        else if ( instance instanceof SignalEvent ) return SignalEvent_extent.add( (SignalEvent)instance );
        else if ( instance instanceof SignalInvocation ) return SignalInvocation_extent.add( (SignalInvocation)instance );
        else if ( instance instanceof SignalMessage ) return SignalMessage_extent.add( (SignalMessage)instance );
        else if ( instance instanceof SimpleAssociation ) return SimpleAssociation_extent.add( (SimpleAssociation)instance );
        else if ( instance instanceof SingleInstanceRef ) return SingleInstanceRef_extent.add( (SingleInstanceRef)instance );
        else if ( instance instanceof SingleReferrerAssoc ) return SingleReferrerAssoc_extent.add( (SingleReferrerAssoc)instance );
        else if ( instance instanceof Stack ) return Stack_extent.add( (Stack)instance );
        else if ( instance instanceof StackFrame ) return StackFrame_extent.add( (StackFrame)instance );
        else if ( instance instanceof State ) return State_extent.add( (State)instance );
        else if ( instance instanceof StateActionBody ) return StateActionBody_extent.add( (StateActionBody)instance );
        else if ( instance instanceof StateEventMatrixEntry ) return StateEventMatrixEntry_extent.add( (StateEventMatrixEntry)instance );
        else if ( instance instanceof StateMachine ) return StateMachine_extent.add( (StateMachine)instance );
        else if ( instance instanceof StateMachineEvent ) return StateMachineEvent_extent.add( (StateMachineEvent)instance );
        else if ( instance instanceof StateMachineEventDataItem ) return StateMachineEventDataItem_extent.add( (StateMachineEventDataItem)instance );
        else if ( instance instanceof StateMachineState ) return StateMachineState_extent.add( (StateMachineState)instance );
        else if ( instance instanceof StateTransition ) return StateTransition_extent.add( (StateTransition)instance );
        else if ( instance instanceof Statement ) return Statement_extent.add( (Statement)instance );
        else if ( instance instanceof StringLoader ) return StringLoader_extent.add( (StringLoader)instance );
        else if ( instance instanceof StringSerializer ) return StringSerializer_extent.add( (StringSerializer)instance );
        else if ( instance instanceof StructureMember ) return StructureMember_extent.add( (StructureMember)instance );
        else if ( instance instanceof StructuredDataType ) return StructuredDataType_extent.add( (StructuredDataType)instance );
        else if ( instance instanceof SubtypeSupertypeAssociation ) return SubtypeSupertypeAssociation_extent.add( (SubtypeSupertypeAssociation)instance );
        else if ( instance instanceof SymbolicConstant ) return SymbolicConstant_extent.add( (SymbolicConstant)instance );
        else if ( instance instanceof SymbolicConstantValue ) return SymbolicConstantValue_extent.add( (SymbolicConstantValue)instance );
        else if ( instance instanceof SynchronousMessage ) return SynchronousMessage_extent.add( (SynchronousMessage)instance );
        else if ( instance instanceof SystemModel ) return SystemModel_extent.add( (SystemModel)instance );
        else if ( instance instanceof Terminator ) return Terminator_extent.add( (Terminator)instance );
        else if ( instance instanceof TerminatorService ) return TerminatorService_extent.add( (TerminatorService)instance );
        else if ( instance instanceof TerminatorServiceParameter ) return TerminatorServiceParameter_extent.add( (TerminatorServiceParameter)instance );
        else if ( instance instanceof TerminatorServiceSequence ) return TerminatorServiceSequence_extent.add( (TerminatorServiceSequence)instance );
        else if ( instance instanceof TimeSpan ) return TimeSpan_extent.add( (TimeSpan)instance );
        else if ( instance instanceof Timer ) return Timer_extent.add( (Timer)instance );
        else if ( instance instanceof TimerInstanceLoader ) return TimerInstanceLoader_extent.add( (TimerInstanceLoader)instance );
        else if ( instance instanceof TimerInstanceSerializer ) return TimerInstanceSerializer_extent.add( (TimerInstanceSerializer)instance );
        else if ( instance instanceof TimingMark ) return TimingMark_extent.add( (TimingMark)instance );
        else if ( instance instanceof TransientValueReference ) return TransientValueReference_extent.add( (TransientValueReference)instance );
        else if ( instance instanceof TransientVar ) return TransientVar_extent.add( (TransientVar)instance );
        else if ( instance instanceof Transition ) return Transition_extent.add( (Transition)instance );
        else if ( instance instanceof TransitionActionBody ) return TransitionActionBody_extent.add( (TransitionActionBody)instance );
        else if ( instance instanceof TransitionActionHome ) return TransitionActionHome_extent.add( (TransitionActionHome)instance );
        else if ( instance instanceof TransitionTableCell ) return TransitionTableCell_extent.add( (TransitionTableCell)instance );
        else if ( instance instanceof TransitionTableRow ) return TransitionTableRow_extent.add( (TransitionTableRow)instance );
        else if ( instance instanceof Type ) return Type_extent.add( (Type)instance );
        else if ( instance instanceof TypeImport ) return TypeImport_extent.add( (TypeImport)instance );
        else if ( instance instanceof TypeImportReference ) return TypeImportReference_extent.add( (TypeImportReference)instance );
        else if ( instance instanceof TypeReference ) return TypeReference_extent.add( (TypeReference)instance );
        else if ( instance instanceof UnaryOperation ) return UnaryOperation_extent.add( (UnaryOperation)instance );
        else if ( instance instanceof UniqueIDSerializer ) return UniqueIDSerializer_extent.add( (UniqueIDSerializer)instance );
        else if ( instance instanceof Unrelate ) return Unrelate_extent.add( (Unrelate)instance );
        else if ( instance instanceof UnrelateSmt ) return UnrelateSmt_extent.add( (UnrelateSmt)instance );
        else if ( instance instanceof UnrelateUsing ) return UnrelateUsing_extent.add( (UnrelateUsing)instance );
        else if ( instance instanceof UnresolvedType ) return UnresolvedType_extent.add( (UnresolvedType)instance );
        else if ( instance instanceof UseCaseAssociation ) return UseCaseAssociation_extent.add( (UseCaseAssociation)instance );
        else if ( instance instanceof UseCaseParticipant ) return UseCaseParticipant_extent.add( (UseCaseParticipant)instance );
        else if ( instance instanceof UserDataType ) return UserDataType_extent.add( (UserDataType)instance );
        else if ( instance instanceof UserDefinedType ) return UserDefinedType_extent.add( (UserDefinedType)instance );
        else if ( instance instanceof Utility ) return Utility_extent.add( (Utility)instance );
        else if ( instance instanceof UtilityFunction ) return UtilityFunction_extent.add( (UtilityFunction)instance );
        else if ( instance instanceof UtilityReference ) return UtilityReference_extent.add( (UtilityReference)instance );
        else if ( instance instanceof V_AER ) return V_AER_extent.add( (V_AER)instance );
        else if ( instance instanceof V_BIN ) return V_BIN_extent.add( (V_BIN)instance );
        else if ( instance instanceof V_INS ) return V_INS_extent.add( (V_INS)instance );
        else if ( instance instanceof V_PAR ) return V_PAR_extent.add( (V_PAR)instance );
        else if ( instance instanceof V_UNY ) return V_UNY_extent.add( (V_UNY)instance );
        else if ( instance instanceof V_VAR ) return V_VAR_extent.add( (V_VAR)instance );
        else if ( instance instanceof Value ) return Value_extent.add( (Value)instance );
        else if ( instance instanceof ValueInStackFrame ) return ValueInStackFrame_extent.add( (ValueInStackFrame)instance );
        else if ( instance instanceof Variable ) return Variable_extent.add( (Variable)instance );
        else if ( instance instanceof VariableInScope ) return VariableInScope_extent.add( (VariableInScope)instance );
        else if ( instance instanceof VariableLocation ) return VariableLocation_extent.add( (VariableLocation)instance );
        else if ( instance instanceof VariableReference ) return VariableReference_extent.add( (VariableReference)instance );
        else if ( instance instanceof Where ) return Where_extent.add( (Where)instance );
        else if ( instance instanceof WhileSmt ) return WhileSmt_extent.add( (WhileSmt)instance );
        else if ( instance instanceof WhileStmt ) return WhileStmt_extent.add( (WhileStmt)instance );
        return false;
    }

    @Override
    public boolean removeInstance( IModelInstance instance ) throws XtumlException {
        if ( null == instance ) throw new BadArgumentException( "Null instance passed." );
        if ( instance.isEmpty() ) throw new EmptyInstanceException( "Cannot remove empty instance from population." );
        if ( instance instanceof ACT_BRK ) return ACT_BRK_extent.remove( (ACT_BRK)instance );
        else if ( instance instanceof ACT_CON ) return ACT_CON_extent.remove( (ACT_CON)instance );
        else if ( instance instanceof ACT_FIO ) return ACT_FIO_extent.remove( (ACT_FIO)instance );
        else if ( instance instanceof ACT_SEL ) return ACT_SEL_extent.remove( (ACT_SEL)instance );
        else if ( instance instanceof ACT_SMT ) return ACT_SMT_extent.remove( (ACT_SMT)instance );
        else if ( instance instanceof AcceptEvent ) return AcceptEvent_extent.remove( (AcceptEvent)instance );
        else if ( instance instanceof AcceptEventAction ) return AcceptEventAction_extent.remove( (AcceptEventAction)instance );
        else if ( instance instanceof AcceptTimeEventAction ) return AcceptTimeEventAction_extent.remove( (AcceptTimeEventAction)instance );
        else if ( instance instanceof Action ) return Action_extent.remove( (Action)instance );
        else if ( instance instanceof ActionHome ) return ActionHome_extent.remove( (ActionHome)instance );
        else if ( instance instanceof ActionNode ) return ActionNode_extent.remove( (ActionNode)instance );
        else if ( instance instanceof ActivityDiagramAction ) return ActivityDiagramAction_extent.remove( (ActivityDiagramAction)instance );
        else if ( instance instanceof ActivityEdge ) return ActivityEdge_extent.remove( (ActivityEdge)instance );
        else if ( instance instanceof ActivityFinalNode ) return ActivityFinalNode_extent.remove( (ActivityFinalNode)instance );
        else if ( instance instanceof ActivityNode ) return ActivityNode_extent.remove( (ActivityNode)instance );
        else if ( instance instanceof ActivityPartition ) return ActivityPartition_extent.remove( (ActivityPartition)instance );
        else if ( instance instanceof ActorParticipant ) return ActorParticipant_extent.remove( (ActorParticipant)instance );
        else if ( instance instanceof ActualParameter ) return ActualParameter_extent.remove( (ActualParameter)instance );
        else if ( instance instanceof Any ) return Any_extent.remove( (Any)instance );
        else if ( instance instanceof Application ) return Application_extent.remove( (Application)instance );
        else if ( instance instanceof ApplicationExecutor ) return ApplicationExecutor_extent.remove( (ApplicationExecutor)instance );
        else if ( instance instanceof ArrayElementReference ) return ArrayElementReference_extent.remove( (ArrayElementReference)instance );
        else if ( instance instanceof ArrayLengthAccess ) return ArrayLengthAccess_extent.remove( (ArrayLengthAccess)instance );
        else if ( instance instanceof ArrayLengthValue ) return ArrayLengthValue_extent.remove( (ArrayLengthValue)instance );
        else if ( instance instanceof ArrayTypeReference ) return ArrayTypeReference_extent.remove( (ArrayTypeReference)instance );
        else if ( instance instanceof AssignToMember ) return AssignToMember_extent.remove( (AssignToMember)instance );
        else if ( instance instanceof Association ) return Association_extent.remove( (Association)instance );
        else if ( instance instanceof AssociationSerializerLoader ) return AssociationSerializerLoader_extent.remove( (AssociationSerializerLoader)instance );
        else if ( instance instanceof AsynchronousMessage ) return AsynchronousMessage_extent.remove( (AsynchronousMessage)instance );
        else if ( instance instanceof Attribute ) return Attribute_extent.remove( (Attribute)instance );
        else if ( instance instanceof AttributeAccess ) return AttributeAccess_extent.remove( (AttributeAccess)instance );
        else if ( instance instanceof AttributeAccessor ) return AttributeAccessor_extent.remove( (AttributeAccessor)instance );
        else if ( instance instanceof AttributeComparison ) return AttributeComparison_extent.remove( (AttributeComparison)instance );
        else if ( instance instanceof AttributeDerivation ) return AttributeDerivation_extent.remove( (AttributeDerivation)instance );
        else if ( instance instanceof AttributeLoader ) return AttributeLoader_extent.remove( (AttributeLoader)instance );
        else if ( instance instanceof AttributeReference ) return AttributeReference_extent.remove( (AttributeReference)instance );
        else if ( instance instanceof AttributeReferenceInClass ) return AttributeReferenceInClass_extent.remove( (AttributeReferenceInClass)instance );
        else if ( instance instanceof AttributeSerializer ) return AttributeSerializer_extent.remove( (AttributeSerializer)instance );
        else if ( instance instanceof AttributeValue ) return AttributeValue_extent.remove( (AttributeValue)instance );
        else if ( instance instanceof AttributeValueReference ) return AttributeValueReference_extent.remove( (AttributeValueReference)instance );
        else if ( instance instanceof BaseAttribute ) return BaseAttribute_extent.remove( (BaseAttribute)instance );
        else if ( instance instanceof BasicTypeReference ) return BasicTypeReference_extent.remove( (BasicTypeReference)instance );
        else if ( instance instanceof BatchRelator ) return BatchRelator_extent.remove( (BatchRelator)instance );
        else if ( instance instanceof BinaryAssociation ) return BinaryAssociation_extent.remove( (BinaryAssociation)instance );
        else if ( instance instanceof BinaryOperation ) return BinaryOperation_extent.remove( (BinaryOperation)instance );
        else if ( instance instanceof Block ) return Block_extent.remove( (Block)instance );
        else if ( instance instanceof BlockInStackFrame ) return BlockInStackFrame_extent.remove( (BlockInStackFrame)instance );
        else if ( instance instanceof Body ) return Body_extent.remove( (Body)instance );
        else if ( instance instanceof BodyInComponent ) return BodyInComponent_extent.remove( (BodyInComponent)instance );
        else if ( instance instanceof BodyInElement ) return BodyInElement_extent.remove( (BodyInElement)instance );
        else if ( instance instanceof BooleanLoader ) return BooleanLoader_extent.remove( (BooleanLoader)instance );
        else if ( instance instanceof BooleanSerializer ) return BooleanSerializer_extent.remove( (BooleanSerializer)instance );
        else if ( instance instanceof BreakSmt ) return BreakSmt_extent.remove( (BreakSmt)instance );
        else if ( instance instanceof Bridge ) return Bridge_extent.remove( (Bridge)instance );
        else if ( instance instanceof BridgeArgument ) return BridgeArgument_extent.remove( (BridgeArgument)instance );
        else if ( instance instanceof BridgeBody ) return BridgeBody_extent.remove( (BridgeBody)instance );
        else if ( instance instanceof BridgeInvocation ) return BridgeInvocation_extent.remove( (BridgeInvocation)instance );
        else if ( instance instanceof BridgeMessage ) return BridgeMessage_extent.remove( (BridgeMessage)instance );
        else if ( instance instanceof BridgeParameter ) return BridgeParameter_extent.remove( (BridgeParameter)instance );
        else if ( instance instanceof BridgeValue ) return BridgeValue_extent.remove( (BridgeValue)instance );
        else if ( instance instanceof BuiltInType ) return BuiltInType_extent.remove( (BuiltInType)instance );
        else if ( instance instanceof C_C ) return C_C_extent.remove( (C_C)instance );
        else if ( instance instanceof C_I ) return C_I_extent.remove( (C_I)instance );
        else if ( instance instanceof C_PO ) return C_PO_extent.remove( (C_PO)instance );
        else if ( instance instanceof CantHappen ) return CantHappen_extent.remove( (CantHappen)instance );
        else if ( instance instanceof CardinalityCheck ) return CardinalityCheck_extent.remove( (CardinalityCheck)instance );
        else if ( instance instanceof ChainLink ) return ChainLink_extent.remove( (ChainLink)instance );
        else if ( instance instanceof ClassAsAssociatedOneSide ) return ClassAsAssociatedOneSide_extent.remove( (ClassAsAssociatedOneSide)instance );
        else if ( instance instanceof ClassAsAssociatedOtherSide ) return ClassAsAssociatedOtherSide_extent.remove( (ClassAsAssociatedOtherSide)instance );
        else if ( instance instanceof ClassAsDerivedOneSide ) return ClassAsDerivedOneSide_extent.remove( (ClassAsDerivedOneSide)instance );
        else if ( instance instanceof ClassAsDerivedOtherSide ) return ClassAsDerivedOtherSide_extent.remove( (ClassAsDerivedOtherSide)instance );
        else if ( instance instanceof ClassAsLink ) return ClassAsLink_extent.remove( (ClassAsLink)instance );
        else if ( instance instanceof ClassAsSimpleFormalizer ) return ClassAsSimpleFormalizer_extent.remove( (ClassAsSimpleFormalizer)instance );
        else if ( instance instanceof ClassAsSimpleParticipant ) return ClassAsSimpleParticipant_extent.remove( (ClassAsSimpleParticipant)instance );
        else if ( instance instanceof ClassAsSubtype ) return ClassAsSubtype_extent.remove( (ClassAsSubtype)instance );
        else if ( instance instanceof ClassAsSupertype ) return ClassAsSupertype_extent.remove( (ClassAsSupertype)instance );
        else if ( instance instanceof ClassIdentifier ) return ClassIdentifier_extent.remove( (ClassIdentifier)instance );
        else if ( instance instanceof ClassIdentifierAttribute ) return ClassIdentifierAttribute_extent.remove( (ClassIdentifierAttribute)instance );
        else if ( instance instanceof ClassInAssociation ) return ClassInAssociation_extent.remove( (ClassInAssociation)instance );
        else if ( instance instanceof ClassInstanceLoader ) return ClassInstanceLoader_extent.remove( (ClassInstanceLoader)instance );
        else if ( instance instanceof ClassInstanceParticipant ) return ClassInstanceParticipant_extent.remove( (ClassInstanceParticipant)instance );
        else if ( instance instanceof ClassInstanceSerializer ) return ClassInstanceSerializer_extent.remove( (ClassInstanceSerializer)instance );
        else if ( instance instanceof ClassParticipant ) return ClassParticipant_extent.remove( (ClassParticipant)instance );
        else if ( instance instanceof ClassParticipantAttribute ) return ClassParticipantAttribute_extent.remove( (ClassParticipantAttribute)instance );
        else if ( instance instanceof ClassRelationship ) return ClassRelationship_extent.remove( (ClassRelationship)instance );
        else if ( instance instanceof ClassStateMachine ) return ClassStateMachine_extent.remove( (ClassStateMachine)instance );
        else if ( instance instanceof CodeBlock ) return CodeBlock_extent.remove( (CodeBlock)instance );
        else if ( instance instanceof CommunicationLink ) return CommunicationLink_extent.remove( (CommunicationLink)instance );
        else if ( instance instanceof ComponentDefinition ) return ComponentDefinition_extent.remove( (ComponentDefinition)instance );
        else if ( instance instanceof ComponentInstance ) return ComponentInstance_extent.remove( (ComponentInstance)instance );
        else if ( instance instanceof ComponentInstanceContainer ) return ComponentInstanceContainer_extent.remove( (ComponentInstanceContainer)instance );
        else if ( instance instanceof ComponentInstantiation ) return ComponentInstantiation_extent.remove( (ComponentInstantiation)instance );
        else if ( instance instanceof ComponentParticipant ) return ComponentParticipant_extent.remove( (ComponentParticipant)instance );
        else if ( instance instanceof ComponentReference ) return ComponentReference_extent.remove( (ComponentReference)instance );
        else if ( instance instanceof ComponentResultSet ) return ComponentResultSet_extent.remove( (ComponentResultSet)instance );
        else if ( instance instanceof ComponentVisibility ) return ComponentVisibility_extent.remove( (ComponentVisibility)instance );
        else if ( instance instanceof ConstantReference ) return ConstantReference_extent.remove( (ConstantReference)instance );
        else if ( instance instanceof ConstantSpecification ) return ConstantSpecification_extent.remove( (ConstantSpecification)instance );
        else if ( instance instanceof ContinueSmt ) return ContinueSmt_extent.remove( (ContinueSmt)instance );
        else if ( instance instanceof Control ) return Control_extent.remove( (Control)instance );
        else if ( instance instanceof ControlNode ) return ControlNode_extent.remove( (ControlNode)instance );
        else if ( instance instanceof CoreDataType ) return CoreDataType_extent.remove( (CoreDataType)instance );
        else if ( instance instanceof Create ) return Create_extent.remove( (Create)instance );
        else if ( instance instanceof CreateEventStatement ) return CreateEventStatement_extent.remove( (CreateEventStatement)instance );
        else if ( instance instanceof CreateEventToClass ) return CreateEventToClass_extent.remove( (CreateEventToClass)instance );
        else if ( instance instanceof CreateEventToCreator ) return CreateEventToCreator_extent.remove( (CreateEventToCreator)instance );
        else if ( instance instanceof CreateEventToInstance ) return CreateEventToInstance_extent.remove( (CreateEventToInstance)instance );
        else if ( instance instanceof CreateNoVariable ) return CreateNoVariable_extent.remove( (CreateNoVariable)instance );
        else if ( instance instanceof CreateSMEventStatement ) return CreateSMEventStatement_extent.remove( (CreateSMEventStatement)instance );
        else if ( instance instanceof Creation ) return Creation_extent.remove( (Creation)instance );
        else if ( instance instanceof CreationTransition ) return CreationTransition_extent.remove( (CreationTransition)instance );
        else if ( instance instanceof DataItemValue ) return DataItemValue_extent.remove( (DataItemValue)instance );
        else if ( instance instanceof DataType ) return DataType_extent.remove( (DataType)instance );
        else if ( instance instanceof DecisionMergeNode ) return DecisionMergeNode_extent.remove( (DecisionMergeNode)instance );
        else if ( instance instanceof Deferral ) return Deferral_extent.remove( (Deferral)instance );
        else if ( instance instanceof Delegation ) return Delegation_extent.remove( (Delegation)instance );
        else if ( instance instanceof DelegationInComponent ) return DelegationInComponent_extent.remove( (DelegationInComponent)instance );
        else if ( instance instanceof Delete ) return Delete_extent.remove( (Delete)instance );
        else if ( instance instanceof DeleteSmt ) return DeleteSmt_extent.remove( (DeleteSmt)instance );
        else if ( instance instanceof Deployment ) return Deployment_extent.remove( (Deployment)instance );
        else if ( instance instanceof DerivedAssociation ) return DerivedAssociation_extent.remove( (DerivedAssociation)instance );
        else if ( instance instanceof DerivedAttributeBody ) return DerivedAttributeBody_extent.remove( (DerivedAttributeBody)instance );
        else if ( instance instanceof DerivedBaseAttribute ) return DerivedBaseAttribute_extent.remove( (DerivedBaseAttribute)instance );
        else if ( instance instanceof Dimensions ) return Dimensions_extent.remove( (Dimensions)instance );
        else if ( instance instanceof EP_PKG ) return EP_PKG_extent.remove( (EP_PKG)instance );
        else if ( instance instanceof E_GEN ) return E_GEN_extent.remove( (E_GEN)instance );
        else if ( instance instanceof ElementVisibility ) return ElementVisibility_extent.remove( (ElementVisibility)instance );
        else if ( instance instanceof ElseIfStmt ) return ElseIfStmt_extent.remove( (ElseIfStmt)instance );
        else if ( instance instanceof ElseStmt ) return ElseStmt_extent.remove( (ElseStmt)instance );
        else if ( instance instanceof EnumeratedType ) return EnumeratedType_extent.remove( (EnumeratedType)instance );
        else if ( instance instanceof EnumerationDataType ) return EnumerationDataType_extent.remove( (EnumerationDataType)instance );
        else if ( instance instanceof Enumerator ) return Enumerator_extent.remove( (Enumerator)instance );
        else if ( instance instanceof EnumeratorLoader ) return EnumeratorLoader_extent.remove( (EnumeratorLoader)instance );
        else if ( instance instanceof EnumeratorReference ) return EnumeratorReference_extent.remove( (EnumeratorReference)instance );
        else if ( instance instanceof Event ) return Event_extent.remove( (Event)instance );
        else if ( instance instanceof EventArgument ) return EventArgument_extent.remove( (EventArgument)instance );
        else if ( instance instanceof EventCreation ) return EventCreation_extent.remove( (EventCreation)instance );
        else if ( instance instanceof EventDatumValue ) return EventDatumValue_extent.remove( (EventDatumValue)instance );
        else if ( instance instanceof EventIgnored ) return EventIgnored_extent.remove( (EventIgnored)instance );
        else if ( instance instanceof EventInstanceLoader ) return EventInstanceLoader_extent.remove( (EventInstanceLoader)instance );
        else if ( instance instanceof EventInstanceSerializer ) return EventInstanceSerializer_extent.remove( (EventInstanceSerializer)instance );
        else if ( instance instanceof EventMessage ) return EventMessage_extent.remove( (EventMessage)instance );
        else if ( instance instanceof EventParameterReference ) return EventParameterReference_extent.remove( (EventParameterReference)instance );
        else if ( instance instanceof EventQueueEntry ) return EventQueueEntry_extent.remove( (EventQueueEntry)instance );
        else if ( instance instanceof EventSpecificationStatement ) return EventSpecificationStatement_extent.remove( (EventSpecificationStatement)instance );
        else if ( instance instanceof Exception ) return Exception_extent.remove( (Exception)instance );
        else if ( instance instanceof ExecutableProperty ) return ExecutableProperty_extent.remove( (ExecutableProperty)instance );
        else if ( instance instanceof ExecutablePropertyArgument ) return ExecutablePropertyArgument_extent.remove( (ExecutablePropertyArgument)instance );
        else if ( instance instanceof Expression ) return Expression_extent.remove( (Expression)instance );
        else if ( instance instanceof ExpressionAsStatement ) return ExpressionAsStatement_extent.remove( (ExpressionAsStatement)instance );
        else if ( instance instanceof Extend ) return Extend_extent.remove( (Extend)instance );
        else if ( instance instanceof ExternalEntity ) return ExternalEntity_extent.remove( (ExternalEntity)instance );
        else if ( instance instanceof ExternalEntityInModel ) return ExternalEntityInModel_extent.remove( (ExternalEntityInModel)instance );
        else if ( instance instanceof ExternalEntityParticipant ) return ExternalEntityParticipant_extent.remove( (ExternalEntityParticipant)instance );
        else if ( instance instanceof Feature ) return Feature_extent.remove( (Feature)instance );
        else if ( instance instanceof File ) return File_extent.remove( (File)instance );
        else if ( instance instanceof Finalization ) return Finalization_extent.remove( (Finalization)instance );
        else if ( instance instanceof FlowFinalNode ) return FlowFinalNode_extent.remove( (FlowFinalNode)instance );
        else if ( instance instanceof ForSmt ) return ForSmt_extent.remove( (ForSmt)instance );
        else if ( instance instanceof ForStmt ) return ForStmt_extent.remove( (ForStmt)instance );
        else if ( instance instanceof ForkJoinNode ) return ForkJoinNode_extent.remove( (ForkJoinNode)instance );
        else if ( instance instanceof FormalAttribute ) return FormalAttribute_extent.remove( (FormalAttribute)instance );
        else if ( instance instanceof FormalAttributeValue ) return FormalAttributeValue_extent.remove( (FormalAttributeValue)instance );
        else if ( instance instanceof FormalParameter ) return FormalParameter_extent.remove( (FormalParameter)instance );
        else if ( instance instanceof Function ) return Function_extent.remove( (Function)instance );
        else if ( instance instanceof FunctionArgument ) return FunctionArgument_extent.remove( (FunctionArgument)instance );
        else if ( instance instanceof FunctionBody ) return FunctionBody_extent.remove( (FunctionBody)instance );
        else if ( instance instanceof FunctionInvocation ) return FunctionInvocation_extent.remove( (FunctionInvocation)instance );
        else if ( instance instanceof FunctionMessage ) return FunctionMessage_extent.remove( (FunctionMessage)instance );
        else if ( instance instanceof FunctionParameter ) return FunctionParameter_extent.remove( (FunctionParameter)instance );
        else if ( instance instanceof FunctionValue ) return FunctionValue_extent.remove( (FunctionValue)instance );
        else if ( instance instanceof GeneralFile ) return GeneralFile_extent.remove( (GeneralFile)instance );
        else if ( instance instanceof GeneralLoader ) return GeneralLoader_extent.remove( (GeneralLoader)instance );
        else if ( instance instanceof GeneralSerializer ) return GeneralSerializer_extent.remove( (GeneralSerializer)instance );
        else if ( instance instanceof Generalization ) return Generalization_extent.remove( (Generalization)instance );
        else if ( instance instanceof Generate ) return Generate_extent.remove( (Generate)instance );
        else if ( instance instanceof GenerateEventStatement ) return GenerateEventStatement_extent.remove( (GenerateEventStatement)instance );
        else if ( instance instanceof GeneratePreexistingEvent ) return GeneratePreexistingEvent_extent.remove( (GeneratePreexistingEvent)instance );
        else if ( instance instanceof GenerateSMEventStatement ) return GenerateSMEventStatement_extent.remove( (GenerateSMEventStatement)instance );
        else if ( instance instanceof GenerateToClass ) return GenerateToClass_extent.remove( (GenerateToClass)instance );
        else if ( instance instanceof GenerateToCreator ) return GenerateToCreator_extent.remove( (GenerateToCreator)instance );
        else if ( instance instanceof GenericInvocable ) return GenericInvocable_extent.remove( (GenericInvocable)instance );
        else if ( instance instanceof GlobalElementInSystem ) return GlobalElementInSystem_extent.remove( (GlobalElementInSystem)instance );
        else if ( instance instanceof Halt ) return Halt_extent.remove( (Halt)instance );
        else if ( instance instanceof I_INS ) return I_INS_extent.remove( (I_INS)instance );
        else if ( instance instanceof IfSmt ) return IfSmt_extent.remove( (IfSmt)instance );
        else if ( instance instanceof IfStmt ) return IfStmt_extent.remove( (IfStmt)instance );
        else if ( instance instanceof Iface ) return Iface_extent.remove( (Iface)instance );
        else if ( instance instanceof ImportedClass ) return ImportedClass_extent.remove( (ImportedClass)instance );
        else if ( instance instanceof ImportedProvision ) return ImportedProvision_extent.remove( (ImportedProvision)instance );
        else if ( instance instanceof ImportedProvisionInSatisfaction ) return ImportedProvisionInSatisfaction_extent.remove( (ImportedProvisionInSatisfaction)instance );
        else if ( instance instanceof ImportedReference ) return ImportedReference_extent.remove( (ImportedReference)instance );
        else if ( instance instanceof ImportedRequirement ) return ImportedRequirement_extent.remove( (ImportedRequirement)instance );
        else if ( instance instanceof Include ) return Include_extent.remove( (Include)instance );
        else if ( instance instanceof InformalArgument ) return InformalArgument_extent.remove( (InformalArgument)instance );
        else if ( instance instanceof InformalAsynchronousMessage ) return InformalAsynchronousMessage_extent.remove( (InformalAsynchronousMessage)instance );
        else if ( instance instanceof InformalAttribute ) return InformalAttribute_extent.remove( (InformalAttribute)instance );
        else if ( instance instanceof InformalAttributeValue ) return InformalAttributeValue_extent.remove( (InformalAttributeValue)instance );
        else if ( instance instanceof InformalSynchronousMessage ) return InformalSynchronousMessage_extent.remove( (InformalSynchronousMessage)instance );
        else if ( instance instanceof InitialNode ) return InitialNode_extent.remove( (InitialNode)instance );
        else if ( instance instanceof InstSet ) return InstSet_extent.remove( (InstSet)instance );
        else if ( instance instanceof InstanceAttributeValue ) return InstanceAttributeValue_extent.remove( (InstanceAttributeValue)instance );
        else if ( instance instanceof InstanceHandle ) return InstanceHandle_extent.remove( (InstanceHandle)instance );
        else if ( instance instanceof InstanceLoader ) return InstanceLoader_extent.remove( (InstanceLoader)instance );
        else if ( instance instanceof InstancePopulationSelector ) return InstancePopulationSelector_extent.remove( (InstancePopulationSelector)instance );
        else if ( instance instanceof InstanceReference ) return InstanceReference_extent.remove( (InstanceReference)instance );
        else if ( instance instanceof InstanceReferenceDataType ) return InstanceReferenceDataType_extent.remove( (InstanceReferenceDataType)instance );
        else if ( instance instanceof InstanceSelector ) return InstanceSelector_extent.remove( (InstanceSelector)instance );
        else if ( instance instanceof InstanceSerializer ) return InstanceSerializer_extent.remove( (InstanceSerializer)instance );
        else if ( instance instanceof InstanceSetReference ) return InstanceSetReference_extent.remove( (InstanceSetReference)instance );
        else if ( instance instanceof InstanceStateMachine ) return InstanceStateMachine_extent.remove( (InstanceStateMachine)instance );
        else if ( instance instanceof IntegerLoader ) return IntegerLoader_extent.remove( (IntegerLoader)instance );
        else if ( instance instanceof IntegerSerializer ) return IntegerSerializer_extent.remove( (IntegerSerializer)instance );
        else if ( instance instanceof InteractionParticipant ) return InteractionParticipant_extent.remove( (InteractionParticipant)instance );
        else if ( instance instanceof IntercomponentQueueEntry ) return IntercomponentQueueEntry_extent.remove( (IntercomponentQueueEntry)instance );
        else if ( instance instanceof InterfaceOperation ) return InterfaceOperation_extent.remove( (InterfaceOperation)instance );
        else if ( instance instanceof InterfaceOperationInvocation ) return InterfaceOperationInvocation_extent.remove( (InterfaceOperationInvocation)instance );
        else if ( instance instanceof InterfaceOperationMessage ) return InterfaceOperationMessage_extent.remove( (InterfaceOperationMessage)instance );
        else if ( instance instanceof InterfaceReference ) return InterfaceReference_extent.remove( (InterfaceReference)instance );
        else if ( instance instanceof InterfaceReferenceInDelegation ) return InterfaceReferenceInDelegation_extent.remove( (InterfaceReferenceInDelegation)instance );
        else if ( instance instanceof InterfaceSignal ) return InterfaceSignal_extent.remove( (InterfaceSignal)instance );
        else if ( instance instanceof InvocableObject ) return InvocableObject_extent.remove( (InvocableObject)instance );
        else if ( instance instanceof Invocation ) return Invocation_extent.remove( (Invocation)instance );
        else if ( instance instanceof LeafSymbolicConstant ) return LeafSymbolicConstant_extent.remove( (LeafSymbolicConstant)instance );
        else if ( instance instanceof Lifespan ) return Lifespan_extent.remove( (Lifespan)instance );
        else if ( instance instanceof Link ) return Link_extent.remove( (Link)instance );
        else if ( instance instanceof LinkParticipation ) return LinkParticipation_extent.remove( (LinkParticipation)instance );
        else if ( instance instanceof LinkedAssociation ) return LinkedAssociation_extent.remove( (LinkedAssociation)instance );
        else if ( instance instanceof Literal ) return Literal_extent.remove( (Literal)instance );
        else if ( instance instanceof LiteralBoolean ) return LiteralBoolean_extent.remove( (LiteralBoolean)instance );
        else if ( instance instanceof LiteralEnumerator ) return LiteralEnumerator_extent.remove( (LiteralEnumerator)instance );
        else if ( instance instanceof LiteralInteger ) return LiteralInteger_extent.remove( (LiteralInteger)instance );
        else if ( instance instanceof LiteralReal ) return LiteralReal_extent.remove( (LiteralReal)instance );
        else if ( instance instanceof LiteralString ) return LiteralString_extent.remove( (LiteralString)instance );
        else if ( instance instanceof LiteralSymbolicConstant ) return LiteralSymbolicConstant_extent.remove( (LiteralSymbolicConstant)instance );
        else if ( instance instanceof LocalEvent ) return LocalEvent_extent.remove( (LocalEvent)instance );
        else if ( instance instanceof MSG_M ) return MSG_M_extent.remove( (MSG_M)instance );
        else if ( instance instanceof Mark ) return Mark_extent.remove( (Mark)instance );
        else if ( instance instanceof MarkableElementType ) return MarkableElementType_extent.remove( (MarkableElementType)instance );
        else if ( instance instanceof MealyActionHome ) return MealyActionHome_extent.remove( (MealyActionHome)instance );
        else if ( instance instanceof MealyStateMachine ) return MealyStateMachine_extent.remove( (MealyStateMachine)instance );
        else if ( instance instanceof MemberReference ) return MemberReference_extent.remove( (MemberReference)instance );
        else if ( instance instanceof MemberValueReference ) return MemberValueReference_extent.remove( (MemberValueReference)instance );
        else if ( instance instanceof Message ) return Message_extent.remove( (Message)instance );
        else if ( instance instanceof MessageArgument ) return MessageArgument_extent.remove( (MessageArgument)instance );
        else if ( instance instanceof MessageValue ) return MessageValue_extent.remove( (MessageValue)instance );
        else if ( instance instanceof ModelClass ) return ModelClass_extent.remove( (ModelClass)instance );
        else if ( instance instanceof ModelInst ) return ModelInst_extent.remove( (ModelInst)instance );
        else if ( instance instanceof Monitor ) return Monitor_extent.remove( (Monitor)instance );
        else if ( instance instanceof MooreActionHome ) return MooreActionHome_extent.remove( (MooreActionHome)instance );
        else if ( instance instanceof MooreStateMachine ) return MooreStateMachine_extent.remove( (MooreStateMachine)instance );
        else if ( instance instanceof MultiInstanceRef ) return MultiInstanceRef_extent.remove( (MultiInstanceRef)instance );
        else if ( instance instanceof MultipleReferrerAssoc ) return MultipleReferrerAssoc_extent.remove( (MultipleReferrerAssoc)instance );
        else if ( instance instanceof NamedReference ) return NamedReference_extent.remove( (NamedReference)instance );
        else if ( instance instanceof NewBaseAttribute ) return NewBaseAttribute_extent.remove( (NewBaseAttribute)instance );
        else if ( instance instanceof NewStateTransition ) return NewStateTransition_extent.remove( (NewStateTransition)instance );
        else if ( instance instanceof NoEventTransition ) return NoEventTransition_extent.remove( (NoEventTransition)instance );
        else if ( instance instanceof NonLocalEvent ) return NonLocalEvent_extent.remove( (NonLocalEvent)instance );
        else if ( instance instanceof NullSmt ) return NullSmt_extent.remove( (NullSmt)instance );
        else if ( instance instanceof O_ATTR ) return O_ATTR_extent.remove( (O_ATTR)instance );
        else if ( instance instanceof O_TFR ) return O_TFR_extent.remove( (O_TFR)instance );
        else if ( instance instanceof ObjectNode ) return ObjectNode_extent.remove( (ObjectNode)instance );
        else if ( instance instanceof Operation ) return Operation_extent.remove( (Operation)instance );
        else if ( instance instanceof OperationArgument ) return OperationArgument_extent.remove( (OperationArgument)instance );
        else if ( instance instanceof OperationBody ) return OperationBody_extent.remove( (OperationBody)instance );
        else if ( instance instanceof OperationInvocation ) return OperationInvocation_extent.remove( (OperationInvocation)instance );
        else if ( instance instanceof OperationMessage ) return OperationMessage_extent.remove( (OperationMessage)instance );
        else if ( instance instanceof OperationParameter ) return OperationParameter_extent.remove( (OperationParameter)instance );
        else if ( instance instanceof OperationValue ) return OperationValue_extent.remove( (OperationValue)instance );
        else if ( instance instanceof PackageParticipant ) return PackageParticipant_extent.remove( (PackageParticipant)instance );
        else if ( instance instanceof PackageReference ) return PackageReference_extent.remove( (PackageReference)instance );
        else if ( instance instanceof PackageableElement ) return PackageableElement_extent.remove( (PackageableElement)instance );
        else if ( instance instanceof ParameterReference ) return ParameterReference_extent.remove( (ParameterReference)instance );
        else if ( instance instanceof ParameterValue ) return ParameterValue_extent.remove( (ParameterValue)instance );
        else if ( instance instanceof ParenthesizedExpression ) return ParenthesizedExpression_extent.remove( (ParenthesizedExpression)instance );
        else if ( instance instanceof PendingEvent ) return PendingEvent_extent.remove( (PendingEvent)instance );
        else if ( instance instanceof PolymorphicEvent ) return PolymorphicEvent_extent.remove( (PolymorphicEvent)instance );
        else if ( instance instanceof PopulationLoader ) return PopulationLoader_extent.remove( (PopulationLoader)instance );
        else if ( instance instanceof Port ) return Port_extent.remove( (Port)instance );
        else if ( instance instanceof PortMessage ) return PortMessage_extent.remove( (PortMessage)instance );
        else if ( instance instanceof PortReference ) return PortReference_extent.remove( (PortReference)instance );
        else if ( instance instanceof Promotion ) return Promotion_extent.remove( (Promotion)instance );
        else if ( instance instanceof PropertyParameter ) return PropertyParameter_extent.remove( (PropertyParameter)instance );
        else if ( instance instanceof ProvidedExecutableProperty ) return ProvidedExecutableProperty_extent.remove( (ProvidedExecutableProperty)instance );
        else if ( instance instanceof ProvidedOperation ) return ProvidedOperation_extent.remove( (ProvidedOperation)instance );
        else if ( instance instanceof ProvidedOperationBody ) return ProvidedOperationBody_extent.remove( (ProvidedOperationBody)instance );
        else if ( instance instanceof ProvidedSignal ) return ProvidedSignal_extent.remove( (ProvidedSignal)instance );
        else if ( instance instanceof ProvidedSignalBody ) return ProvidedSignalBody_extent.remove( (ProvidedSignalBody)instance );
        else if ( instance instanceof Provision ) return Provision_extent.remove( (Provision)instance );
        else if ( instance instanceof Range ) return Range_extent.remove( (Range)instance );
        else if ( instance instanceof RealLoader ) return RealLoader_extent.remove( (RealLoader)instance );
        else if ( instance instanceof RealSerializer ) return RealSerializer_extent.remove( (RealSerializer)instance );
        else if ( instance instanceof ReferentialAttribute ) return ReferentialAttribute_extent.remove( (ReferentialAttribute)instance );
        else if ( instance instanceof ReferredToClassInAssoc ) return ReferredToClassInAssoc_extent.remove( (ReferredToClassInAssoc)instance );
        else if ( instance instanceof ReferredToClassProxy ) return ReferredToClassProxy_extent.remove( (ReferredToClassProxy)instance );
        else if ( instance instanceof ReferredToIdentifierAttribute ) return ReferredToIdentifierAttribute_extent.remove( (ReferredToIdentifierAttribute)instance );
        else if ( instance instanceof ReferringClassInAssoc ) return ReferringClassInAssoc_extent.remove( (ReferringClassInAssoc)instance );
        else if ( instance instanceof ReferringClassProxy ) return ReferringClassProxy_extent.remove( (ReferringClassProxy)instance );
        else if ( instance instanceof Relate ) return Relate_extent.remove( (Relate)instance );
        else if ( instance instanceof RelateSmt ) return RelateSmt_extent.remove( (RelateSmt)instance );
        else if ( instance instanceof RelateUsing ) return RelateUsing_extent.remove( (RelateUsing)instance );
        else if ( instance instanceof RelationshipPopulationSelector ) return RelationshipPopulationSelector_extent.remove( (RelationshipPopulationSelector)instance );
        else if ( instance instanceof RequiredExecutableProperty ) return RequiredExecutableProperty_extent.remove( (RequiredExecutableProperty)instance );
        else if ( instance instanceof RequiredOperation ) return RequiredOperation_extent.remove( (RequiredOperation)instance );
        else if ( instance instanceof RequiredOperationBody ) return RequiredOperationBody_extent.remove( (RequiredOperationBody)instance );
        else if ( instance instanceof RequiredSignal ) return RequiredSignal_extent.remove( (RequiredSignal)instance );
        else if ( instance instanceof RequiredSignalBody ) return RequiredSignalBody_extent.remove( (RequiredSignalBody)instance );
        else if ( instance instanceof Requirement ) return Requirement_extent.remove( (Requirement)instance );
        else if ( instance instanceof ReturnMessage ) return ReturnMessage_extent.remove( (ReturnMessage)instance );
        else if ( instance instanceof ReturnSmt ) return ReturnSmt_extent.remove( (ReturnSmt)instance );
        else if ( instance instanceof ReturnStmt ) return ReturnStmt_extent.remove( (ReturnStmt)instance );
        else if ( instance instanceof RuntimeChannel ) return RuntimeChannel_extent.remove( (RuntimeChannel)instance );
        else if ( instance instanceof SEMEvent ) return SEMEvent_extent.remove( (SEMEvent)instance );
        else if ( instance instanceof SM_SM ) return SM_SM_extent.remove( (SM_SM)instance );
        else if ( instance instanceof S_ENUM ) return S_ENUM_extent.remove( (S_ENUM)instance );
        else if ( instance instanceof S_SYNC ) return S_SYNC_extent.remove( (S_SYNC)instance );
        else if ( instance instanceof Satisfaction ) return Satisfaction_extent.remove( (Satisfaction)instance );
        else if ( instance instanceof SatisfactionInComponent ) return SatisfactionInComponent_extent.remove( (SatisfactionInComponent)instance );
        else if ( instance instanceof SearchResultSet ) return SearchResultSet_extent.remove( (SearchResultSet)instance );
        else if ( instance instanceof Select ) return Select_extent.remove( (Select)instance );
        else if ( instance instanceof SelectFromInstances ) return SelectFromInstances_extent.remove( (SelectFromInstances)instance );
        else if ( instance instanceof SelectFromInstancesWhere ) return SelectFromInstancesWhere_extent.remove( (SelectFromInstancesWhere)instance );
        else if ( instance instanceof SelectRelated ) return SelectRelated_extent.remove( (SelectRelated)instance );
        else if ( instance instanceof SelectRelatedBy ) return SelectRelatedBy_extent.remove( (SelectRelatedBy)instance );
        else if ( instance instanceof SelectRelatedWhere ) return SelectRelatedWhere_extent.remove( (SelectRelatedWhere)instance );
        else if ( instance instanceof Selected ) return Selected_extent.remove( (Selected)instance );
        else if ( instance instanceof SelectedReference ) return SelectedReference_extent.remove( (SelectedReference)instance );
        else if ( instance instanceof Selector ) return Selector_extent.remove( (Selector)instance );
        else if ( instance instanceof SelfQueueEntry ) return SelfQueueEntry_extent.remove( (SelfQueueEntry)instance );
        else if ( instance instanceof SendSignal ) return SendSignal_extent.remove( (SendSignal)instance );
        else if ( instance instanceof ServiceInSequence ) return ServiceInSequence_extent.remove( (ServiceInSequence)instance );
        else if ( instance instanceof SetSelector ) return SetSelector_extent.remove( (SetSelector)instance );
        else if ( instance instanceof SignalEvent ) return SignalEvent_extent.remove( (SignalEvent)instance );
        else if ( instance instanceof SignalInvocation ) return SignalInvocation_extent.remove( (SignalInvocation)instance );
        else if ( instance instanceof SignalMessage ) return SignalMessage_extent.remove( (SignalMessage)instance );
        else if ( instance instanceof SimpleAssociation ) return SimpleAssociation_extent.remove( (SimpleAssociation)instance );
        else if ( instance instanceof SingleInstanceRef ) return SingleInstanceRef_extent.remove( (SingleInstanceRef)instance );
        else if ( instance instanceof SingleReferrerAssoc ) return SingleReferrerAssoc_extent.remove( (SingleReferrerAssoc)instance );
        else if ( instance instanceof Stack ) return Stack_extent.remove( (Stack)instance );
        else if ( instance instanceof StackFrame ) return StackFrame_extent.remove( (StackFrame)instance );
        else if ( instance instanceof State ) return State_extent.remove( (State)instance );
        else if ( instance instanceof StateActionBody ) return StateActionBody_extent.remove( (StateActionBody)instance );
        else if ( instance instanceof StateEventMatrixEntry ) return StateEventMatrixEntry_extent.remove( (StateEventMatrixEntry)instance );
        else if ( instance instanceof StateMachine ) return StateMachine_extent.remove( (StateMachine)instance );
        else if ( instance instanceof StateMachineEvent ) return StateMachineEvent_extent.remove( (StateMachineEvent)instance );
        else if ( instance instanceof StateMachineEventDataItem ) return StateMachineEventDataItem_extent.remove( (StateMachineEventDataItem)instance );
        else if ( instance instanceof StateMachineState ) return StateMachineState_extent.remove( (StateMachineState)instance );
        else if ( instance instanceof StateTransition ) return StateTransition_extent.remove( (StateTransition)instance );
        else if ( instance instanceof Statement ) return Statement_extent.remove( (Statement)instance );
        else if ( instance instanceof StringLoader ) return StringLoader_extent.remove( (StringLoader)instance );
        else if ( instance instanceof StringSerializer ) return StringSerializer_extent.remove( (StringSerializer)instance );
        else if ( instance instanceof StructureMember ) return StructureMember_extent.remove( (StructureMember)instance );
        else if ( instance instanceof StructuredDataType ) return StructuredDataType_extent.remove( (StructuredDataType)instance );
        else if ( instance instanceof SubtypeSupertypeAssociation ) return SubtypeSupertypeAssociation_extent.remove( (SubtypeSupertypeAssociation)instance );
        else if ( instance instanceof SymbolicConstant ) return SymbolicConstant_extent.remove( (SymbolicConstant)instance );
        else if ( instance instanceof SymbolicConstantValue ) return SymbolicConstantValue_extent.remove( (SymbolicConstantValue)instance );
        else if ( instance instanceof SynchronousMessage ) return SynchronousMessage_extent.remove( (SynchronousMessage)instance );
        else if ( instance instanceof SystemModel ) return SystemModel_extent.remove( (SystemModel)instance );
        else if ( instance instanceof Terminator ) return Terminator_extent.remove( (Terminator)instance );
        else if ( instance instanceof TerminatorService ) return TerminatorService_extent.remove( (TerminatorService)instance );
        else if ( instance instanceof TerminatorServiceParameter ) return TerminatorServiceParameter_extent.remove( (TerminatorServiceParameter)instance );
        else if ( instance instanceof TerminatorServiceSequence ) return TerminatorServiceSequence_extent.remove( (TerminatorServiceSequence)instance );
        else if ( instance instanceof TimeSpan ) return TimeSpan_extent.remove( (TimeSpan)instance );
        else if ( instance instanceof Timer ) return Timer_extent.remove( (Timer)instance );
        else if ( instance instanceof TimerInstanceLoader ) return TimerInstanceLoader_extent.remove( (TimerInstanceLoader)instance );
        else if ( instance instanceof TimerInstanceSerializer ) return TimerInstanceSerializer_extent.remove( (TimerInstanceSerializer)instance );
        else if ( instance instanceof TimingMark ) return TimingMark_extent.remove( (TimingMark)instance );
        else if ( instance instanceof TransientValueReference ) return TransientValueReference_extent.remove( (TransientValueReference)instance );
        else if ( instance instanceof TransientVar ) return TransientVar_extent.remove( (TransientVar)instance );
        else if ( instance instanceof Transition ) return Transition_extent.remove( (Transition)instance );
        else if ( instance instanceof TransitionActionBody ) return TransitionActionBody_extent.remove( (TransitionActionBody)instance );
        else if ( instance instanceof TransitionActionHome ) return TransitionActionHome_extent.remove( (TransitionActionHome)instance );
        else if ( instance instanceof TransitionTableCell ) return TransitionTableCell_extent.remove( (TransitionTableCell)instance );
        else if ( instance instanceof TransitionTableRow ) return TransitionTableRow_extent.remove( (TransitionTableRow)instance );
        else if ( instance instanceof Type ) return Type_extent.remove( (Type)instance );
        else if ( instance instanceof TypeImport ) return TypeImport_extent.remove( (TypeImport)instance );
        else if ( instance instanceof TypeImportReference ) return TypeImportReference_extent.remove( (TypeImportReference)instance );
        else if ( instance instanceof TypeReference ) return TypeReference_extent.remove( (TypeReference)instance );
        else if ( instance instanceof UnaryOperation ) return UnaryOperation_extent.remove( (UnaryOperation)instance );
        else if ( instance instanceof UniqueIDSerializer ) return UniqueIDSerializer_extent.remove( (UniqueIDSerializer)instance );
        else if ( instance instanceof Unrelate ) return Unrelate_extent.remove( (Unrelate)instance );
        else if ( instance instanceof UnrelateSmt ) return UnrelateSmt_extent.remove( (UnrelateSmt)instance );
        else if ( instance instanceof UnrelateUsing ) return UnrelateUsing_extent.remove( (UnrelateUsing)instance );
        else if ( instance instanceof UnresolvedType ) return UnresolvedType_extent.remove( (UnresolvedType)instance );
        else if ( instance instanceof UseCaseAssociation ) return UseCaseAssociation_extent.remove( (UseCaseAssociation)instance );
        else if ( instance instanceof UseCaseParticipant ) return UseCaseParticipant_extent.remove( (UseCaseParticipant)instance );
        else if ( instance instanceof UserDataType ) return UserDataType_extent.remove( (UserDataType)instance );
        else if ( instance instanceof UserDefinedType ) return UserDefinedType_extent.remove( (UserDefinedType)instance );
        else if ( instance instanceof Utility ) return Utility_extent.remove( (Utility)instance );
        else if ( instance instanceof UtilityFunction ) return UtilityFunction_extent.remove( (UtilityFunction)instance );
        else if ( instance instanceof UtilityReference ) return UtilityReference_extent.remove( (UtilityReference)instance );
        else if ( instance instanceof V_AER ) return V_AER_extent.remove( (V_AER)instance );
        else if ( instance instanceof V_BIN ) return V_BIN_extent.remove( (V_BIN)instance );
        else if ( instance instanceof V_INS ) return V_INS_extent.remove( (V_INS)instance );
        else if ( instance instanceof V_PAR ) return V_PAR_extent.remove( (V_PAR)instance );
        else if ( instance instanceof V_UNY ) return V_UNY_extent.remove( (V_UNY)instance );
        else if ( instance instanceof V_VAR ) return V_VAR_extent.remove( (V_VAR)instance );
        else if ( instance instanceof Value ) return Value_extent.remove( (Value)instance );
        else if ( instance instanceof ValueInStackFrame ) return ValueInStackFrame_extent.remove( (ValueInStackFrame)instance );
        else if ( instance instanceof Variable ) return Variable_extent.remove( (Variable)instance );
        else if ( instance instanceof VariableInScope ) return VariableInScope_extent.remove( (VariableInScope)instance );
        else if ( instance instanceof VariableLocation ) return VariableLocation_extent.remove( (VariableLocation)instance );
        else if ( instance instanceof VariableReference ) return VariableReference_extent.remove( (VariableReference)instance );
        else if ( instance instanceof Where ) return Where_extent.remove( (Where)instance );
        else if ( instance instanceof WhileSmt ) return WhileSmt_extent.remove( (WhileSmt)instance );
        else if ( instance instanceof WhileStmt ) return WhileStmt_extent.remove( (WhileStmt)instance );
        return false;
    }

    @Override
    public Sql context() {
        return this;
    }

    @Override
    public Class getClassByKeyLetters(String keyLetters) {
        return classDirectory.get(keyLetters);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy