<?xml version="1.0" encoding="UTF-8" ?>

<!-- XMI Automatic DTD Generation    -->
<!-- Date: Fri Oct 16 14:42:45 PDT 1998 -->
<!-- Metamodel: UML    -->
<!-- Version 10: Added templateParameter to ModelElement -->
<!-- Version 9: Made Partition a subclass of ModelElement -->
<!-- Version 8: changed Reception.application to specification -->
<!--            added expression attribute to Guard -->
<!-- Version 7: Made AcvitityState derived from SubmachineState -->
<!-- Version 6: Restored ModelElement as parent of Message -->
<!-- Version 5: Removed ModelElement as parent of Message -->
<!--            Changed message aggregation of Interaction to composition -->
<!-- Version 4: Fixed up Actions  -->
<!-- Version 2: XMI.ANY not handled by some parsers -->

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI is the top-level XML element for XMI transfer text    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI (XMI.header, XMI.content?, XMI.difference*,
    XMI.extensions*) >
<!ATTLIST XMI
    xmi.version CDATA #FIXED "1.0"
    timestamp CDATA #IMPLIED
    verified (true | false) #IMPLIED
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.header contains documentation and identifies the model,    -->
<!-- metamodel, and metametamodel    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.header (XMI.documentation?, XMI.model*, XMI.metamodel*,
    XMI.metametamodel*) >

<!-- _______________________________________________________________ -->
<!--    -->
<!-- documentation for transfer data    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.documentation (#PCDATA | XMI.owner | XMI.contact |
    XMI.longDescription | XMI.shortDescription |
    XMI.exporter | XMI.exporterVersion |
    XMI.notice)* >

<!ELEMENT XMI.owner ANY >

<!ELEMENT XMI.contact ANY >

<!ELEMENT XMI.longDescription ANY >

<!ELEMENT XMI.shortDescription ANY >

<!ELEMENT XMI.exporter ANY >

<!ELEMENT XMI.exporterVersion ANY >

<!ELEMENT XMI.exporterID ANY >

<!ELEMENT XMI.notice ANY >

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.element.att defines the attributes that each XML element    -->
<!-- that corresponds to a metamodel class must have to conform to   -->
<!-- the XMI specification.    -->
<!-- _______________________________________________________________ -->

<!ENTITY % XMI.element.att
    'xmi.id ID #IMPLIED xmi.label CDATA #IMPLIED xmi.uuid
    CDATA #IMPLIED ' >

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.link.att defines the attributes that each XML element that  -->
<!-- corresponds to a metamodel class must have to enable it to    -->
<!-- function as a simple XLink as well as refer to model    -->
<!-- constructs within the same XMI file.    -->
<!-- _______________________________________________________________ -->

<!ENTITY % XMI.link.att
    'xml:link CDATA #IMPLIED inline (true | false) #IMPLIED
    actuate (show | user) #IMPLIED href CDATA #IMPLIED role
    CDATA #IMPLIED title CDATA #IMPLIED show (embed | replace
    | new) #IMPLIED behavior CDATA #IMPLIED xmi.idref IDREF
    #IMPLIED xmi.uuidref CDATA #IMPLIED' >

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.model identifies the model(s) being transferred    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.model ANY >
<!ATTLIST XMI.model
    %XMI.link.att;
    xmi.name    CDATA #REQUIRED
    xmi.version  CDATA #IMPLIED
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.metamodel identifies the metamodel(s) for the transferred   -->
<!-- data    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.metamodel ANY >
<!ATTLIST XMI.metamodel
    %XMI.link.att;
    xmi.name    CDATA #REQUIRED
    xmi.version  CDATA #IMPLIED
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.metametamodel identifies the metametamodel(s) for the    -->
<!-- transferred data    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.metametamodel ANY >
<!ATTLIST XMI.metametamodel
    %XMI.link.att;
    xmi.name    CDATA #REQUIRED
    xmi.version  CDATA #IMPLIED
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.content is the actual data being transferred    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.content ANY >

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.extensions contains data to transfer that does not conform  -->
<!-- to the metamodel(s) in the header    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.extensions ANY >
<!ATTLIST XMI.extensions
    xmi.extender CDATA #REQUIRED
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- extension contains information related to a specific model    -->
<!-- construct that is not defined in the metamodel(s) in the header -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.extension ANY >
<!ATTLIST XMI.extension
    %XMI.element.att;
    %XMI.link.att;
    xmi.extender   CDATA #REQUIRED
    xmi.extenderID CDATA #IMPLIED
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.difference holds XML elements representing differences to a -->
<!-- base model    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.difference (XMI.difference | XMI.delete | XMI.add |
    XMI.replace)* >
<!ATTLIST XMI.difference
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.delete represents a deletion from a base model    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.delete EMPTY >
<!ATTLIST XMI.delete
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.add represents an addition to a base model    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.add ANY >
<!ATTLIST XMI.add
    %XMI.element.att;
    %XMI.link.att;
    xmi.position CDATA "-1"
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.replace represents the replacement of a model construct    -->
<!-- with another model construct in a base model    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.replace ANY >
<!ATTLIST XMI.replace
    %XMI.element.att;
    %XMI.link.att;
    xmi.position CDATA "-1"
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- XMI.reference may be used to refer to data types not defined in -->
<!-- the metamodel    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.reference ANY >
<!ATTLIST XMI.reference
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- This section contains the declaration of XML elements    -->
<!-- representing data types    -->
<!-- _______________________________________________________________ -->

<!ELEMENT XMI.TypeDefinitions ANY >

<!ELEMENT XMI.field ANY >

<!ELEMENT XMI.seqItem ANY >

<!ELEMENT XMI.octetStream (#PCDATA) >

<!ELEMENT XMI.unionDiscrim ANY >

<!ELEMENT XMI.enum EMPTY >
<!ATTLIST XMI.enum
    xmi.value CDATA #REQUIRED
>

<!ELEMENT XMI.any ANY >
<!ATTLIST XMI.any
    %XMI.link.att;
    xmi.type CDATA #IMPLIED
    xmi.name CDATA #IMPLIED
>

<!ELEMENT XMI.CorbaTypeCode (XMI.CorbaTcAlias | XMI.CorbaTcStruct |
    XMI.CorbaTcSequence | XMI.CorbaTcArray |
    XMI.CorbaTcEnum | XMI.CorbaTcUnion |
    XMI.CorbaTcExcept | XMI.CorbaTcString |
    XMI.CorbaTcWstring | XMI.CorbaTcShort |
    XMI.CorbaTcLong | XMI.CorbaTcUshort |
    XMI.CorbaTcUlong | XMI.CorbaTcFloat |
    XMI.CorbaTcDouble | XMI.CorbaTcBoolean |
    XMI.CorbaTcChar | XMI.CorbaTcWchar |
    XMI.CorbaTcOctet | XMI.CorbaTcAny |
    XMI.CorbaTcTypeCode | XMI.CorbaTcPrincipal |
    XMI.CorbaTcNull | XMI.CorbaTcVoid |
    XMI.CorbaTcLongLong |
    XMI.CorbaTcLongDouble) >
<!ATTLIST XMI.CorbaTypeCode
    %XMI.element.att;
>

<!ELEMENT XMI.CorbaTcAlias (XMI.CorbaTypeCode) >
<!ATTLIST XMI.CorbaTcAlias
    xmi.tcName CDATA #REQUIRED
    xmi.tcId   CDATA #IMPLIED
>

<!ELEMENT XMI.CorbaTcStruct (XMI.CorbaTcField)* >
<!ATTLIST XMI.CorbaTcStruct
    xmi.tcName CDATA #REQUIRED
    xmi.tcId   CDATA #IMPLIED
>

<!ELEMENT XMI.CorbaTcField (XMI.CorbaTypeCode) >
<!ATTLIST XMI.CorbaTcField
    xmi.tcName CDATA #REQUIRED
>

<!ELEMENT XMI.CorbaTcSequence (XMI.CorbaTypeCode |
    XMI.CorbaRecursiveType) >
<!ATTLIST XMI.CorbaTcSequence
    xmi.tcLength CDATA #REQUIRED
>

<!ELEMENT XMI.CorbaRecursiveType EMPTY >
<!ATTLIST XMI.CorbaRecursiveType
    xmi.offset CDATA #REQUIRED
>

<!ELEMENT XMI.CorbaTcArray (XMI.CorbaTypeCode) >
<!ATTLIST XMI.CorbaTcArray
    xmi.tcLength CDATA #REQUIRED
>

<!ELEMENT XMI.CorbaTcObjRef EMPTY >
<!ATTLIST XMI.CorbaTcObjRef
    xmi.tcName CDATA #REQUIRED
    xmi.tcId   CDATA #IMPLIED
>

<!ELEMENT XMI.CorbaTcEnum (XMI.CorbaTcEnumLabel) >
<!ATTLIST XMI.CorbaTcEnum
    xmi.tcName CDATA #REQUIRED
    xmi.tcId   CDATA #IMPLIED
>

<!ELEMENT XMI.CorbaTcEnumLabel EMPTY >
<!ATTLIST XMI.CorbaTcEnumLabel
    xmi.tcName CDATA #REQUIRED
>

<!ELEMENT XMI.CorbaTcUnionMbr (XMI.CorbaTypeCode, XMI.any) >
<!ATTLIST XMI.CorbaTcUnionMbr
    xmi.tcName CDATA #REQUIRED
>

<!ELEMENT XMI.CorbaTcUnion (XMI.CorbaTypeCode, XMI.CorbaTcUnionMbr*) >
<!ATTLIST XMI.CorbaTcUnion
    xmi.tcName CDATA #REQUIRED
    xmi.tcId   CDATA #IMPLIED
>

<!ELEMENT XMI.CorbaTcExcept (XMI.CorbaTcField)* >
<!ATTLIST XMI.CorbaTcExcept
    xmi.tcName CDATA #REQUIRED
    xmi.tcId   CDATA #IMPLIED
>

<!ELEMENT XMI.CorbaTcString EMPTY >
<!ATTLIST XMI.CorbaTcString
    xmi.tcLength CDATA #REQUIRED
>

<!ELEMENT XMI.CorbaTcWstring EMPTY >
<!ATTLIST XMI.CorbaTcWstring
    xmi.tcLength CDATA #REQUIRED
>

<!ELEMENT XMI.CorbaTcFixed EMPTY >
<!ATTLIST XMI.CorbaTcFixed
    xmi.tcDigits CDATA #REQUIRED
    xmi.tcScale  CDATA #REQUIRED
>

<!ELEMENT XMI.CorbaTcShort EMPTY >

<!ELEMENT XMI.CorbaTcLong EMPTY >

<!ELEMENT XMI.CorbaTcUshort EMPTY >

<!ELEMENT XMI.CorbaTcUlong EMPTY >

<!ELEMENT XMI.CorbaTcFloat EMPTY >

<!ELEMENT XMI.CorbaTcDouble EMPTY >

<!ELEMENT XMI.CorbaTcBoolean EMPTY >

<!ELEMENT XMI.CorbaTcChar EMPTY >

<!ELEMENT XMI.CorbaTcWchar EMPTY >

<!ELEMENT XMI.CorbaTcOctet EMPTY >

<!ELEMENT XMI.CorbaTcAny EMPTY >

<!ELEMENT XMI.CorbaTcTypeCode EMPTY >

<!ELEMENT XMI.CorbaTcPrincipal EMPTY >

<!ELEMENT XMI.CorbaTcNull EMPTY >

<!ELEMENT XMI.CorbaTcVoid EMPTY >

<!ELEMENT XMI.CorbaTcLongLong EMPTY >

<!ELEMENT XMI.CorbaTcLongDouble EMPTY >

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL:  uml11k    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Namespace.ownedElement (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)*
    >

<!ELEMENT Foundation.Core.Classifier.feature (
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception)*
    >

<!ELEMENT Foundation.Core.BehavioralFeature.parameter (
    Foundation.Core.Parameter)* >

<!ELEMENT Foundation.Core.Association.connection (
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole)*
    >

<!ELEMENT Foundation.Core.AssociationEnd.qualifier (
    Foundation.Core.Attribute)* >

<!ELEMENT Foundation.Core.ModelElement.taggedValue (
    Foundation.Extension_Mechanisms.TaggedValue)* >

<!ELEMENT Foundation.Extension_Mechanisms.Stereotype.requiredTag (
    Foundation.Extension_Mechanisms.TaggedValue)* >

<!ELEMENT Foundation.Data_Types.Enumeration.literal (
    Foundation.Data_Types.EnumerationLiteral)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Signal.parameter (
    Foundation.Core.Parameter)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Action.actualArgument (
    Behavioral_Elements.Common_Behavior.Argument)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Link.linkRole (
    Behavioral_Elements.Common_Behavior.LinkEnd)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Instance.slot (
    Behavioral_Elements.Common_Behavior.AttributeLink)* >

<!ELEMENT Behavioral_Elements.Collaborations.Collaboration.interaction (
    Behavioral_Elements.Collaborations.Interaction)* >

<!-- Messages made compositions of Interactions by Gene Mutschler 21 May 99 -->
<!ELEMENT Behavioral_Elements.Collaborations.Interaction.message (
    Behavioral_Elements.Collaborations.Message)+ >

<!ELEMENT Behavioral_Elements.State_Machines.StateMachine.top (
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState)
    >

<!ELEMENT Behavioral_Elements.State_Machines.StateMachine.transitions (
    Behavioral_Elements.State_Machines.Transition)* >

<!ELEMENT Behavioral_Elements.State_Machines.Transition.guard (
    Behavioral_Elements.State_Machines.Guard) >

<!ELEMENT Behavioral_Elements.State_Machines.State.internalTransition (
    Behavioral_Elements.State_Machines.Transition)* >

<!ELEMENT Behavioral_Elements.State_Machines.CompositeState.substate (
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState)+
    >

<!ELEMENT Behavioral_Elements.State_Machines.Transition.effect (
    Behavioral_Elements.Common_Behavior.ActionSequence) >

<!ELEMENT Behavioral_Elements.State_Machines.State.entry (
    Behavioral_Elements.Common_Behavior.ActionSequence) >

<!ELEMENT Behavioral_Elements.State_Machines.State.exit (
    Behavioral_Elements.Common_Behavior.ActionSequence) >

<!ELEMENT Behavioral_Elements.Common_Behavior.ActionSequence.action (
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction)*
    >

<!ELEMENT Behavioral_Elements.State_Machines.ActivityModel.partition (
    Behavioral_Elements.State_Machines.Partition)* >

<!ELEMENT Foundation.Auxiliary_Elements.Binding.argument (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)+
    >

<!ELEMENT Foundation.Core.Dependency.subDependencies (
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding)*
    >

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL PACKAGE:  Foundation    -->
<!-- _______________________________________________________________ -->


<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL PACKAGE:  Auxiliary_Elements    -->
<!-- _______________________________________________________________ -->


<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Refinement    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Auxiliary_Elements.Refinement.mapping (
    Foundation.Data_Types.Mapping) >

<!ELEMENT Foundation.Auxiliary_Elements.Refinement (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Dependency.description,
    Foundation.Auxiliary_Elements.Refinement.mapping,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Dependency.client*,
    Foundation.Core.Dependency.supplier*,
    Foundation.Core.Dependency.owningDependency?,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Dependency.subDependencies*)?
    >
<!ATTLIST Foundation.Auxiliary_Elements.Refinement
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Usage    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Auxiliary_Elements.Usage (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Dependency.description,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Dependency.client*,
    Foundation.Core.Dependency.supplier*,
    Foundation.Core.Dependency.owningDependency?,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Dependency.subDependencies*)?
    >
<!ATTLIST Foundation.Auxiliary_Elements.Usage
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Trace    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Auxiliary_Elements.Trace (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Dependency.description,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Dependency.client*,
    Foundation.Core.Dependency.supplier*,
    Foundation.Core.Dependency.owningDependency?,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Dependency.subDependencies*)?
    >
<!ATTLIST Foundation.Auxiliary_Elements.Trace
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Binding    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Auxiliary_Elements.Binding (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Dependency.description,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Dependency.client*,
    Foundation.Core.Dependency.supplier*,
    Foundation.Core.Dependency.owningDependency?,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Dependency.subDependencies*,
    Foundation.Auxiliary_Elements.Binding.argument+)?
    >
<!ATTLIST Foundation.Auxiliary_Elements.Binding
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Node    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Auxiliary_Elements.Node.component (
    Foundation.Auxiliary_Elements.Component)* >

<!ELEMENT Foundation.Auxiliary_Elements.Node (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Auxiliary_Elements.Node.component*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Foundation.Auxiliary_Elements.Node
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Component    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Auxiliary_Elements.Component.deployment (
    Foundation.Auxiliary_Elements.Node)* >

<!ELEMENT Foundation.Auxiliary_Elements.Component.implements (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)*
    >

<!ELEMENT Foundation.Auxiliary_Elements.Component (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Auxiliary_Elements.Component.deployment*,
    Foundation.Auxiliary_Elements.Component.implements*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Foundation.Auxiliary_Elements.Component
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Comment    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Auxiliary_Elements.Comment (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Foundation.Auxiliary_Elements.Comment
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ViewElement    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Auxiliary_Elements.ViewElement.presentation (
    Foundation.Auxiliary_Elements.Presentation)* >

<!ELEMENT Foundation.Auxiliary_Elements.ViewElement.model (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)*
    >

<!ELEMENT Foundation.Auxiliary_Elements.ViewElement (
    XMI.extension*,
    Foundation.Auxiliary_Elements.ViewElement.presentation*,
    Foundation.Auxiliary_Elements.ViewElement.model*)?
    >
<!ATTLIST Foundation.Auxiliary_Elements.ViewElement
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Presentation    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Auxiliary_Elements.Presentation.geometry (
    Foundation.Data_Types.Geometry) >

<!ELEMENT Foundation.Auxiliary_Elements.Presentation.style (
    Foundation.Data_Types.GraphicMarker) >

<!ELEMENT Foundation.Auxiliary_Elements.Presentation.viewElement (
    Foundation.Auxiliary_Elements.ViewElement)* >

<!ELEMENT Foundation.Auxiliary_Elements.Presentation.model (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)*
    >

<!ELEMENT Foundation.Auxiliary_Elements.Presentation (
    Foundation.Auxiliary_Elements.Presentation.geometry,
    Foundation.Auxiliary_Elements.Presentation.style,
    XMI.extension*,
    Foundation.Auxiliary_Elements.Presentation.viewElement*,
    Foundation.Auxiliary_Elements.Presentation.model*)?
    >
<!ATTLIST Foundation.Auxiliary_Elements.Presentation
    %XMI.element.att;
    %XMI.link.att;
>

<!ELEMENT Foundation.Auxiliary_Elements ((
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Auxiliary_Elements.Comment |
    Foundation.Auxiliary_Elements.ViewElement |
    Foundation.Auxiliary_Elements.Presentation)*)
    >
<!ATTLIST Foundation.Auxiliary_Elements
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL PACKAGE:  Core    -->
<!-- _______________________________________________________________ -->


<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Element    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Element (XMI.extension*)? >
<!ATTLIST Foundation.Core.Element
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ModelElement    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.ModelElement.name (#PCDATA | XMI.reference)* >

<!ELEMENT Foundation.Core.ModelElement.visibility EMPTY >
<!ATTLIST Foundation.Core.ModelElement.visibility
    xmi.value (public | protected | private) #REQUIRED
>

<!ELEMENT Foundation.Core.ModelElement.constraint (
    Foundation.Core.Constraint)* >

<!ELEMENT Foundation.Core.ModelElement.requirement (
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding)*
    >

<!ELEMENT Foundation.Core.ModelElement.provision (
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding)*
    >

<!ELEMENT Foundation.Core.ModelElement.stereotype (
    Foundation.Extension_Mechanisms.Stereotype)* >

<!ELEMENT Foundation.Core.ModelElement.elementReference (
    Model_Management.ElementReference)* >

<!ELEMENT Foundation.Core.ModelElement.collaboration (
    Behavioral_Elements.Collaborations.Collaboration)* >

<!ELEMENT Foundation.Core.ModelElement.partition (
    Behavioral_Elements.State_Machines.Partition) >

<!ELEMENT Foundation.Core.ModelElement.template (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)
    >

<!-- templateParameter added by Gene Mutschler 2 Aug 99 -->
<!ELEMENT Foundation.Core.ModelElement.templateParameter (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)*
    >
<!ELEMENT Foundation.Core.ModelElement.view (
    Foundation.Auxiliary_Elements.ViewElement)* >

<!ELEMENT Foundation.Core.ModelElement.presentation (
    Foundation.Auxiliary_Elements.Presentation)* >

<!ELEMENT Foundation.Core.ModelElement.namespace (
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration)
    >

<!ELEMENT Foundation.Core.ModelElement.behavior (
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel)*
    >

<!ELEMENT Foundation.Core.ModelElement.binding (
    Foundation.Auxiliary_Elements.Binding) >

<!ELEMENT Foundation.Core.ModelElement.implementation (
    Foundation.Auxiliary_Elements.Component)* >

<!ELEMENT Foundation.Core.ModelElement (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Foundation.Core.ModelElement
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Namespace    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Namespace (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*)?
    >
<!ATTLIST Foundation.Core.Namespace
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  GeneralizableElement    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.GeneralizableElement.isRoot EMPTY >
<!ATTLIST Foundation.Core.GeneralizableElement.isRoot
    xmi.value (false | true) #REQUIRED
>

<!ELEMENT Foundation.Core.GeneralizableElement.isLeaf EMPTY >
<!ATTLIST Foundation.Core.GeneralizableElement.isLeaf
    xmi.value (false | true) #REQUIRED
>

<!ELEMENT Foundation.Core.GeneralizableElement.isAbstract EMPTY >
<!ATTLIST Foundation.Core.GeneralizableElement.isAbstract
    xmi.value (false | true) #REQUIRED
>

<!ELEMENT Foundation.Core.GeneralizableElement.generalization (
    Foundation.Core.Generalization)* >

<!ELEMENT Foundation.Core.GeneralizableElement.specialization (
    Foundation.Core.Generalization)* >

<!ELEMENT Foundation.Core.GeneralizableElement (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*)?
    >
<!ATTLIST Foundation.Core.GeneralizableElement
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Classifier    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Classifier.parameter (
    Foundation.Core.Parameter)* >

<!ELEMENT Foundation.Core.Classifier.structuralFeature (
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute)*
    >

<!ELEMENT Foundation.Core.Classifier.specification (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)*
    >

<!ELEMENT Foundation.Core.Classifier.associationEnd (
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole)*
    >

<!ELEMENT Foundation.Core.Classifier.participant (
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole)*
    >

<!ELEMENT Foundation.Core.Classifier.createAction (
    Behavioral_Elements.Common_Behavior.CreateAction)* >

<!ELEMENT Foundation.Core.Classifier.instance (
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance)*
    >

<!ELEMENT Foundation.Core.Classifier.collaboration (
    Behavioral_Elements.Collaborations.Collaboration)* >

<!ELEMENT Foundation.Core.Classifier.classifierRole (
    Behavioral_Elements.Collaborations.ClassifierRole)* >

<!ELEMENT Foundation.Core.Classifier.realization (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)*
    >

<!ELEMENT Foundation.Core.Classifier.classifierInState (
    Behavioral_Elements.State_Machines.ClassifierInState)* >

<!ELEMENT Foundation.Core.Classifier (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Foundation.Core.Classifier
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Interface    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Interface (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Foundation.Core.Interface
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Class    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Class.isActive EMPTY >
<!ATTLIST Foundation.Core.Class.isActive
    xmi.value (false | true) #REQUIRED
>

<!ELEMENT Foundation.Core.Class (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    Foundation.Core.Class.isActive,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)? >
<!ATTLIST Foundation.Core.Class
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  DataType    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.DataType (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Foundation.Core.DataType
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Feature    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Feature.ownerScope EMPTY >
<!ATTLIST Foundation.Core.Feature.ownerScope
    xmi.value (classifier | instance) #REQUIRED
>

<!ELEMENT Foundation.Core.Feature.owner (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)
    >

<!ELEMENT Foundation.Core.Feature.classifierRole (
    Behavioral_Elements.Collaborations.ClassifierRole)* >

<!ELEMENT Foundation.Core.Feature (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Feature.ownerScope,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Feature.owner?,
    Foundation.Core.Feature.classifierRole*,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Foundation.Core.Feature
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  StructuralFeature    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.StructuralFeature.multiplicity (#PCDATA |
    XMI.reference)*
    >

<!ELEMENT Foundation.Core.StructuralFeature.changeable EMPTY >
<!ATTLIST Foundation.Core.StructuralFeature.changeable
    xmi.value (none | frozen | addOnly) #REQUIRED
>

<!ELEMENT Foundation.Core.StructuralFeature.targetScope EMPTY >
<!ATTLIST Foundation.Core.StructuralFeature.targetScope
    xmi.value (classifier | instance) #REQUIRED
>

<!ELEMENT Foundation.Core.StructuralFeature.type (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)
    >

<!ELEMENT Foundation.Core.StructuralFeature (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Feature.ownerScope,
    Foundation.Core.StructuralFeature.multiplicity,
    Foundation.Core.StructuralFeature.changeable,
    Foundation.Core.StructuralFeature.targetScope,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Feature.owner?,
    Foundation.Core.Feature.classifierRole*,
    Foundation.Core.StructuralFeature.type,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Foundation.Core.StructuralFeature
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  BehavioralFeature    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.BehavioralFeature.isQuery EMPTY >
<!ATTLIST Foundation.Core.BehavioralFeature.isQuery
    xmi.value (false | true) #REQUIRED
>

<!ELEMENT Foundation.Core.BehavioralFeature.raisedException (
    Behavioral_Elements.Common_Behavior.Exception)* >

<!ELEMENT Foundation.Core.BehavioralFeature (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Feature.ownerScope,
    Foundation.Core.BehavioralFeature.isQuery,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Feature.owner?,
    Foundation.Core.Feature.classifierRole*,
    Foundation.Core.BehavioralFeature.raisedException*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.BehavioralFeature.parameter*)?
    >
<!ATTLIST Foundation.Core.BehavioralFeature
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Operation    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Operation.specification (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Core.Operation.isPolymorphic EMPTY >
<!ATTLIST Foundation.Core.Operation.isPolymorphic
    xmi.value (false | true) #REQUIRED
>

<!ELEMENT Foundation.Core.Operation.concurrency EMPTY >
<!ATTLIST Foundation.Core.Operation.concurrency
    xmi.value (sequential | guarded | concurrent) #REQUIRED
>

<!ELEMENT Foundation.Core.Operation.method (
    Foundation.Core.Method)* >

<!ELEMENT Foundation.Core.Operation.collaboration (
    Behavioral_Elements.Collaborations.Collaboration)* >

<!ELEMENT Foundation.Core.Operation.occurrence (
    Behavioral_Elements.State_Machines.CallEvent)* >

<!ELEMENT Foundation.Core.Operation (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Feature.ownerScope,
    Foundation.Core.BehavioralFeature.isQuery,
    Foundation.Core.Operation.specification,
    Foundation.Core.Operation.isPolymorphic,
    Foundation.Core.Operation.concurrency,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Feature.owner?,
    Foundation.Core.Feature.classifierRole*,
    Foundation.Core.BehavioralFeature.raisedException*,
    Behavioral_Elements.Common_Behavior.Request.action*,
    Behavioral_Elements.Common_Behavior.Request.messageInstance*,
    Foundation.Core.Operation.method*,
    Foundation.Core.Operation.collaboration*,
    Foundation.Core.Operation.occurrence*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.BehavioralFeature.parameter*)?
    >
<!ATTLIST Foundation.Core.Operation
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Method    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Method.body (
    Foundation.Data_Types.ProcedureExpression) >

<!ELEMENT Foundation.Core.Method.specification (
    Foundation.Core.Operation) >

<!ELEMENT Foundation.Core.Method (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Feature.ownerScope,
    Foundation.Core.BehavioralFeature.isQuery,
    Foundation.Core.Method.body,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Feature.owner?,
    Foundation.Core.Feature.classifierRole*,
    Foundation.Core.BehavioralFeature.raisedException*,
    Foundation.Core.Method.specification,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.BehavioralFeature.parameter*)?
    >
<!ATTLIST Foundation.Core.Method
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Parameter    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Parameter.defaultValue (
    Foundation.Data_Types.Expression) >

<!ELEMENT Foundation.Core.Parameter.kind EMPTY >
<!ATTLIST Foundation.Core.Parameter.kind
    xmi.value (in | inout | out | return) #REQUIRED
>

<!ELEMENT Foundation.Core.Parameter.type (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)
    >

<!ELEMENT Foundation.Core.Parameter.behavioralFeature (
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception)
    >

<!ELEMENT Foundation.Core.Parameter.signal (
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception)
    >

<!ELEMENT Foundation.Core.Parameter (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Parameter.defaultValue,
    Foundation.Core.Parameter.kind,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Parameter.type,
    Foundation.Core.Parameter.behavioralFeature?,
    Foundation.Core.Parameter.signal?,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Foundation.Core.Parameter
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Constraint    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Constraint.body (
    Foundation.Data_Types.BooleanExpression) >

<!ELEMENT Foundation.Core.Constraint.constrainedElement (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)+
    >

<!ELEMENT Foundation.Core.Constraint.constrainedStereotype (
    Foundation.Extension_Mechanisms.Stereotype) >

<!ELEMENT Foundation.Core.Constraint (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Constraint.body,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Constraint.constrainedElement+,
    Foundation.Core.Constraint.constrainedStereotype?,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Foundation.Core.Constraint
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Dependency    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Dependency.description (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Core.Dependency.client (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)*
    >

<!ELEMENT Foundation.Core.Dependency.supplier (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)*
    >

<!ELEMENT Foundation.Core.Dependency.owningDependency (
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding)
    >

<!ELEMENT Foundation.Core.Dependency (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Dependency.description,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Dependency.client*,
    Foundation.Core.Dependency.supplier*,
    Foundation.Core.Dependency.owningDependency?,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Dependency.subDependencies*)?
    >
<!ATTLIST Foundation.Core.Dependency
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Generalization    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Generalization.discriminator (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Core.Generalization.subtype (
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception)
    >

<!ELEMENT Foundation.Core.Generalization.supertype (
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception)
    >

<!ELEMENT Foundation.Core.Generalization (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Generalization.discriminator,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Generalization.subtype,
    Foundation.Core.Generalization.supertype,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Foundation.Core.Generalization
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  AssociationEnd    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.AssociationEnd.isNavigable EMPTY >
<!ATTLIST Foundation.Core.AssociationEnd.isNavigable
    xmi.value (false | true) #REQUIRED
>

<!ELEMENT Foundation.Core.AssociationEnd.isOrdered EMPTY >
<!ATTLIST Foundation.Core.AssociationEnd.isOrdered
    xmi.value (false | true) #REQUIRED
>

<!ELEMENT Foundation.Core.AssociationEnd.aggregation EMPTY >
<!ATTLIST Foundation.Core.AssociationEnd.aggregation
    xmi.value (none | shared | composite) #REQUIRED
>

<!ELEMENT Foundation.Core.AssociationEnd.multiplicity (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Core.AssociationEnd.changeable EMPTY >
<!ATTLIST Foundation.Core.AssociationEnd.changeable
    xmi.value (none | frozen | addOnly) #REQUIRED
>

<!ELEMENT Foundation.Core.AssociationEnd.targetScope EMPTY >
<!ATTLIST Foundation.Core.AssociationEnd.targetScope
    xmi.value (classifier | instance) #REQUIRED
>

<!ELEMENT Foundation.Core.AssociationEnd.type (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)
    >

<!ELEMENT Foundation.Core.AssociationEnd.specification (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)*
    >

<!ELEMENT Foundation.Core.AssociationEnd.linkEnd (
    Behavioral_Elements.Common_Behavior.LinkEnd)* >

<!ELEMENT Foundation.Core.AssociationEnd.associationEndRole (
    Behavioral_Elements.Collaborations.AssociationEndRole)* >

<!ELEMENT Foundation.Core.AssociationEnd.association (
    Foundation.Core.Association |
    Foundation.Core.AssociationClass |
    Behavioral_Elements.Collaborations.AssociationRole)
    >

<!ELEMENT Foundation.Core.AssociationEnd (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.AssociationEnd.isNavigable,
    Foundation.Core.AssociationEnd.isOrdered,
    Foundation.Core.AssociationEnd.aggregation,
    Foundation.Core.AssociationEnd.multiplicity,
    Foundation.Core.AssociationEnd.changeable,
    Foundation.Core.AssociationEnd.targetScope,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.AssociationEnd.type,
    Foundation.Core.AssociationEnd.specification*,
    Foundation.Core.AssociationEnd.linkEnd*,
    Foundation.Core.AssociationEnd.associationEndRole*,
    Foundation.Core.AssociationEnd.association?,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.AssociationEnd.qualifier*)?
    >
<!ATTLIST Foundation.Core.AssociationEnd
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Association    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Association.link (
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject)*
    >

<!ELEMENT Foundation.Core.Association.associationEnd (
    Behavioral_Elements.Collaborations.AssociationRole)* >

<!ELEMENT Foundation.Core.Association (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Association.link*,
    Foundation.Core.Association.associationEnd*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Association.connection*)?
    >
<!ATTLIST Foundation.Core.Association
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  AssociationClass    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.AssociationClass (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    Foundation.Core.Class.isActive,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Core.Association.link*,
    Foundation.Core.Association.associationEnd*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*,
    Foundation.Core.Association.connection*)?
    >
<!ATTLIST Foundation.Core.AssociationClass
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Attribute    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Core.Attribute.initialValue (
    Foundation.Data_Types.Expression) >

<!ELEMENT Foundation.Core.Attribute.attributeLink (
    Behavioral_Elements.Common_Behavior.AttributeLink)* >

<!ELEMENT Foundation.Core.Attribute.associationEnd (
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole)
    >

<!ELEMENT Foundation.Core.Attribute (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Feature.ownerScope,
    Foundation.Core.StructuralFeature.multiplicity,
    Foundation.Core.StructuralFeature.changeable,
    Foundation.Core.StructuralFeature.targetScope,
    Foundation.Core.Attribute.initialValue,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Feature.owner?,
    Foundation.Core.Feature.classifierRole*,
    Foundation.Core.StructuralFeature.type,
    Foundation.Core.Attribute.attributeLink*,
    Foundation.Core.Attribute.associationEnd?,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Foundation.Core.Attribute
    %XMI.element.att;
    %XMI.link.att;
>

<!ELEMENT Foundation.Core ((
    Foundation.Core.Element |
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.DataType |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Foundation.Core.Association |
    Foundation.Core.AssociationClass |
    Foundation.Core.Attribute)*) >
<!ATTLIST Foundation.Core
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL PACKAGE:  Extension_Mechanisms    -->
<!-- _______________________________________________________________ -->


<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  TaggedValue    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Extension_Mechanisms.TaggedValue.tag (#PCDATA |
    XMI.reference)*
    >

<!ELEMENT Foundation.Extension_Mechanisms.TaggedValue.value (#PCDATA |
    XMI.reference)*
    >

<!ELEMENT Foundation.Extension_Mechanisms.TaggedValue.modelElement (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)
    >

<!ELEMENT Foundation.Extension_Mechanisms.TaggedValue.stereotype (
    Foundation.Extension_Mechanisms.Stereotype) >

<!ELEMENT Foundation.Extension_Mechanisms.TaggedValue (
    Foundation.Extension_Mechanisms.TaggedValue.tag,
    Foundation.Extension_Mechanisms.TaggedValue.value,
    XMI.extension*,
    Foundation.Extension_Mechanisms.TaggedValue.modelElement?,
    Foundation.Extension_Mechanisms.TaggedValue.stereotype?)?
    >
<!ATTLIST Foundation.Extension_Mechanisms.TaggedValue
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Stereotype    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Extension_Mechanisms.Stereotype.icon (
    Foundation.Data_Types.Geometry) >

<!ELEMENT Foundation.Extension_Mechanisms.Stereotype.baseClass (#PCDATA |
    XMI.reference)*
    >

<!ELEMENT Foundation.Extension_Mechanisms.Stereotype.extendedElement (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)*
    >

<!ELEMENT Foundation.Extension_Mechanisms.Stereotype.stereotypeConstraint (
    Foundation.Core.Constraint)* >

<!ELEMENT Foundation.Extension_Mechanisms.Stereotype (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    Foundation.Extension_Mechanisms.Stereotype.icon,
    Foundation.Extension_Mechanisms.Stereotype.baseClass,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Extension_Mechanisms.Stereotype.extendedElement*,
    Foundation.Extension_Mechanisms.Stereotype.stereotypeConstraint*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Extension_Mechanisms.Stereotype.requiredTag*)?
    >
<!ATTLIST Foundation.Extension_Mechanisms.Stereotype
    %XMI.element.att;
    %XMI.link.att;
>

<!ELEMENT Foundation.Extension_Mechanisms ((
    Foundation.Extension_Mechanisms.TaggedValue |
    Foundation.Extension_Mechanisms.Stereotype)*)
    >
<!ATTLIST Foundation.Extension_Mechanisms
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL PACKAGE:  Data_Types    -->
<!-- _______________________________________________________________ -->


<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Enumeration    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.Enumeration (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*,
    Foundation.Data_Types.Enumeration.literal*)?
    >
<!ATTLIST Foundation.Data_Types.Enumeration
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  EnumerationLiteral    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.EnumerationLiteral.name (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Data_Types.EnumerationLiteral.enumeration (
    Foundation.Data_Types.Enumeration) >

<!ELEMENT Foundation.Data_Types.EnumerationLiteral (
    Foundation.Data_Types.EnumerationLiteral.name,
    XMI.extension*,
    Foundation.Data_Types.EnumerationLiteral.enumeration?)?
    >
<!ATTLIST Foundation.Data_Types.EnumerationLiteral
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Primitive    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.Primitive (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Foundation.Data_Types.Primitive
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Structure    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.Structure (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Foundation.Data_Types.Structure
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  MultiplicityRange    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.MultiplicityRange.lower (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Data_Types.MultiplicityRange.upper (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Data_Types.MultiplicityRange (
    Foundation.Data_Types.MultiplicityRange.lower,
    Foundation.Data_Types.MultiplicityRange.upper,
    XMI.extension*)? >
<!ATTLIST Foundation.Data_Types.MultiplicityRange
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Geometry    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.Geometry.body (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Data_Types.Geometry (
    Foundation.Data_Types.Geometry.body,
    XMI.extension*)? >
<!ATTLIST Foundation.Data_Types.Geometry
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  GraphicMarker    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.GraphicMarker.body (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Data_Types.GraphicMarker (
    Foundation.Data_Types.GraphicMarker.body,
    XMI.extension*)? >
<!ATTLIST Foundation.Data_Types.GraphicMarker
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Mapping    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.Mapping.body (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Data_Types.Mapping (
    Foundation.Data_Types.Mapping.body,
    XMI.extension*)? >
<!ATTLIST Foundation.Data_Types.Mapping
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Expression    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.Expression.language (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Data_Types.Expression.body (#PCDATA |
    XMI.reference)* >

<!ELEMENT Foundation.Data_Types.Expression (
    Foundation.Data_Types.Expression.language,
    Foundation.Data_Types.Expression.body,
    XMI.extension*)? >
<!ATTLIST Foundation.Data_Types.Expression
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ProcedureExpression    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.ProcedureExpression (
    Foundation.Data_Types.Expression.language,
    Foundation.Data_Types.Expression.body,
    XMI.extension*)? >
<!ATTLIST Foundation.Data_Types.ProcedureExpression
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ObjectSetExpression    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.ObjectSetExpression (
    Foundation.Data_Types.Expression.language,
    Foundation.Data_Types.Expression.body,
    XMI.extension*)? >
<!ATTLIST Foundation.Data_Types.ObjectSetExpression
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  TimeExpression    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.TimeExpression (
    Foundation.Data_Types.Expression.language,
    Foundation.Data_Types.Expression.body,
    XMI.extension*)? >
<!ATTLIST Foundation.Data_Types.TimeExpression
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  BooleanExpression    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Foundation.Data_Types.BooleanExpression (
    Foundation.Data_Types.Expression.language,
    Foundation.Data_Types.Expression.body,
    XMI.extension*)? >
<!ATTLIST Foundation.Data_Types.BooleanExpression
    %XMI.element.att;
    %XMI.link.att;
>

<!ELEMENT Foundation.Data_Types ((
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.EnumerationLiteral |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Foundation.Data_Types.MultiplicityRange |
    Foundation.Data_Types.Geometry |
    Foundation.Data_Types.GraphicMarker |
    Foundation.Data_Types.Mapping |
    Foundation.Data_Types.Expression |
    Foundation.Data_Types.ProcedureExpression |
    Foundation.Data_Types.ObjectSetExpression |
    Foundation.Data_Types.TimeExpression |
    Foundation.Data_Types.BooleanExpression)*)
    >
<!ATTLIST Foundation.Data_Types
    %XMI.element.att;
    %XMI.link.att;
>

<!ELEMENT Foundation ((
    Foundation.Auxiliary_Elements | Foundation.Core |
    Foundation.Extension_Mechanisms |
    Foundation.Data_Types)*) >
<!ATTLIST Foundation
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL PACKAGE:  Model_Management    -->
<!-- _______________________________________________________________ -->


<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Package    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Model_Management.Package.elementReference (
    Model_Management.ElementReference)* >

<!ELEMENT Model_Management.Package (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Model_Management.Package.elementReference*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*)?
    >
<!ATTLIST Model_Management.Package
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Subsystem    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Model_Management.Subsystem.isInstantiable EMPTY >
<!ATTLIST Model_Management.Subsystem.isInstantiable
    xmi.value (false | true) #REQUIRED
>

<!ELEMENT Model_Management.Subsystem (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    Model_Management.Subsystem.isInstantiable,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Model_Management.Package.elementReference*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Model_Management.Subsystem
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Model    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Model_Management.Model (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Model_Management.Package.elementReference*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*)?
    >
<!ATTLIST Model_Management.Model
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ElementReference    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Model_Management.ElementReference.visibility EMPTY >
<!ATTLIST Model_Management.ElementReference.visibility
    xmi.value (public | protected | private) #REQUIRED
>

<!ELEMENT Model_Management.ElementReference.alias (#PCDATA |
    XMI.reference)* >

<!ELEMENT Model_Management.ElementReference.referencedElement (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)*
    >

<!ELEMENT Model_Management.ElementReference.package (
    Model_Management.Package |
    Model_Management.Subsystem |
    Model_Management.Model)*
    >

<!ELEMENT Model_Management.ElementReference (
    Model_Management.ElementReference.visibility,
    Model_Management.ElementReference.alias,
    XMI.extension*,
    Model_Management.ElementReference.referencedElement*,
    Model_Management.ElementReference.package*)?
    >
<!ATTLIST Model_Management.ElementReference
    %XMI.element.att;
    %XMI.link.att;
>

<!ELEMENT Model_Management ((Model_Management.Package |
    Model_Management.Subsystem |
    Model_Management.Model |
    Model_Management.ElementReference)*) >
<!ATTLIST Model_Management
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL PACKAGE:  Behavioral_Elements    -->
<!-- _______________________________________________________________ -->


<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL PACKAGE:  Common_Behavior    -->
<!-- _______________________________________________________________ -->


<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Request    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.Request.action (
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction)*
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.Request.messageInstance (
    Behavioral_Elements.Common_Behavior.MessageInstance)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Request (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Request.action*,
    Behavioral_Elements.Common_Behavior.Request.messageInstance*,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.Request
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Signal    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.Signal.reception (
    Behavioral_Elements.Common_Behavior.Reception)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Signal.occurrence (
    Behavioral_Elements.State_Machines.SignalEvent)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Signal (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Behavioral_Elements.Common_Behavior.Request.action*,
    Behavioral_Elements.Common_Behavior.Request.messageInstance*,
    Behavioral_Elements.Common_Behavior.Signal.reception*,
    Behavioral_Elements.Common_Behavior.Signal.occurrence*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Behavioral_Elements.Common_Behavior.Signal.parameter*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.Signal
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Exception    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.Exception.context (
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception)*
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.Exception (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Behavioral_Elements.Common_Behavior.Request.action*,
    Behavioral_Elements.Common_Behavior.Request.messageInstance*,
    Behavioral_Elements.Common_Behavior.Signal.reception*,
    Behavioral_Elements.Common_Behavior.Signal.occurrence*,
    Behavioral_Elements.Common_Behavior.Exception.context*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Behavioral_Elements.Common_Behavior.Signal.parameter*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.Exception
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Reception    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.Reception.isPolymorphic 
    EMPTY >
<!ATTLIST Behavioral_Elements.Common_Behavior.Reception.isPolymorphic
    xmi.value (false | true) #REQUIRED
>

<!-- application changed to specification by Gene Mutschler 30 Jun 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.Reception.specification (#PCDATA |
    XMI.reference)*
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.Reception.signal (
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception)
    >

<!-- application changed to specification by Gene Mutschler 30 Jun 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.Reception (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.Feature.ownerScope,
    Foundation.Core.BehavioralFeature.isQuery,
    Behavioral_Elements.Common_Behavior.Reception.isPolymorphic,
    Behavioral_Elements.Common_Behavior.Reception.specification,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.Feature.owner?,
    Foundation.Core.Feature.classifierRole*,
    Foundation.Core.BehavioralFeature.raisedException*,
    Behavioral_Elements.Common_Behavior.Reception.signal,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.BehavioralFeature.parameter*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.Reception
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Argument    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.Argument.value (
    Foundation.Data_Types.Expression) >

<!ELEMENT Behavioral_Elements.Common_Behavior.Argument.action (
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.Argument (
    Behavioral_Elements.Common_Behavior.Argument.value,
    XMI.extension*,
    Behavioral_Elements.Common_Behavior.Argument.action?)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.Argument
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ActionSequence    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.ActionSequence.transition (
    Behavioral_Elements.State_Machines.Transition) >

<!ELEMENT Behavioral_Elements.Common_Behavior.ActionSequence.state (
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.ActionSequence.state2 (
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.ActionSequence (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.ActionSequence.transition?,
    Behavioral_Elements.Common_Behavior.ActionSequence.state?,
    Behavioral_Elements.Common_Behavior.ActionSequence.state2?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.ActionSequence.action*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.ActionSequence
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Action    -->
<!-- _______________________________________________________________ -->

<!-- recurrence added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.Action.recurrence (
     Foundation.Data_Types.Expression)
     >

<!-- target added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.Action.target (
     Foundation.Data_Types.ObjectSetExpression)
     >

<!-- isAsynchronous added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.Action.isAsynchronous EMPTY>
<!ATTLIST Behavioral_Elements.Common_Behavior.Action.isAsynchronous
    xmi.value (false | true) #REQUIRED
>

<!-- script added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.Action.script (#PCDATA | XMI.reference)*>

<!ELEMENT Behavioral_Elements.Common_Behavior.Action.request (
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Foundation.Core.Operation)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.Action.message (
    Behavioral_Elements.Collaborations.Message) >

<!ELEMENT Behavioral_Elements.Common_Behavior.Action.actionSequence (
    Behavioral_Elements.Common_Behavior.ActionSequence) >

<!-- Action properties added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.Action (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.Common_Behavior.Action.recurrence,
    Behavioral_Elements.Common_Behavior.Action.target,
    Behavioral_Elements.Common_Behavior.Action.isAsynchronous,
    Behavioral_Elements.Common_Behavior.Action.script,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Action.request?,
    Behavioral_Elements.Common_Behavior.Action.message?,
    Behavioral_Elements.Common_Behavior.Action.actionSequence?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Action.actualArgument*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.Action
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  CreateAction    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.CreateAction.instantiation (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)
    >

<!-- Action properties added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.CreateAction (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.Common_Behavior.Action.recurrence,
    Behavioral_Elements.Common_Behavior.Action.target,
    Behavioral_Elements.Common_Behavior.Action.isAsynchronous,
    Behavioral_Elements.Common_Behavior.Action.script,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Action.request?,
    Behavioral_Elements.Common_Behavior.Action.message?,
    Behavioral_Elements.Common_Behavior.Action.actionSequence?,
    Behavioral_Elements.Common_Behavior.CreateAction.instantiation,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Action.actualArgument*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.CreateAction
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  CallAction    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.CallAction.mode EMPTY >
<!ATTLIST Behavioral_Elements.Common_Behavior.CallAction.mode
    xmi.value (synchronous | asynchronous) #REQUIRED
>

<!-- Action properties added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.CallAction (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.Common_Behavior.Action.recurrence,
    Behavioral_Elements.Common_Behavior.Action.target,
    Behavioral_Elements.Common_Behavior.Action.isAsynchronous,
    Behavioral_Elements.Common_Behavior.Action.script,
    Behavioral_Elements.Common_Behavior.CallAction.mode,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Action.request?,
    Behavioral_Elements.Common_Behavior.Action.message?,
    Behavioral_Elements.Common_Behavior.Action.actionSequence?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Action.actualArgument*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.CallAction
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  LocalInvocation    -->
<!-- _______________________________________________________________ -->


<!-- Action properties added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.LocalInvocation (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.Common_Behavior.Action.recurrence,
    Behavioral_Elements.Common_Behavior.Action.target,
    Behavioral_Elements.Common_Behavior.Action.isAsynchronous,
    Behavioral_Elements.Common_Behavior.Action.script,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Action.request?,
    Behavioral_Elements.Common_Behavior.Action.message?,
    Behavioral_Elements.Common_Behavior.Action.actionSequence?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Action.actualArgument*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.LocalInvocation
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ReturnAction    -->
<!-- _______________________________________________________________ -->


<!-- Action properties added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.ReturnAction (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.Common_Behavior.Action.recurrence,
    Behavioral_Elements.Common_Behavior.Action.target,
    Behavioral_Elements.Common_Behavior.Action.isAsynchronous,
    Behavioral_Elements.Common_Behavior.Action.script,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Action.request?,
    Behavioral_Elements.Common_Behavior.Action.message?,
    Behavioral_Elements.Common_Behavior.Action.actionSequence?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Action.actualArgument*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.ReturnAction
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  SendAction    -->
<!-- _______________________________________________________________ -->


<!-- Action properties added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.SendAction (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.Common_Behavior.Action.recurrence,
    Behavioral_Elements.Common_Behavior.Action.target,
    Behavioral_Elements.Common_Behavior.Action.isAsynchronous,
    Behavioral_Elements.Common_Behavior.Action.script,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Action.request?,
    Behavioral_Elements.Common_Behavior.Action.message?,
    Behavioral_Elements.Common_Behavior.Action.actionSequence?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Action.actualArgument*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.SendAction
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  UninterpretedAction    -->
<!-- _______________________________________________________________ -->


<!-- Action properties added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.UninterpretedAction.body (#PCDATA |
    XMI.reference)*
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.UninterpretedAction (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.Common_Behavior.Action.recurrence,
    Behavioral_Elements.Common_Behavior.Action.target,
    Behavioral_Elements.Common_Behavior.Action.isAsynchronous,
    Behavioral_Elements.Common_Behavior.Action.script,
    Behavioral_Elements.Common_Behavior.UninterpretedAction.body,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Action.request?,
    Behavioral_Elements.Common_Behavior.Action.message?,
    Behavioral_Elements.Common_Behavior.Action.actionSequence?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Action.actualArgument*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.UninterpretedAction
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  TerminateAction    -->
<!-- _______________________________________________________________ -->


<!-- Action properties added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.TerminateAction (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.Common_Behavior.Action.recurrence,
    Behavioral_Elements.Common_Behavior.Action.target,
    Behavioral_Elements.Common_Behavior.Action.isAsynchronous,
    Behavioral_Elements.Common_Behavior.Action.script,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Action.request?,
    Behavioral_Elements.Common_Behavior.Action.message?,
    Behavioral_Elements.Common_Behavior.Action.actionSequence?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Action.actualArgument*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.TerminateAction
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  DestroyAction    -->
<!-- _______________________________________________________________ -->


<!-- Action properties added by Gene Mutschler 12 May 99 -->
<!ELEMENT Behavioral_Elements.Common_Behavior.DestroyAction (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.Common_Behavior.Action.recurrence,
    Behavioral_Elements.Common_Behavior.Action.target,
    Behavioral_Elements.Common_Behavior.Action.isAsynchronous,
    Behavioral_Elements.Common_Behavior.Action.script,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Action.request?,
    Behavioral_Elements.Common_Behavior.Action.message?,
    Behavioral_Elements.Common_Behavior.Action.actionSequence?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Action.actualArgument*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.DestroyAction
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Link    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.Link.association (
    Foundation.Core.Association |
    Foundation.Core.AssociationClass |
    Behavioral_Elements.Collaborations.AssociationRole)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.Link (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Link.association,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Link.linkRole*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.Link
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  LinkEnd    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.LinkEnd.associationEnd (
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.LinkEnd.instance (
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.LinkEnd.link (
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.LinkEnd (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.LinkEnd.associationEnd,
    Behavioral_Elements.Common_Behavior.LinkEnd.instance,
    Behavioral_Elements.Common_Behavior.LinkEnd.link?,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.LinkEnd
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Instance    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.Instance.linkEnd (
    Behavioral_Elements.Common_Behavior.LinkEnd)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Instance.messageInstance3 (
    Behavioral_Elements.Common_Behavior.MessageInstance)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Instance.messageInstance2 (
    Behavioral_Elements.Common_Behavior.MessageInstance)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Instance.attributeLink (
    Behavioral_Elements.Common_Behavior.AttributeLink)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Instance.classifier (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)+
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.Instance.messageInstance (
    Behavioral_Elements.Common_Behavior.MessageInstance)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.Instance (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Instance.linkEnd*,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance3*,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance2*,
    Behavioral_Elements.Common_Behavior.Instance.attributeLink*,
    Behavioral_Elements.Common_Behavior.Instance.classifier+,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance*,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Instance.slot*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.Instance
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  AttributeLink    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.AttributeLink.attribute (
    Foundation.Core.Attribute)* >

<!ELEMENT Behavioral_Elements.Common_Behavior.AttributeLink.value (
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance)*
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.AttributeLink.instance (
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.AttributeLink (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.AttributeLink.attribute*,
    Behavioral_Elements.Common_Behavior.AttributeLink.value*,
    Behavioral_Elements.Common_Behavior.AttributeLink.instance?,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.AttributeLink
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Object    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.Object (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Instance.linkEnd*,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance3*,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance2*,
    Behavioral_Elements.Common_Behavior.Instance.attributeLink*,
    Behavioral_Elements.Common_Behavior.Instance.classifier+,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance*,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Instance.slot*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.Object
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  DataValue    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.DataValue (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Instance.linkEnd*,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance3*,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance2*,
    Behavioral_Elements.Common_Behavior.Instance.attributeLink*,
    Behavioral_Elements.Common_Behavior.Instance.classifier+,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance*,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Instance.slot*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.DataValue
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  LinkObject    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.LinkObject (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Instance.linkEnd*,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance3*,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance2*,
    Behavioral_Elements.Common_Behavior.Instance.attributeLink*,
    Behavioral_Elements.Common_Behavior.Instance.classifier+,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance*,
    Behavioral_Elements.Common_Behavior.Link.association,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Instance.slot*,
    Behavioral_Elements.Common_Behavior.Link.linkRole*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.LinkObject
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  MessageInstance    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Common_Behavior.MessageInstance.specification (
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Foundation.Core.Operation)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.MessageInstance.sender (
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.MessageInstance.receiver (
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance)
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.MessageInstance.argument (
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance)*
    >

<!ELEMENT Behavioral_Elements.Common_Behavior.MessageInstance (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.MessageInstance.specification,
    Behavioral_Elements.Common_Behavior.MessageInstance.sender,
    Behavioral_Elements.Common_Behavior.MessageInstance.receiver,
    Behavioral_Elements.Common_Behavior.MessageInstance.argument*,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.Common_Behavior.MessageInstance
    %XMI.element.att;
    %XMI.link.att;
>

<!ELEMENT Behavioral_Elements.Common_Behavior ((
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Common_Behavior.Reception |
    Behavioral_Elements.Common_Behavior.Argument |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.MessageInstance)*)
    >
<!ATTLIST Behavioral_Elements.Common_Behavior
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL PACKAGE:  Collaborations    -->
<!-- _______________________________________________________________ -->


<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Collaboration    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Collaborations.Collaboration.representedClassifier (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)
    >

<!ELEMENT Behavioral_Elements.Collaborations.Collaboration.representedOperation (
    Foundation.Core.Operation) >

<!ELEMENT Behavioral_Elements.Collaborations.Collaboration.constrainingElement (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)*
    >

<!ELEMENT Behavioral_Elements.Collaborations.Collaboration (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Collaborations.Collaboration.representedClassifier?,
    Behavioral_Elements.Collaborations.Collaboration.representedOperation?,
    Behavioral_Elements.Collaborations.Collaboration.constrainingElement*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Behavioral_Elements.Collaborations.Collaboration.interaction*)?
    >
<!ATTLIST Behavioral_Elements.Collaborations.Collaboration
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Interaction    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Collaborations.Interaction.context (
    Behavioral_Elements.Collaborations.Collaboration) >

<!-- message changed from association to composition by Gene Mutschler 21 May 99 -->

<!ELEMENT Behavioral_Elements.Collaborations.Interaction (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Collaborations.Interaction.context?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Collaborations.Interaction.message+)?
    >
<!ATTLIST Behavioral_Elements.Collaborations.Interaction
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  AssociationRole    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Collaborations.AssociationRole.multiplicity (#PCDATA |
    XMI.reference)*
    >

<!ELEMENT Behavioral_Elements.Collaborations.AssociationRole.base (
    Foundation.Core.Association |
    Foundation.Core.AssociationClass |
    Behavioral_Elements.Collaborations.AssociationRole)
    >

<!ELEMENT Behavioral_Elements.Collaborations.AssociationRole (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    Behavioral_Elements.Collaborations.AssociationRole.multiplicity,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Association.link*,
    Foundation.Core.Association.associationEnd*,
    Behavioral_Elements.Collaborations.AssociationRole.base,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Association.connection*)?
    >
<!ATTLIST Behavioral_Elements.Collaborations.AssociationRole
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  AssociationEndRole    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Collaborations.AssociationEndRole.base (
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole)
    >

<!ELEMENT Behavioral_Elements.Collaborations.AssociationEndRole (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.AssociationEnd.isNavigable,
    Foundation.Core.AssociationEnd.isOrdered,
    Foundation.Core.AssociationEnd.aggregation,
    Foundation.Core.AssociationEnd.multiplicity,
    Foundation.Core.AssociationEnd.changeable,
    Foundation.Core.AssociationEnd.targetScope,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.AssociationEnd.type,
    Foundation.Core.AssociationEnd.specification*,
    Foundation.Core.AssociationEnd.linkEnd*,
    Foundation.Core.AssociationEnd.associationEndRole*,
    Foundation.Core.AssociationEnd.association?,
    Behavioral_Elements.Collaborations.AssociationEndRole.base,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.AssociationEnd.qualifier*)?
    >
<!ATTLIST Behavioral_Elements.Collaborations.AssociationEndRole
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Message    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Collaborations.Message.predecessor (
    Behavioral_Elements.Collaborations.Message)* >

<!ELEMENT Behavioral_Elements.Collaborations.Message.message (
    Behavioral_Elements.Collaborations.Message)* >

<!ELEMENT Behavioral_Elements.Collaborations.Message.action (
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction)
    >

<!-- activator added by Gene Mutschler 11 May 99 -->
<!ELEMENT Behavioral_Elements.Collaborations.Message.activator (
    Behavioral_Elements.Collaborations.Message)? >

<!ELEMENT Behavioral_Elements.Collaborations.Message.receiver (
    Behavioral_Elements.Collaborations.ClassifierRole) >

<!ELEMENT Behavioral_Elements.Collaborations.Message.sender (
    Behavioral_Elements.Collaborations.ClassifierRole) >

<!ELEMENT Behavioral_Elements.Collaborations.Message.interaction (
    Behavioral_Elements.Collaborations.Interaction)* >

<!-- ModelElement base added by Gene Mutschler 16 Jun 99 -->
<!ELEMENT Behavioral_Elements.Collaborations.Message (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Collaborations.Message.predecessor*,
    Behavioral_Elements.Collaborations.Message.message*,
    Behavioral_Elements.Collaborations.Message.activator?,
    Behavioral_Elements.Collaborations.Message.action,
    Behavioral_Elements.Collaborations.Message.receiver,
    Behavioral_Elements.Collaborations.Message.sender,
    Behavioral_Elements.Collaborations.Message.interaction*)?
    >
<!ATTLIST Behavioral_Elements.Collaborations.Message
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ClassifierRole    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Collaborations.ClassifierRole.multiplicity (#PCDATA |
    XMI.reference)*
    >

<!ELEMENT Behavioral_Elements.Collaborations.ClassifierRole.message2 (
    Behavioral_Elements.Collaborations.Message)* >

<!ELEMENT Behavioral_Elements.Collaborations.ClassifierRole.message (
    Behavioral_Elements.Collaborations.Message)* >

<!ELEMENT Behavioral_Elements.Collaborations.ClassifierRole.base (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)
    >

<!ELEMENT Behavioral_Elements.Collaborations.ClassifierRole.availableFeature (
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception)*
    >

<!ELEMENT Behavioral_Elements.Collaborations.ClassifierRole (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    Behavioral_Elements.Collaborations.ClassifierRole.multiplicity,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Behavioral_Elements.Collaborations.ClassifierRole.message2*,
    Behavioral_Elements.Collaborations.ClassifierRole.message*,
    Behavioral_Elements.Collaborations.ClassifierRole.base,
    Behavioral_Elements.Collaborations.ClassifierRole.availableFeature*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Behavioral_Elements.Collaborations.ClassifierRole
    %XMI.element.att;
    %XMI.link.att;
>

<!ELEMENT Behavioral_Elements.Collaborations ((
    Behavioral_Elements.Collaborations.Collaboration |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.Collaborations.AssociationRole |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Collaborations.ClassifierRole)*)
    >
<!ATTLIST Behavioral_Elements.Collaborations
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL PACKAGE:  Use_Cases    -->
<!-- _______________________________________________________________ -->


<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Actor    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Use_Cases.Actor (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Behavioral_Elements.Use_Cases.Actor
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  UseCase    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Use_Cases.UseCase.extensionPoint ANY >

<!ELEMENT Behavioral_Elements.Use_Cases.UseCase (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    Behavioral_Elements.Use_Cases.UseCase.extensionPoint,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Behavioral_Elements.Use_Cases.UseCase
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  UseCaseInstance    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.Use_Cases.UseCaseInstance (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.Common_Behavior.Instance.linkEnd*,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance3*,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance2*,
    Behavioral_Elements.Common_Behavior.Instance.attributeLink*,
    Behavioral_Elements.Common_Behavior.Instance.classifier+,
    Behavioral_Elements.Common_Behavior.Instance.messageInstance*,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.Common_Behavior.Instance.slot*)?
    >
<!ATTLIST Behavioral_Elements.Use_Cases.UseCaseInstance
    %XMI.element.att;
    %XMI.link.att;
>

<!ELEMENT Behavioral_Elements.Use_Cases ((
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.Use_Cases.UseCaseInstance)*)
    >
<!ATTLIST Behavioral_Elements.Use_Cases
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL PACKAGE:  State_Machines    -->
<!-- _______________________________________________________________ -->


<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  StateMachine    -->
<!-- _______________________________________________________________ -->


<!-- ActivityState added to submachineState association by Gene Mutschler 24 Jun 99 -->
<!-- Corrected spelling of ActivityState qualifiers by Gene Mutschler 27 Jun 99 -->
<!ELEMENT Behavioral_Elements.State_Machines.StateMachine.submachineState (
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.ActivityState)* >

<!ELEMENT Behavioral_Elements.State_Machines.StateMachine.context (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)
    >

<!ELEMENT Behavioral_Elements.State_Machines.StateMachine (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.StateMachine.submachineState*,
    Behavioral_Elements.State_Machines.StateMachine.context?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.State_Machines.StateMachine.top,
    Behavioral_Elements.State_Machines.StateMachine.transitions*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.StateMachine
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Guard    -->
<!-- _______________________________________________________________ -->

<!-- expression added by Gene Mutschler 30 Jun 99 -->
<!ELEMENT Behavioral_Elements.State_Machines.Guard.expression (
    Foundation.Data_Types.BooleanExpression) >


<!ELEMENT Behavioral_Elements.State_Machines.Guard.transition (
    Behavioral_Elements.State_Machines.Transition) >

<!-- expression added to content model by Gene Mutschler 30 Jun 99 -->
<!ELEMENT Behavioral_Elements.State_Machines.Guard (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.State_Machines.Guard.expression,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.Guard.transition?,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.Guard
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  StateVertex    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.StateVertex.outgoing (
    Behavioral_Elements.State_Machines.Transition)* >

<!ELEMENT Behavioral_Elements.State_Machines.StateVertex.incoming (
    Behavioral_Elements.State_Machines.Transition)* >

<!ELEMENT Behavioral_Elements.State_Machines.StateVertex.parent (
    Behavioral_Elements.State_Machines.CompositeState) >

<!ELEMENT Behavioral_Elements.State_Machines.StateVertex (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.StateVertex.outgoing*,
    Behavioral_Elements.State_Machines.StateVertex.incoming*,
    Behavioral_Elements.State_Machines.StateVertex.parent?,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.StateVertex
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Transition    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.Transition.source (
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState)
    >

<!ELEMENT Behavioral_Elements.State_Machines.Transition.target (
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState)
    >

<!ELEMENT Behavioral_Elements.State_Machines.Transition.statemachine (
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel)
    >

<!ELEMENT Behavioral_Elements.State_Machines.Transition.state (
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState)
    >

<!ELEMENT Behavioral_Elements.State_Machines.Transition.trigger (
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent)
    >

<!ELEMENT Behavioral_Elements.State_Machines.Transition (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.Transition.source,
    Behavioral_Elements.State_Machines.Transition.target,
    Behavioral_Elements.State_Machines.Transition.statemachine?,
    Behavioral_Elements.State_Machines.Transition.state?,
    Behavioral_Elements.State_Machines.Transition.trigger?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.State_Machines.Transition.guard?,
    Behavioral_Elements.State_Machines.Transition.effect?)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.Transition
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  PseudoState    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.PseudoState.kind EMPTY >
<!ATTLIST Behavioral_Elements.State_Machines.PseudoState.kind
    xmi.value (initial | deepHistory | shallowHistory | join | fork | branch | final) #REQUIRED
>

<!ELEMENT Behavioral_Elements.State_Machines.PseudoState (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.State_Machines.PseudoState.kind,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.StateVertex.outgoing*,
    Behavioral_Elements.State_Machines.StateVertex.incoming*,
    Behavioral_Elements.State_Machines.StateVertex.parent?,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.PseudoState
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  State    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.State.deferredEvent (
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent)*
    >

<!ELEMENT Behavioral_Elements.State_Machines.State.classifierInState (
    Behavioral_Elements.State_Machines.ClassifierInState)* >

<!ELEMENT Behavioral_Elements.State_Machines.State.stateMachine (
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel)
    >

<!ELEMENT Behavioral_Elements.State_Machines.State (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.StateVertex.outgoing*,
    Behavioral_Elements.State_Machines.StateVertex.incoming*,
    Behavioral_Elements.State_Machines.StateVertex.parent?,
    Behavioral_Elements.State_Machines.State.deferredEvent*,
    Behavioral_Elements.State_Machines.State.classifierInState*,
    Behavioral_Elements.State_Machines.State.stateMachine?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.State_Machines.State.internalTransition*,
    Behavioral_Elements.State_Machines.State.entry?,
    Behavioral_Elements.State_Machines.State.exit?)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.State
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  CompositeState    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.CompositeState.isConcurrent 
    EMPTY >
<!ATTLIST Behavioral_Elements.State_Machines.CompositeState.isConcurrent
    xmi.value (false | true) #REQUIRED
>

<!ELEMENT Behavioral_Elements.State_Machines.CompositeState (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.State_Machines.CompositeState.isConcurrent,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.StateVertex.outgoing*,
    Behavioral_Elements.State_Machines.StateVertex.incoming*,
    Behavioral_Elements.State_Machines.StateVertex.parent?,
    Behavioral_Elements.State_Machines.State.deferredEvent*,
    Behavioral_Elements.State_Machines.State.classifierInState*,
    Behavioral_Elements.State_Machines.State.stateMachine?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.State_Machines.State.internalTransition*,
    Behavioral_Elements.State_Machines.State.entry?,
    Behavioral_Elements.State_Machines.State.exit?,
    Behavioral_Elements.State_Machines.CompositeState.substate+)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.CompositeState
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  SimpleState    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.SimpleState (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.StateVertex.outgoing*,
    Behavioral_Elements.State_Machines.StateVertex.incoming*,
    Behavioral_Elements.State_Machines.StateVertex.parent?,
    Behavioral_Elements.State_Machines.State.deferredEvent*,
    Behavioral_Elements.State_Machines.State.classifierInState*,
    Behavioral_Elements.State_Machines.State.stateMachine?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.State_Machines.State.internalTransition*,
    Behavioral_Elements.State_Machines.State.entry?,
    Behavioral_Elements.State_Machines.State.exit?)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.SimpleState
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  SubmachineState    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.SubmachineState.stateMachine (
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel)
    >

<!ELEMENT Behavioral_Elements.State_Machines.SubmachineState (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.StateVertex.outgoing*,
    Behavioral_Elements.State_Machines.StateVertex.incoming*,
    Behavioral_Elements.State_Machines.StateVertex.parent?,
    Behavioral_Elements.State_Machines.State.deferredEvent*,
    Behavioral_Elements.State_Machines.State.classifierInState*,
    Behavioral_Elements.State_Machines.State.stateMachine?,
    Behavioral_Elements.State_Machines.SubmachineState.stateMachine,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.State_Machines.State.internalTransition*,
    Behavioral_Elements.State_Machines.State.entry?,
    Behavioral_Elements.State_Machines.State.exit?)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.SubmachineState
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Event    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.Event.state (
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState)*
    >

<!ELEMENT Behavioral_Elements.State_Machines.Event.transition (
    Behavioral_Elements.State_Machines.Transition)* >

<!ELEMENT Behavioral_Elements.State_Machines.Event (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.Event.state*,
    Behavioral_Elements.State_Machines.Event.transition*,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.Event
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  SignalEvent    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.SignalEvent.signal (
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception)
    >

<!ELEMENT Behavioral_Elements.State_Machines.SignalEvent (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.Event.state*,
    Behavioral_Elements.State_Machines.Event.transition*,
    Behavioral_Elements.State_Machines.SignalEvent.signal,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.SignalEvent
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  CallEvent    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.CallEvent.operation (
    Foundation.Core.Operation) >

<!ELEMENT Behavioral_Elements.State_Machines.CallEvent (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.Event.state*,
    Behavioral_Elements.State_Machines.Event.transition*,
    Behavioral_Elements.State_Machines.CallEvent.operation,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.CallEvent
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  TimeEvent    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.TimeEvent.duration (
    Foundation.Data_Types.TimeExpression) >

<!ELEMENT Behavioral_Elements.State_Machines.TimeEvent (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.State_Machines.TimeEvent.duration,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.Event.state*,
    Behavioral_Elements.State_Machines.Event.transition*,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.TimeEvent
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ChangeEvent    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.ChangeEvent.changeExpression (
    Foundation.Data_Types.BooleanExpression) >

<!ELEMENT Behavioral_Elements.State_Machines.ChangeEvent (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Behavioral_Elements.State_Machines.ChangeEvent.changeExpression,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.Event.state*,
    Behavioral_Elements.State_Machines.Event.transition*,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.ChangeEvent
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ActivityModel    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.ActivityModel (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.StateMachine.submachineState*,
    Behavioral_Elements.State_Machines.StateMachine.context?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.State_Machines.StateMachine.top,
    Behavioral_Elements.State_Machines.StateMachine.transitions*,
    Behavioral_Elements.State_Machines.ActivityModel.partition*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.ActivityModel
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  Partition    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.Partition.contents (
    Foundation.Core.ModelElement |
    Foundation.Core.Namespace |
    Foundation.Core.GeneralizableElement |
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component |
    Foundation.Core.Association |
    Behavioral_Elements.Collaborations.AssociationRole |
    Foundation.Extension_Mechanisms.Stereotype |
    Model_Management.Package |
    Model_Management.Model |
    Behavioral_Elements.Common_Behavior.Signal |
    Behavioral_Elements.Common_Behavior.Exception |
    Behavioral_Elements.Collaborations.Collaboration |
    Foundation.Core.Feature |
    Foundation.Core.StructuralFeature |
    Foundation.Core.Attribute |
    Foundation.Core.BehavioralFeature |
    Foundation.Core.Operation |
    Foundation.Core.Method |
    Behavioral_Elements.Common_Behavior.Reception |
    Foundation.Core.Parameter |
    Foundation.Core.Constraint |
    Foundation.Core.Dependency |
    Foundation.Auxiliary_Elements.Refinement |
    Foundation.Auxiliary_Elements.Usage |
    Foundation.Auxiliary_Elements.Trace |
    Foundation.Auxiliary_Elements.Binding |
    Foundation.Core.Generalization |
    Foundation.Core.AssociationEnd |
    Behavioral_Elements.Collaborations.AssociationEndRole |
    Behavioral_Elements.Collaborations.Message |
    Behavioral_Elements.Common_Behavior.Request |
    Behavioral_Elements.Common_Behavior.ActionSequence |
    Behavioral_Elements.Common_Behavior.Action |
    Behavioral_Elements.Common_Behavior.CreateAction |
    Behavioral_Elements.Common_Behavior.CallAction |
    Behavioral_Elements.Common_Behavior.LocalInvocation |
    Behavioral_Elements.Common_Behavior.ReturnAction |
    Behavioral_Elements.Common_Behavior.SendAction |
    Behavioral_Elements.Common_Behavior.UninterpretedAction |
    Behavioral_Elements.Common_Behavior.TerminateAction |
    Behavioral_Elements.Common_Behavior.DestroyAction |
    Behavioral_Elements.Common_Behavior.Link |
    Behavioral_Elements.Common_Behavior.LinkObject |
    Behavioral_Elements.Common_Behavior.LinkEnd |
    Behavioral_Elements.Common_Behavior.Instance |
    Behavioral_Elements.Common_Behavior.Object |
    Behavioral_Elements.Common_Behavior.DataValue |
    Behavioral_Elements.Use_Cases.UseCaseInstance |
    Behavioral_Elements.Common_Behavior.AttributeLink |
    Behavioral_Elements.Common_Behavior.MessageInstance |
    Behavioral_Elements.Collaborations.Interaction |
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Foundation.Auxiliary_Elements.Comment)*
    >

<!ELEMENT Behavioral_Elements.State_Machines.Partition.activityModel (
    Behavioral_Elements.State_Machines.ActivityModel) >

<!-- Partitions made ModelElements by Gene Mutschler 8 July 1999 -->
<!ELEMENT Behavioral_Elements.State_Machines.Partition (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.Partition.contents*,
    Behavioral_Elements.State_Machines.Partition.activityModel?,
    Foundation.Core.ModelElement.taggedValue*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.Partition
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ActivityState    -->
<!-- _______________________________________________________________ -->


<!-- Submachinestate.stateMachine association added by Gene Mutschler 24 Jun 99 -->
<!ELEMENT Behavioral_Elements.State_Machines.ActivityState (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.StateVertex.outgoing*,
    Behavioral_Elements.State_Machines.StateVertex.incoming*,
    Behavioral_Elements.State_Machines.StateVertex.parent?,
    Behavioral_Elements.State_Machines.State.deferredEvent*,
    Behavioral_Elements.State_Machines.State.classifierInState*,
    Behavioral_Elements.State_Machines.State.stateMachine?,
    Behavioral_Elements.State_Machines.SubmachineState.stateMachine,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.State_Machines.State.internalTransition*,
    Behavioral_Elements.State_Machines.State.entry?,
    Behavioral_Elements.State_Machines.State.exit?)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.ActivityState
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ActionState    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.ActionState (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.StateVertex.outgoing*,
    Behavioral_Elements.State_Machines.StateVertex.incoming*,
    Behavioral_Elements.State_Machines.StateVertex.parent?,
    Behavioral_Elements.State_Machines.State.deferredEvent*,
    Behavioral_Elements.State_Machines.State.classifierInState*,
    Behavioral_Elements.State_Machines.State.stateMachine?,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.State_Machines.State.internalTransition*,
    Behavioral_Elements.State_Machines.State.entry?,
    Behavioral_Elements.State_Machines.State.exit?)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.ActionState
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ObjectFlowState    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.ObjectFlowState.typeState (
    Behavioral_Elements.State_Machines.ClassifierInState) >

<!ELEMENT Behavioral_Elements.State_Machines.ObjectFlowState (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Behavioral_Elements.State_Machines.StateVertex.outgoing*,
    Behavioral_Elements.State_Machines.StateVertex.incoming*,
    Behavioral_Elements.State_Machines.StateVertex.parent?,
    Behavioral_Elements.State_Machines.State.deferredEvent*,
    Behavioral_Elements.State_Machines.State.classifierInState*,
    Behavioral_Elements.State_Machines.State.stateMachine?,
    Behavioral_Elements.State_Machines.ObjectFlowState.typeState,
    Foundation.Core.ModelElement.taggedValue*,
    Behavioral_Elements.State_Machines.State.internalTransition*,
    Behavioral_Elements.State_Machines.State.entry?,
    Behavioral_Elements.State_Machines.State.exit?)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.ObjectFlowState
    %XMI.element.att;
    %XMI.link.att;
>

<!-- _______________________________________________________________ -->
<!--    -->
<!-- METAMODEL CLASS:  ClassifierInState    -->
<!-- _______________________________________________________________ -->


<!ELEMENT Behavioral_Elements.State_Machines.ClassifierInState.objectFlowState (
    Behavioral_Elements.State_Machines.ObjectFlowState)* >

<!ELEMENT Behavioral_Elements.State_Machines.ClassifierInState.inState (
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.SubmachineState)
    >

<!ELEMENT Behavioral_Elements.State_Machines.ClassifierInState.type (
    Foundation.Core.Classifier |
    Foundation.Core.Interface |
    Foundation.Core.Class |
    Foundation.Core.AssociationClass |
    Foundation.Core.DataType |
    Foundation.Data_Types.Enumeration |
    Foundation.Data_Types.Primitive |
    Foundation.Data_Types.Structure |
    Model_Management.Subsystem |
    Behavioral_Elements.Collaborations.ClassifierRole |
    Behavioral_Elements.Use_Cases.Actor |
    Behavioral_Elements.Use_Cases.UseCase |
    Behavioral_Elements.State_Machines.ClassifierInState |
    Foundation.Auxiliary_Elements.Node |
    Foundation.Auxiliary_Elements.Component)
    >

<!ELEMENT Behavioral_Elements.State_Machines.ClassifierInState (
    Foundation.Core.ModelElement.name,
    Foundation.Core.ModelElement.visibility,
    Foundation.Core.GeneralizableElement.isRoot,
    Foundation.Core.GeneralizableElement.isLeaf,
    Foundation.Core.GeneralizableElement.isAbstract,
    XMI.extension*,
    Foundation.Core.ModelElement.constraint*,
    Foundation.Core.ModelElement.requirement*,
    Foundation.Core.ModelElement.provision*,
    Foundation.Core.ModelElement.stereotype*,
    Foundation.Core.ModelElement.elementReference*,
    Foundation.Core.ModelElement.collaboration*,
    Foundation.Core.ModelElement.partition?,
    Foundation.Core.ModelElement.template?,
	Foundation.Core.ModelElement.templateParameter*,
    Foundation.Core.ModelElement.view*,
    Foundation.Core.ModelElement.presentation*,
    Foundation.Core.ModelElement.namespace?,
    Foundation.Core.ModelElement.behavior*,
    Foundation.Core.ModelElement.binding?,
    Foundation.Core.ModelElement.implementation*,
    Foundation.Core.GeneralizableElement.generalization*,
    Foundation.Core.GeneralizableElement.specialization*,
    Foundation.Core.Classifier.parameter*,
    Foundation.Core.Classifier.structuralFeature*,
    Foundation.Core.Classifier.specification*,
    Foundation.Core.Classifier.associationEnd*,
    Foundation.Core.Classifier.participant*,
    Foundation.Core.Classifier.createAction*,
    Foundation.Core.Classifier.instance*,
    Foundation.Core.Classifier.collaboration*,
    Foundation.Core.Classifier.classifierRole*,
    Foundation.Core.Classifier.realization*,
    Foundation.Core.Classifier.classifierInState*,
    Behavioral_Elements.State_Machines.ClassifierInState.objectFlowState*,
    Behavioral_Elements.State_Machines.ClassifierInState.inState,
    Behavioral_Elements.State_Machines.ClassifierInState.type,
    Foundation.Core.ModelElement.taggedValue*,
    Foundation.Core.Namespace.ownedElement*,
    Foundation.Core.Classifier.feature*)?
    >
<!ATTLIST Behavioral_Elements.State_Machines.ClassifierInState
    %XMI.element.att;
    %XMI.link.att;
>

<!ELEMENT Behavioral_Elements.State_Machines ((
    Behavioral_Elements.State_Machines.StateMachine |
    Behavioral_Elements.State_Machines.Guard |
    Behavioral_Elements.State_Machines.StateVertex |
    Behavioral_Elements.State_Machines.Transition |
    Behavioral_Elements.State_Machines.PseudoState |
    Behavioral_Elements.State_Machines.State |
    Behavioral_Elements.State_Machines.CompositeState |
    Behavioral_Elements.State_Machines.SimpleState |
    Behavioral_Elements.State_Machines.SubmachineState |
    Behavioral_Elements.State_Machines.Event |
    Behavioral_Elements.State_Machines.SignalEvent |
    Behavioral_Elements.State_Machines.CallEvent |
    Behavioral_Elements.State_Machines.TimeEvent |
    Behavioral_Elements.State_Machines.ChangeEvent |
    Behavioral_Elements.State_Machines.ActivityModel |
    Behavioral_Elements.State_Machines.Partition |
    Behavioral_Elements.State_Machines.ActivityState |
    Behavioral_Elements.State_Machines.ActionState |
    Behavioral_Elements.State_Machines.ObjectFlowState |
    Behavioral_Elements.State_Machines.ClassifierInState)*)
    >
<!ATTLIST Behavioral_Elements.State_Machines
    %XMI.element.att;
    %XMI.link.att;
>

<!ELEMENT Behavioral_Elements ((
    Behavioral_Elements.Common_Behavior |
    Behavioral_Elements.Collaborations |
    Behavioral_Elements.Use_Cases |
    Behavioral_Elements.State_Machines)*) >
<!ATTLIST Behavioral_Elements
    %XMI.element.att;
    %XMI.link.att;
>
