ram
Aspect
structuralView
mandatoryAspectParameters
messageViews
instantiations
layout
stateViews
MappableElement
StructuralView
classes
associations
types
Class
associationEnds
attributes
partial
false
abstract
superTypes
AssociationEnd
getType
navigable
true
assoc
myClass
Association
ends
NamedElement
name
Instantiation
mappings
externalAspect
type
Depends
Mapping
getFromElement
getToElement
Operation
abstract
false
visibility
returnType
parameters
static
false
partial
false
Attribute
type
Type
Parameter
type
Visibility
public
public
private
private
protected
protected
package
package
PrimitiveType
ObjectType
RVoid
getName
RBoolean
getName
getInstanceClassName
ReferenceType
Composition
Composition
Aggregation
Aggregation
Regular
Regular
RInt
getName
getInstanceClassName
RChar
getName
getInstanceClassName
RString
getName
getInstanceClassName
RAny
getName
REnum
literals
REnumLiteral
enum
AbstractMessageView
affectedBy
MessageView
specifies
specification
MessageViewReference
references
Interaction
lifelines
messages
properties
formalGates
AspectMessageView
pointcut
advice
Lifeline
represents
localProperties
coveredBy
Message
sendEvent
receiveEvent
signature
assignTo
messageSort
arguments
interaction
returns
selfMessage
false
MessageSort
synchCall
synchCall
createMessage
createMessage
deleteMessage
deleteMessage
reply
reply
MessageEnd
message
MessageOccurrenceSpecification
OccurrenceSpecification
DestructionOccurrenceSpecification
InteractionFragment
covered
container
InteractionOperatorKind
alt
alt
opt
opt
loop
loop
disruptable
disruptable
critical
critical
CombinedFragment
interactionOperator
operands
OriginalBehaviorExecution
ExecutionStatement
specification
InteractionOperand
interactionConstraint
ValueSpecification
StructuralFeatureValue
value
ParameterValueMapping
parameter
value
ParameterValue
parameter
OpaqueExpression
body
language
LiteralSpecification
LiteralString
value
LiteralInteger
value
FragmentContainer
fragments
RCollection
getName
type
RSet
RSequence
Layout
containers
ContainerMap
java.util.Map$Entry
java.util.Map$Entry
key
value
ElementMap
java.util.Map$Entry
java.util.Map$Entry
key
value
LayoutElement
x
y
InstantiationType
Depends
Depends
Extends
Extends
Classifier
operations
ImplementationClass
instanceClassName
TemporaryProperty
StructuralFeature
static
false
Reference
type
Property
lowerBound
0
upperBound
1
referenceType
Regular
TypedElement
getType
Gate
LiteralBoolean
value
ClassifierMapping
operationMappings
attributeMappings
fromElement
toElement
AttributeMapping
fromElement
toElement
OperationMapping
parameterMappings
fromElement
toElement
ParameterMapping
fromElement
toElement
StateView
stateMachines
specifies
StateMachine
start
states
transitions
substitutions
Transition
endState
startState
signature
guard
State
incomings
outgoings
RDouble
getName
getInstanceClassName
RFloat
getName
getInstanceClassName
Constraint
Specification
Substitution
TransitionSubstitution
from
to
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="ram"
    nsURI="http://cs.mcgill.ca/sel/ram/2.1" nsPrefix="ram">
  <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
    <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
    <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
    <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EClass" name="Aspect" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="structuralView" lowerBound="1"
        eType="#//StructuralView" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="mandatoryAspectParameters"
        ordered="false" upperBound="-1" eType="#//MappableElement" changeable="false"
        volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="derivation" value="let mappableElements : Set(MappableElement) = Set{} in mappableElements->union(Class.allInstances()->select(partial = true))->union(Operation.allInstances()->select(partial = true))"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="messageViews" ordered="false"
        upperBound="-1" eType="#//AbstractMessageView" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="instantiations" upperBound="-1"
        eType="#//Instantiation" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="layout" eType="#//Layout"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="stateViews" upperBound="-1"
        eType="#//StateView" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MappableElement" abstract="true" eSuperTypes="#//NamedElement"/>
  <eClassifiers xsi:type="ecore:EClass" name="StructuralView">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="uniqueTypes noTwoClassesWithSameName"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="uniqueTypes" value="self.types->isUnique(name)"/>
      <details key="uniqueTypes$message" value="'There may be only one type of the same type'"/>
      <details key="noTwoClassesWithSameName" value="self.classes->isUnique(name)"/>
      <details key="noTwoClassesWithSameName$message" value="'Name of a class has to be unique'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="classes" upperBound="-1"
        eType="#//Classifier" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="associations" upperBound="-1"
        eType="#//Association" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="types" ordered="false"
        upperBound="-1" eType="#//Type" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//Classifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="notSelfSuperType"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="notSelfSuperType" value="not self.superTypes->includes(self)"/>
      <details key="notSelfSuperType$message" value="'A class may not be it\'s own supertype'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="associationEnds" upperBound="-1"
        eType="#//AssociationEnd" containment="true" eOpposite="#//AssociationEnd/myClass"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
        eType="#//Attribute" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="partial" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
        defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1"
        eType="#//Classifier"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AssociationEnd" eSuperTypes="#//Property">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="uniqueName"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="uniqueName" value="self.myClass.associationEnds->select(associationEnd : AssociationEnd | associationEnd.name &lt;> null and associationEnd.name &lt;> '')->isUnique(name)"/>
      <details key="uniqueName$message" value="'AssociationEnds of a class must be unique'"/>
    </eAnnotations>
    <eOperations name="getType" lowerBound="1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.assoc.ends->select(end : AssociationEnd | end &lt;> self)->at(1).myClass"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="navigable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
        defaultValueLiteral="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="assoc" lowerBound="1" eType="#//Association"
        eOpposite="#//Association/ends"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="myClass" lowerBound="1"
        eType="#//Class" eOpposite="#//Class/associationEnds"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Association" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ends" lowerBound="2" upperBound="2"
        eType="#//AssociationEnd" eOpposite="#//AssociationEnd/assoc"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="validName"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="validName" value="if self.oclIsTypeOf(AssociationEnd) and self.oclAsType(AssociationEnd).navigable = false then true else self.name &lt;> '' endif"/>
      <details key="validName$message" value="'Name of RAM elements may not be empty'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Instantiation">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="aspectCannotMapSelf mandatoryAspectParametersMapped"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="aspectCannotMapSelf" value="not (self.externalAspect = self.Aspect)"/>
      <details key="aspectCannotMapSelf$message" value="'Aspect may not depend on itself'"/>
      <details key="mandatoryAspectParametersMapped" value="if self.type = InstantiationType::Depends then self.externalAspect.mandatoryAspectParameters->forAll(element : MappableElement | self.mappings->exists(fromElement = element)) else true endif"/>
      <details key="mandatoryAspectParametersMapped$message" value="'Partial elements from lower-level aspects have to be mapped'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="mappings" upperBound="-1"
        eType="#//ClassifierMapping" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="externalAspect" lowerBound="1"
        eType="#//Aspect"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//InstantiationType"
        defaultValueLiteral="Depends"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Mapping" abstract="true">
    <eOperations name="getFromElement" ordered="false" lowerBound="1" eType="#//MappableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="null"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getToElement" ordered="false" lowerBound="1" eType="#//MappableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="null"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//NamedElement #//MappableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="messageViewDefined"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="messageViewDefined" value="if visibility = Visibility::public and self.Classifier.oclIsTypeOf(Class) then self.Classifier.oclContainer().oclAsType(StructuralView).Aspect.messageViews->select(messageView : AbstractMessageView | messageView.oclIsTypeOf(MessageView))->one(messageView : AbstractMessageView | messageView.oclAsType(MessageView).specifies = self) else true endif"/>
      <details key="messageViewDefined$message" value="'MessageView missing for public operation'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
        defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" eType="#//Visibility"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="returnType" lowerBound="1"
        eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
        eType="#//Parameter" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
        defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="partial" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
        defaultValueLiteral="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Attribute" eSuperTypes="#//StructuralFeature #//TemporaryProperty #//MappableElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//PrimitiveType"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true" eSuperTypes="#//NamedElement"/>
  <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//TypedElement #//MappableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="notVoid"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="notVoid" value="not self.type.oclIsTypeOf(RVoid)"/>
      <details key="notVoid$message" value="'The type of the parameter may not be void'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="Visibility">
    <eLiterals name="public"/>
    <eLiterals name="private" value="1"/>
    <eLiterals name="protected" value="2"/>
    <eLiterals name="package" value="3"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" abstract="true" eSuperTypes="#//Type #//ImplementationClass"/>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectType" abstract="true" eSuperTypes="#//Type #//MappableElement"/>
  <eClassifiers xsi:type="ecore:EClass" name="RVoid" eSuperTypes="#//Type">
    <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'void'"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RBoolean" eSuperTypes="#//PrimitiveType">
    <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'boolean'"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getInstanceClassName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'java.lang.Boolean'"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="ReferenceType">
    <eLiterals name="Composition"/>
    <eLiterals name="Aggregation" value="1"/>
    <eLiterals name="Regular" value="2"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RInt" eSuperTypes="#//PrimitiveType">
    <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'int'"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getInstanceClassName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'java.lang.Integer'"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RChar" eSuperTypes="#//PrimitiveType">
    <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'char'"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getInstanceClassName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'java.lang.Character'"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RString" eSuperTypes="#//PrimitiveType">
    <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'String'"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getInstanceClassName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'java.lang.String'"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RAny" eSuperTypes="#//Type">
    <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'*'"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="REnum" eSuperTypes="#//PrimitiveType">
    <eStructuralFeatures xsi:type="ecore:EReference" name="literals" lowerBound="1"
        upperBound="-1" eType="#//REnumLiteral" containment="true" eOpposite="#//REnumLiteral/enum"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="REnumLiteral" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="enum" lowerBound="1" eType="#//REnum"
        eOpposite="#//REnum/literals"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AbstractMessageView" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EReference" name="affectedBy" upperBound="-1"
        eType="#//AspectMessageView"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MessageView" eSuperTypes="#//AbstractMessageView">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="specifiesIsFirstMessage specificationDefined isAffectedBy"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="specifiesIsFirstMessage" value="if not self.specification.oclIsUndefined() and self.specification.messages->size() > 0 then self.specifies = self.specification.messages->select(message : Message | not message.sendEvent.oclIsTypeOf(MessageOccurrenceSpecification))->asOrderedSet()->at(1).signature else true endif"/>
      <details key="specifiesIsFirstMessage$message" value="'The first message in the MessageView must match specifies of the MessageView'"/>
      <details key="specificationDefined" value="if not self.specifies.oclIsUndefined() then if not self.specifies.partial then not self.specification.oclIsUndefined() else true endif else true endif"/>
      <details key="specificationDefined$message" value="'A MessageView for a non-partial operation must have a specification'"/>
      <details key="isAffectedBy" value="if self.specification.oclIsUndefined() and self.specifies.partial then self.affectedBy->notEmpty() else true endif"/>
      <details key="isAffectedBy$message" value="'An empty MessageView must have at least one affectedBy'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="specifies" ordered="false"
        lowerBound="1" eType="#//Operation"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
        eType="#//Interaction" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MessageViewReference" eSuperTypes="#//AbstractMessageView">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="isAffectedBy"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="isAffectedBy" value="self.affectedBy->size() > 0"/>
      <details key="isAffectedBy$message" value="'The MessageViewReference must have at least one affectedBy'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="references" ordered="false"
        lowerBound="1" eType="#//MessageView"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Interaction" eSuperTypes="#//FragmentContainer">
    <eStructuralFeatures xsi:type="ecore:EReference" name="lifelines" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Lifeline" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="messages" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Message" containment="true" eOpposite="#//Message/interaction"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
        eType="#//Reference" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="formalGates" upperBound="-1"
        eType="#//Gate" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AspectMessageView" eSuperTypes="#//AbstractMessageView #//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="notAffectedBySelf"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="notAffectedBySelf" value="not self.affectedBy->includes(self)"/>
      <details key="notAffectedBySelf$message" value="'Message View may not be affected by itself'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="pointcut" ordered="false"
        lowerBound="1" eType="#//Operation"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="advice" ordered="false"
        lowerBound="1" eType="#//Interaction" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Lifeline">
    <eStructuralFeatures xsi:type="ecore:EReference" name="represents" ordered="false"
        lowerBound="1" eType="#//TypedElement"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="localProperties" ordered="false"
        upperBound="-1" eType="#//TemporaryProperty" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="coveredBy" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//InteractionFragment" eOpposite="#//InteractionFragment/covered"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Message">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="validSelfMessage argumentsSpecified createMessageIsFirst returnsSpecified boundariesNotCrossed validReturns validAssignTo deleteMessageIsLast validReturnsValue assignToAllowed noCrossingMessages validSignature"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="validSelfMessage" value="if not self.receiveEvent.oclIsUndefined() and self.receiveEvent.oclIsKindOf(MessageOccurrenceSpecification) and not self.sendEvent.oclIsUndefined() and self.sendEvent.oclIsKindOf(MessageOccurrenceSpecification) then let sendEvent : InteractionFragment = self.sendEvent.oclAsType(InteractionFragment) in let receiveEvent : InteractionFragment = self.receiveEvent.oclAsType(InteractionFragment) in if sendEvent.covered->asOrderedSet()->at(1) = receiveEvent.covered->asOrderedSet()->at(1) then sendEvent.container.fragments->indexOf(self.sendEvent) &lt; receiveEvent.container.fragments->indexOf(self.receiveEvent) else true endif else true endif"/>
      <details key="validSelfMessage$message" value="'receiveEvent of a self message may not come before the sendEvent'"/>
      <details key="argumentsSpecified" value="if self.messageSort &lt;> MessageSort::reply and not self.sendEvent.oclIsUndefined() and self.sendEvent.oclIsKindOf(MessageOccurrenceSpecification) and not self.signature.oclIsUndefined() then let container : FragmentContainer = self.sendEvent.oclAsType(MessageOccurrenceSpecification).container in if container.fragments->includes(self.sendEvent) then self.signature.parameters->size() = self.arguments->size() and self.signature.parameters->forAll(currentParameter : Parameter | self.arguments->one(argument : ParameterValueMapping | argument.parameter = currentParameter)) else true endif else true endif"/>
      <details key="argumentsSpecified$message" value="'All arguments of the operation must be specified'"/>
      <details key="createMessageIsFirst" value="if self.messageSort = MessageSort::createMessage then if not self.receiveEvent.oclIsUndefined() and not self.receiveEvent.oclAsType(InteractionFragment).covered->isEmpty() then let event : InteractionFragment = self.receiveEvent.oclAsType(InteractionFragment) in event.covered->asOrderedSet()->at(1).coveredBy->forAll(fragment : InteractionFragment | if event.container.fragments->includes(fragment) then event.container.fragments->indexOf(fragment) >= event.container.fragments->indexOf(event) else true endif) else true endif else true endif"/>
      <details key="createMessageIsFirst$message" value="'The create message occurrence may not come after any other occurrence on this lifeline'"/>
      <details key="returnsSpecified" value="if self.messageSort = MessageSort::reply then if not self.signature.returnType.oclIsTypeOf(RVoid) then not self.returns.oclIsUndefined() else self.returns.oclIsUndefined() endif else true endif"/>
      <details key="returnsSpecified$message" value="'Reply message must have returns specified if return type is not void'"/>
      <details key="boundariesNotCrossed" value="let send : MessageOccurrenceSpecification = self.sendEvent in let receive : MessageOccurrenceSpecification = self.receiveEvent in if send.container.oclIsTypeOf(InteractionOperand) and receive.container.oclIsTypeOf(InteractionOperand) then send.container.oclAsType(InteractionOperand).CombinedFragment.covered->includes(send.covered->asOrderedSet()->at(1)) and receive.container.oclAsType(InteractionOperand).CombinedFragment.covered->includes(receive.covered->asOrderedSet()->at(1)) else true endif"/>
      <details key="boundariesNotCrossed$message" value="'Messages may not cross boundaries of CombinedFragments or their operands'"/>
      <details key="validReturns" value="if not self.returns.oclIsUndefined() then self.messageSort = MessageSort::reply else true endif"/>
      <details key="validReturns$message" value="'Returns may only be specified if message sort is reply message'"/>
      <details key="validAssignTo" value="if not self.assignTo.oclIsUndefined() then let type : Type = if self.assignTo.oclIsTypeOf(Attribute) then self.assignTo.oclAsType(Attribute).type else if self.assignTo.oclIsTypeOf(Reference) then self.assignTo.oclAsType(Reference).type else self.assignTo.oclAsType(AssociationEnd).getType() endif endif in type.oclIsKindOf(self.signature.returnType.oclType()) else true endif"/>
      <details key="validAssignTo$message" value="'Return type of signature operation must match the type of assignTo'"/>
      <details key="deleteMessageIsLast" value="if self.messageSort = MessageSort::deleteMessage then if not self.receiveEvent.oclIsUndefined() and not self.receiveEvent.oclAsType(InteractionFragment).covered->isEmpty() then let event : InteractionFragment = self.receiveEvent.oclAsType(InteractionFragment) in event.covered->asOrderedSet()->at(1).coveredBy->forAll(fragment : InteractionFragment | if event.container.fragments->includes(fragment) then event.container.fragments->indexOf(fragment) &lt;= event.container.fragments->indexOf(event) else true endif) else true endif else true endif"/>
      <details key="deleteMessageIsLast$message" value="'The destruction occurrence may not come before any other occurrence on this lifeline'"/>
      <details key="validReturnsValue" value="if self.returns.oclIsTypeOf(StructuralFeatureValue) then let value : StructuralFeatureValue = self.returns.oclAsType(StructuralFeatureValue).value in if not value.oclIsUndefined() then let type : Type = if value.oclIsTypeOf(Attribute) then value.oclAsType(Attribute).type else if value.oclIsTypeOf(Reference) then value.oclAsType(Reference).type else value.oclAsType(AssociationEnd).getType() endif endif in type.oclIsTypeOf(self.signature.returnType.oclType()) else true endif else if self.returns.oclIsKindOf(LiteralSpecification) then false else true endif endif"/>
      <details key="validReturnsValue$message" value="'Type of return value must match the type of the return'"/>
      <details key="assignToAllowed" value="if self.signature.returnType.oclIsTypeOf(RVoid) then self.assignTo = null else true endif"/>
      <details key="assignToAllowed$message" value="'assignTo may not be specified for operations whose return type is void'"/>
      <details key="noCrossingMessages" value="if not self.receiveEvent.oclIsUndefined() and self.receiveEvent.oclIsKindOf(MessageOccurrenceSpecification) and not self.sendEvent.oclIsUndefined() and self.sendEvent.oclIsKindOf(MessageOccurrenceSpecification) then let container : FragmentContainer = self.receiveEvent.oclAsType(MessageOccurrenceSpecification).container in let indexDifference : Integer = container.fragments->indexOf(self.receiveEvent) - container.fragments->indexOf(self.sendEvent) in indexDifference = 1 else true endif"/>
      <details key="noCrossingMessages$message" value="'Messages may not cross each other, MessageEnds of one message must come one after the other (also, send must come before receive)'"/>
      <details key="validSignature" value="if self.messageSort &lt;> MessageSort::reply and not self.receiveEvent.oclIsUndefined() then let typedElement : TypedElement = self.receiveEvent.oclAsType(InteractionFragment).covered->asOrderedSet()->at(1).represents in if not typedElement.oclIsUndefined() then let type : Type = if typedElement.oclIsTypeOf(Parameter) then typedElement.oclAsType(Parameter).type else if typedElement.oclIsTypeOf(Attribute) then typedElement.oclAsType(Attribute).type else if typedElement.oclIsTypeOf(Reference) then typedElement.oclAsType(Reference).type else typedElement.oclAsType(AssociationEnd).getType() endif endif endif in if type.oclIsKindOf(Classifier) then type.oclAsType(Classifier).operations->includes(self.signature) else true endif else true endif else true endif"/>
      <details key="validSignature$message" value="'Message signature must be an operation of the classifier that is represented by the lifeline of the receive event'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="sendEvent" ordered="false"
        lowerBound="1" eType="#//MessageEnd"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="receiveEvent" ordered="false"
        lowerBound="1" eType="#//MessageEnd"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
        lowerBound="1" eType="#//Operation"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="assignTo" ordered="false"
        eType="#//StructuralFeature"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="messageSort" ordered="false"
        lowerBound="1" eType="#//MessageSort"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" ordered="false"
        upperBound="-1" eType="#//ParameterValueMapping" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="interaction" ordered="false"
        lowerBound="1" eType="#//Interaction" eOpposite="#//Interaction/messages"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="returns" ordered="false"
        eType="#//ValueSpecification" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="selfMessage" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="derivation" value="if self.sendEvent.oclIsKindOf(MessageOccurrenceSpecification) and self.receiveEvent.oclIsKindOf(MessageOccurrenceSpecification) then self.sendEvent.oclAsType(MessageOccurrenceSpecification).covered->asOrderedSet()->at(1) = self.receiveEvent.oclAsType(MessageOccurrenceSpecification).covered->asOrderedSet()->at(1) else false endif"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="MessageSort">
    <eLiterals name="synchCall"/>
    <eLiterals name="createMessage" value="1"/>
    <eLiterals name="deleteMessage" value="2"/>
    <eLiterals name="reply" value="3"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MessageEnd" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EReference" name="message" ordered="false"
        lowerBound="1" eType="#//Message"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MessageOccurrenceSpecification" eSuperTypes="#//OccurrenceSpecification #//MessageEnd"/>
  <eClassifiers xsi:type="ecore:EClass" name="OccurrenceSpecification" eSuperTypes="#//InteractionFragment"/>
  <eClassifiers xsi:type="ecore:EClass" name="DestructionOccurrenceSpecification"
      eSuperTypes="#//MessageOccurrenceSpecification"/>
  <eClassifiers xsi:type="ecore:EClass" name="InteractionFragment" abstract="true">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="validCoveredMultiplicity"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="validCoveredMultiplicity" value="if not self.oclIsTypeOf(CombinedFragment) and covered->notEmpty() then covered->size() = 1 else true endif"/>
      <details key="validCoveredMultiplicity$message" value="'InteractionFragment may only have one Lifeline it covers (except CombinedFragment)'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="covered" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Lifeline" eOpposite="#//Lifeline/coveredBy"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
        lowerBound="1" eType="#//FragmentContainer" eOpposite="#//FragmentContainer/fragments"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="InteractionOperatorKind">
    <eLiterals name="alt"/>
    <eLiterals name="opt" value="1"/>
    <eLiterals name="loop" value="2"/>
    <eLiterals name="disruptable" value="3"/>
    <eLiterals name="critical" value="4"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CombinedFragment" eSuperTypes="#//InteractionFragment">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="validOperands"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="validOperands" value="if self.interactionOperator = InteractionOperatorKind::opt or self.interactionOperator = InteractionOperatorKind::loop or self.interactionOperator = InteractionOperatorKind::critical then self.operands->size() = 1 else true endif"/>
      <details key="validOperands$message" value="'opt and loop fragments may only have one operand'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="interactionOperator" ordered="false"
        lowerBound="1" eType="#//InteractionOperatorKind"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="operands" lowerBound="1"
        upperBound="-1" eType="#//InteractionOperand" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OriginalBehaviorExecution" eSuperTypes="#//InteractionFragment"/>
  <eClassifiers xsi:type="ecore:EClass" name="ExecutionStatement" eSuperTypes="#//InteractionFragment">
    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
        lowerBound="1" eType="#//ValueSpecification" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InteractionOperand" eSuperTypes="#//FragmentContainer">
    <eStructuralFeatures xsi:type="ecore:EReference" name="interactionConstraint"
        ordered="false" eType="#//ValueSpecification" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ValueSpecification" abstract="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="StructuralFeatureValue" eSuperTypes="#//ValueSpecification">
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//StructuralFeature"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ParameterValueMapping">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="validParameterValue"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="validParameterValue" value="if self.value.oclIsTypeOf(StructuralFeatureValue) then let value : StructuralFeatureValue = self.value.oclAsType(StructuralFeatureValue).value in if not value.oclIsUndefined() then let type : Type = if value.oclIsTypeOf(Attribute) then value.oclAsType(Attribute).type else if value.oclIsTypeOf(Reference) then value.oclAsType(Reference).type else value.oclAsType(AssociationEnd).getType() endif endif in type.oclIsTypeOf(self.parameter.type.oclType()) else true endif else if self.value.oclIsKindOf(LiteralSpecification) then false else true endif endif"/>
      <details key="validParameterValue$message" value="'Type of value must match the type of the parameter'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" ordered="false"
        lowerBound="1" eType="#//Parameter"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"
        lowerBound="1" eType="#//ValueSpecification" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ParameterValue" eSuperTypes="#//ValueSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="validValueType"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="validValueType" value="self.parameter.type.oclIsTypeOf(self.ParameterValueMapping.parameter.type.oclType())"/>
      <details key="validValueType$message" value="'Type of value must match the type of the parameter'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" ordered="false"
        lowerBound="1" eType="#//Parameter"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OpaqueExpression" eSuperTypes="#//ValueSpecification">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" ordered="false" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralSpecification" abstract="true"
      eSuperTypes="#//ValueSpecification"/>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralString" eSuperTypes="#//LiteralSpecification">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralInteger" eSuperTypes="#//LiteralSpecification">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FragmentContainer" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EReference" name="fragments" lowerBound="1"
        upperBound="-1" eType="#//InteractionFragment" containment="true" eOpposite="#//InteractionFragment/container"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RCollection" abstract="true" eSuperTypes="#//Type #//ImplementationClass">
    <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="let partial : String = if type.oclIsTypeOf(Class) and type.oclAsType(Class).partial or type.oclIsTypeOf(Operation) and type.oclAsType(Operation).partial then '|' else '' endif in let typeName : String = self.oclType().toString() in let name : String = typeName.substring(typeName.lastIndexOf(':') + 1, typeName.size()) in if type.name.oclIsUndefined() then name else name + '&lt;' + partial + type.name + '>' endif"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//ObjectType"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RSet" eSuperTypes="#//RCollection"/>
  <eClassifiers xsi:type="ecore:EClass" name="RSequence" eSuperTypes="#//RCollection"/>
  <eClassifiers xsi:type="ecore:EClass" name="Layout">
    <eStructuralFeatures xsi:type="ecore:EReference" name="containers" lowerBound="1"
        upperBound="-1" eType="#//ContainerMap" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ContainerMap" instanceClassName="java.util.Map$Entry">
    <eStructuralFeatures xsi:type="ecore:EReference" name="key" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" upperBound="-1"
        eType="#//ElementMap" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ElementMap" instanceClassName="java.util.Map$Entry">
    <eStructuralFeatures xsi:type="ecore:EReference" name="key" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//LayoutElement"
        containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LayoutElement">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="InstantiationType">
    <eLiterals name="Depends"/>
    <eLiterals name="Extends" value="1"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Classifier" abstract="true" eSuperTypes="#//ObjectType">
    <eStructuralFeatures xsi:type="ecore:EReference" name="operations" upperBound="-1"
        eType="#//Operation" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ImplementationClass" eSuperTypes="#//Classifier">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceClassName" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemporaryProperty" abstract="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="StructuralFeature" abstract="true" eSuperTypes="#//TypedElement">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="static" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Reference" eSuperTypes="#//Property #//TemporaryProperty">
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//ObjectType"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Property" abstract="true" eSuperTypes="#//StructuralFeature">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="validUpperBound validLowerBound validMultiplicity"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="validUpperBound" value="self.upperBound > 0 or self.upperBound = -1"/>
      <details key="validUpperBound$message" value="'The upperbound must be greater than zero or -1 representing *'"/>
      <details key="validLowerBound" value="self.lowerBound >= 0"/>
      <details key="validLowerBound$message" value="'The lowerbound must be greater than or equal to zero'"/>
      <details key="validMultiplicity" value="self.lowerBound &lt;= self.upperBound or self.upperBound = -1"/>
      <details key="validMultiplicity$message" value="'The lowerBound must be less than or equal to the upperBound'"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
        defaultValueLiteral="0"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
        defaultValueLiteral="1"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="referenceType" eType="#//ReferenceType"
        defaultValueLiteral="Regular"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" eSuperTypes="#//NamedElement">
    <eOperations name="getType" lowerBound="1" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Gate" eSuperTypes="#//MessageEnd #//NamedElement"/>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralBoolean" eSuperTypes="#//LiteralSpecification">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ClassifierMapping" eSuperTypes="#//Mapping">
    <eStructuralFeatures xsi:type="ecore:EReference" name="operationMappings" upperBound="-1"
        eType="#//OperationMapping" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="attributeMappings" upperBound="-1"
        eType="#//AttributeMapping" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="fromElement" ordered="false"
        lowerBound="1" eType="#//Classifier"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="toElement" ordered="false"
        lowerBound="1" eType="#//Classifier"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AttributeMapping" eSuperTypes="#//Mapping">
    <eStructuralFeatures xsi:type="ecore:EReference" name="fromElement" ordered="false"
        lowerBound="1" eType="#//Attribute"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="toElement" ordered="false"
        lowerBound="1" eType="#//Attribute"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OperationMapping" eSuperTypes="#//Mapping">
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterMappings" upperBound="-1"
        eType="#//ParameterMapping" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="fromElement" ordered="false"
        lowerBound="1" eType="#//Operation"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="toElement" ordered="false"
        lowerBound="1" eType="#//Operation"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ParameterMapping" eSuperTypes="#//Mapping">
    <eStructuralFeatures xsi:type="ecore:EReference" name="fromElement" ordered="false"
        lowerBound="1" eType="#//Parameter"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="toElement" ordered="false"
        lowerBound="1" eType="#//Parameter"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StateView" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachines" lowerBound="1"
        upperBound="-1" eType="#//StateMachine" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="specifies" lowerBound="1"
        eType="#//Classifier"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StateMachine">
    <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1" eType="#//State"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="states" upperBound="-1"
        eType="#//State" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="transitions" upperBound="-1"
        eType="#//Transition" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="substitutions" upperBound="-1"
        eType="#//Substitution" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="endState" lowerBound="1"
        eType="#//State" eOpposite="#//State/incomings"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="startState" lowerBound="1"
        eType="#//State" eOpposite="#//State/outgoings"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" eType="#//Operation"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
        eType="#//Constraint" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="incomings" upperBound="-1"
        eType="#//Transition" eOpposite="#//Transition/endState"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoings" upperBound="-1"
        eType="#//Transition" eOpposite="#//Transition/startState"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RDouble" eSuperTypes="#//PrimitiveType">
    <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'double'"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getInstanceClassName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'java.lang.Double'"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RFloat" eSuperTypes="#//PrimitiveType">
    <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'float'"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getInstanceClassName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'java.lang.Float'"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Constraint">
    <eStructuralFeatures xsi:type="ecore:EReference" name="Specification" ordered="false"
        lowerBound="1" eType="#//ValueSpecification" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Substitution"/>
  <eClassifiers xsi:type="ecore:EClass" name="TransitionSubstitution" eSuperTypes="#//Substitution">
    <eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="#//Transition"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1" upperBound="-1"
        eType="#//Transition"/>
  </eClassifiers>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"ram","nsURI":"http://cs.mcgill.ca/sel/ram/2.1","name":"ram","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Aspect","instanceClass":null,"abstract":false,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MappableElement","instanceClass":null,"abstract":true,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StructuralView","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Class","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssociationEnd","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Association","instanceClass":null,"abstract":false,"id":6,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NamedElement","instanceClass":null,"abstract":true,"id":7,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Instantiation","instanceClass":null,"abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Mapping","instanceClass":null,"abstract":true,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Operation","instanceClass":null,"abstract":false,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Attribute","instanceClass":null,"abstract":false,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Type","instanceClass":null,"abstract":true,"id":12,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Parameter","instanceClass":null,"abstract":false,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"Visibility","instanceClass":null,"id":14,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveType","instanceClass":null,"abstract":true,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ObjectType","instanceClass":null,"abstract":true,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RVoid","instanceClass":null,"abstract":false,"id":17,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RBoolean","instanceClass":null,"abstract":false,"id":18,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"ReferenceType","instanceClass":null,"id":19,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RInt","instanceClass":null,"abstract":false,"id":20,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RChar","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RString","instanceClass":null,"abstract":false,"id":22,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RAny","instanceClass":null,"abstract":false,"id":23,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"REnum","instanceClass":null,"abstract":false,"id":24,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"REnumLiteral","instanceClass":null,"abstract":false,"id":25,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AbstractMessageView","instanceClass":null,"abstract":true,"id":26,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageView","instanceClass":null,"abstract":false,"id":27,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageViewReference","instanceClass":null,"abstract":false,"id":28,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Interaction","instanceClass":null,"abstract":false,"id":29,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AspectMessageView","instanceClass":null,"abstract":false,"id":30,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Lifeline","instanceClass":null,"abstract":false,"id":31,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Message","instanceClass":null,"abstract":false,"id":32,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"MessageSort","instanceClass":null,"id":33,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageEnd","instanceClass":null,"abstract":true,"id":34,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageOccurrenceSpecification","instanceClass":null,"abstract":false,"id":35,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OccurrenceSpecification","instanceClass":null,"abstract":false,"id":36,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DestructionOccurrenceSpecification","instanceClass":null,"abstract":false,"id":37,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InteractionFragment","instanceClass":null,"abstract":true,"id":38,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"InteractionOperatorKind","instanceClass":null,"id":39,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CombinedFragment","instanceClass":null,"abstract":false,"id":40,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OriginalBehaviorExecution","instanceClass":null,"abstract":false,"id":41,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExecutionStatement","instanceClass":null,"abstract":false,"id":42,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InteractionOperand","instanceClass":null,"abstract":false,"id":43,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ValueSpecification","instanceClass":null,"abstract":true,"id":44,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StructuralFeatureValue","instanceClass":null,"abstract":false,"id":45,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ParameterValueMapping","instanceClass":null,"abstract":false,"id":46,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ParameterValue","instanceClass":null,"abstract":false,"id":47,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OpaqueExpression","instanceClass":null,"abstract":false,"id":48,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralSpecification","instanceClass":null,"abstract":true,"id":49,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralString","instanceClass":null,"abstract":false,"id":50,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralInteger","instanceClass":null,"abstract":false,"id":51,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FragmentContainer","instanceClass":null,"abstract":true,"id":52,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RCollection","instanceClass":null,"abstract":true,"id":53,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RSet","instanceClass":null,"abstract":false,"id":54,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RSequence","instanceClass":null,"abstract":false,"id":55,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Layout","instanceClass":null,"abstract":false,"id":56,"interface":false,"eClass":"EClass"},{"instanceTypeName":"java.util.Map$Entry","defaultValue":null,"instanceClassName":"java.util.Map$Entry","name":"ContainerMap","instanceClass":"java.util.Map$Entry","abstract":false,"id":57,"interface":false,"eClass":"EClass"},{"instanceTypeName":"java.util.Map$Entry","defaultValue":null,"instanceClassName":"java.util.Map$Entry","name":"ElementMap","instanceClass":"java.util.Map$Entry","abstract":false,"id":58,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LayoutElement","instanceClass":null,"abstract":false,"id":59,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"InstantiationType","instanceClass":null,"id":60,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Classifier","instanceClass":null,"abstract":true,"id":61,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ImplementationClass","instanceClass":null,"abstract":false,"id":62,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemporaryProperty","instanceClass":null,"abstract":true,"id":63,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StructuralFeature","instanceClass":null,"abstract":true,"id":64,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Reference","instanceClass":null,"abstract":false,"id":65,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Property","instanceClass":null,"abstract":true,"id":66,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypedElement","instanceClass":null,"abstract":true,"id":67,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Gate","instanceClass":null,"abstract":false,"id":68,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralBoolean","instanceClass":null,"abstract":false,"id":69,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ClassifierMapping","instanceClass":null,"abstract":false,"id":70,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AttributeMapping","instanceClass":null,"abstract":false,"id":71,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OperationMapping","instanceClass":null,"abstract":false,"id":72,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ParameterMapping","instanceClass":null,"abstract":false,"id":73,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StateView","instanceClass":null,"abstract":false,"id":74,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StateMachine","instanceClass":null,"abstract":false,"id":75,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Transition","instanceClass":null,"abstract":false,"id":76,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"State","instanceClass":null,"abstract":false,"id":77,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RDouble","instanceClass":null,"abstract":false,"id":78,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RFloat","instanceClass":null,"abstract":false,"id":79,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Constraint","instanceClass":null,"abstract":false,"id":80,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Substitution","instanceClass":null,"abstract":false,"id":81,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TransitionSubstitution","instanceClass":null,"abstract":false,"id":82,"interface":false,"eClass":"EClass"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"structuralView","changeable":true,"resolveProxies":true,"lowerBound":1,"id":83,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"mandatoryAspectParameters","changeable":false,"resolveProxies":true,"lowerBound":0,"id":84,"derived":true},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"messageViews","changeable":true,"resolveProxies":true,"lowerBound":0,"id":85,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"instantiations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":86,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"layout","changeable":true,"resolveProxies":true,"lowerBound":0,"id":87,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"stateViews","changeable":true,"resolveProxies":true,"lowerBound":0,"id":88,"derived":false},{"id":89,"eClass":"EGenericType"},{"id":90,"eClass":"EGenericType"},{"id":91,"eClass":"EGenericType"},{"id":92,"eClass":"EGenericType"},{"id":93,"eClass":"EGenericType"},{"id":94,"eClass":"EGenericType"},{"id":95,"eClass":"EGenericType"},{"id":96,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"classes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":97,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"associations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":98,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"types","changeable":true,"resolveProxies":true,"lowerBound":0,"id":99,"derived":false},{"id":100,"eClass":"EGenericType"},{"id":101,"eClass":"EGenericType"},{"id":102,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"associationEnds","changeable":true,"resolveProxies":true,"lowerBound":0,"id":103,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"attributes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":104,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"partial","changeable":true,"lowerBound":0,"iD":false,"id":105,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"abstract","changeable":true,"lowerBound":0,"iD":false,"id":106,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"superTypes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":107,"derived":false},{"id":108,"eClass":"EGenericType"},{"id":109,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"myClass","changeable":true,"resolveProxies":true,"lowerBound":1,"id":110,"derived":false},{"id":111,"eClass":"EGenericType"},{"id":112,"eClass":"EGenericType"},{"id":113,"eClass":"EGenericType"},{"id":114,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getType","lowerBound":1,"id":115,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":true,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":false,"unique":true,"name":"navigable","changeable":true,"lowerBound":0,"iD":false,"id":116,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"assoc","changeable":true,"resolveProxies":true,"lowerBound":1,"id":117,"derived":false},{"id":118,"eClass":"EGenericType"},{"id":119,"eClass":"EGenericType"},{"id":120,"eClass":"EGenericType"},{"id":121,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":2,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"ends","changeable":true,"resolveProxies":true,"lowerBound":2,"id":122,"derived":false},{"id":123,"eClass":"EGenericType"},{"id":124,"eClass":"EGenericType"},{"id":125,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":1,"iD":false,"id":126,"derived":false},{"id":127,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"mappings","changeable":true,"resolveProxies":true,"lowerBound":0,"id":128,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"externalAspect","changeable":true,"resolveProxies":true,"lowerBound":1,"id":129,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"Depends","unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"lowerBound":1,"iD":false,"id":130,"derived":false},{"id":131,"eClass":"EGenericType"},{"id":132,"eClass":"EGenericType"},{"id":133,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getFromElement","lowerBound":1,"id":134,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getToElement","lowerBound":1,"id":135,"many":false,"required":true,"eClass":"EOperation"},{"id":136,"eClass":"EGenericType"},{"id":137,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"abstract","changeable":true,"lowerBound":0,"iD":false,"id":138,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"visibility","changeable":true,"lowerBound":0,"iD":false,"id":139,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"returnType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":140,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"parameters","changeable":true,"resolveProxies":true,"lowerBound":0,"id":141,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"static","changeable":true,"lowerBound":0,"iD":false,"id":142,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"partial","changeable":true,"lowerBound":0,"iD":false,"id":143,"derived":false},{"id":144,"eClass":"EGenericType"},{"id":145,"eClass":"EGenericType"},{"id":146,"eClass":"EGenericType"},{"id":147,"eClass":"EGenericType"},{"id":148,"eClass":"EGenericType"},{"id":149,"eClass":"EGenericType"},{"id":150,"eClass":"EGenericType"},{"id":151,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":1,"id":152,"derived":false},{"id":153,"eClass":"EGenericType"},{"id":154,"eClass":"EGenericType"},{"id":155,"eClass":"EGenericType"},{"id":156,"eClass":"EGenericType"},{"id":157,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":1,"id":158,"derived":false},{"id":159,"eClass":"EGenericType"},{"id":160,"eClass":"EGenericType"},{"id":161,"eClass":"EGenericType"},{"name":"public","id":162,"value":0,"literal":"public","eClass":"EEnumLiteral"},{"name":"private","id":163,"value":1,"literal":"private","eClass":"EEnumLiteral"},{"name":"protected","id":164,"value":2,"literal":"protected","eClass":"EEnumLiteral"},{"name":"package","id":165,"value":3,"literal":"package","eClass":"EEnumLiteral"},{"id":166,"eClass":"EGenericType"},{"id":167,"eClass":"EGenericType"},{"id":168,"eClass":"EGenericType"},{"id":169,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getName","lowerBound":1,"id":170,"many":false,"required":true,"eClass":"EOperation"},{"id":171,"eClass":"EGenericType"},{"id":172,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getName","lowerBound":1,"id":173,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getInstanceClassName","lowerBound":1,"id":174,"many":false,"required":true,"eClass":"EOperation"},{"id":175,"eClass":"EGenericType"},{"id":176,"eClass":"EGenericType"},{"id":177,"eClass":"EGenericType"},{"name":"Composition","id":178,"value":0,"literal":"Composition","eClass":"EEnumLiteral"},{"name":"Aggregation","id":179,"value":1,"literal":"Aggregation","eClass":"EEnumLiteral"},{"name":"Regular","id":180,"value":2,"literal":"Regular","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"unique":true,"name":"getName","lowerBound":1,"id":181,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getInstanceClassName","lowerBound":1,"id":182,"many":false,"required":true,"eClass":"EOperation"},{"id":183,"eClass":"EGenericType"},{"id":184,"eClass":"EGenericType"},{"id":185,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getName","lowerBound":1,"id":186,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getInstanceClassName","lowerBound":1,"id":187,"many":false,"required":true,"eClass":"EOperation"},{"id":188,"eClass":"EGenericType"},{"id":189,"eClass":"EGenericType"},{"id":190,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getName","lowerBound":1,"id":191,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getInstanceClassName","lowerBound":1,"id":192,"many":false,"required":true,"eClass":"EOperation"},{"id":193,"eClass":"EGenericType"},{"id":194,"eClass":"EGenericType"},{"id":195,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getName","lowerBound":1,"id":196,"many":false,"required":true,"eClass":"EOperation"},{"id":197,"eClass":"EGenericType"},{"id":198,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"literals","changeable":true,"resolveProxies":true,"lowerBound":1,"id":199,"derived":false},{"id":200,"eClass":"EGenericType"},{"id":201,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"enum","changeable":true,"resolveProxies":true,"lowerBound":1,"id":202,"derived":false},{"id":203,"eClass":"EGenericType"},{"id":204,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"affectedBy","changeable":true,"resolveProxies":true,"lowerBound":0,"id":205,"derived":false},{"id":206,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"specifies","changeable":true,"resolveProxies":true,"lowerBound":1,"id":207,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"specification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":208,"derived":false},{"id":209,"eClass":"EGenericType"},{"id":210,"eClass":"EGenericType"},{"id":211,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"references","changeable":true,"resolveProxies":true,"lowerBound":1,"id":212,"derived":false},{"id":213,"eClass":"EGenericType"},{"id":214,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"lifelines","changeable":true,"resolveProxies":true,"lowerBound":1,"id":215,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"messages","changeable":true,"resolveProxies":true,"lowerBound":1,"id":216,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"properties","changeable":true,"resolveProxies":true,"lowerBound":0,"id":217,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"formalGates","changeable":true,"resolveProxies":true,"lowerBound":0,"id":218,"derived":false},{"id":219,"eClass":"EGenericType"},{"id":220,"eClass":"EGenericType"},{"id":221,"eClass":"EGenericType"},{"container":true,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"interaction","changeable":true,"resolveProxies":true,"lowerBound":1,"id":222,"derived":false},{"id":223,"eClass":"EGenericType"},{"id":224,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"pointcut","changeable":true,"resolveProxies":true,"lowerBound":1,"id":225,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"advice","changeable":true,"resolveProxies":true,"lowerBound":1,"id":226,"derived":false},{"id":227,"eClass":"EGenericType"},{"id":228,"eClass":"EGenericType"},{"id":229,"eClass":"EGenericType"},{"id":230,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"represents","changeable":true,"resolveProxies":true,"lowerBound":1,"id":231,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"localProperties","changeable":true,"resolveProxies":true,"lowerBound":0,"id":232,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"coveredBy","changeable":true,"resolveProxies":true,"lowerBound":1,"id":233,"derived":false},{"id":234,"eClass":"EGenericType"},{"id":235,"eClass":"EGenericType"},{"id":236,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"covered","changeable":true,"resolveProxies":true,"lowerBound":1,"id":237,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"sendEvent","changeable":true,"resolveProxies":true,"lowerBound":1,"id":238,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"receiveEvent","changeable":true,"resolveProxies":true,"lowerBound":1,"id":239,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"signature","changeable":true,"resolveProxies":true,"lowerBound":1,"id":240,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"assignTo","changeable":true,"resolveProxies":true,"lowerBound":0,"id":241,"derived":false},{"ordered":false,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"messageSort","changeable":true,"lowerBound":1,"iD":false,"id":242,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"arguments","changeable":true,"resolveProxies":true,"lowerBound":0,"id":243,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"returns","changeable":true,"resolveProxies":true,"lowerBound":0,"id":244,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":true,"unique":true,"name":"selfMessage","changeable":false,"lowerBound":1,"iD":false,"id":245,"derived":true},{"id":246,"eClass":"EGenericType"},{"id":247,"eClass":"EGenericType"},{"id":248,"eClass":"EGenericType"},{"id":249,"eClass":"EGenericType"},{"id":250,"eClass":"EGenericType"},{"id":251,"eClass":"EGenericType"},{"id":252,"eClass":"EGenericType"},{"id":253,"eClass":"EGenericType"},{"id":254,"eClass":"EGenericType"},{"name":"synchCall","id":255,"value":0,"literal":"synchCall","eClass":"EEnumLiteral"},{"name":"createMessage","id":256,"value":1,"literal":"createMessage","eClass":"EEnumLiteral"},{"name":"deleteMessage","id":257,"value":2,"literal":"deleteMessage","eClass":"EEnumLiteral"},{"name":"reply","id":258,"value":3,"literal":"reply","eClass":"EEnumLiteral"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"message","changeable":true,"resolveProxies":true,"lowerBound":1,"id":259,"derived":false},{"id":260,"eClass":"EGenericType"},{"id":261,"eClass":"EGenericType"},{"id":262,"eClass":"EGenericType"},{"id":263,"eClass":"EGenericType"},{"id":264,"eClass":"EGenericType"},{"container":true,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"container","changeable":true,"resolveProxies":true,"lowerBound":1,"id":265,"derived":false},{"id":266,"eClass":"EGenericType"},{"id":267,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"fragments","changeable":true,"resolveProxies":true,"lowerBound":1,"id":268,"derived":false},{"name":"alt","id":269,"value":0,"literal":"alt","eClass":"EEnumLiteral"},{"name":"opt","id":270,"value":1,"literal":"opt","eClass":"EEnumLiteral"},{"name":"loop","id":271,"value":2,"literal":"loop","eClass":"EEnumLiteral"},{"name":"disruptable","id":272,"value":3,"literal":"disruptable","eClass":"EEnumLiteral"},{"name":"critical","id":273,"value":4,"literal":"critical","eClass":"EEnumLiteral"},{"ordered":false,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"interactionOperator","changeable":true,"lowerBound":1,"iD":false,"id":274,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"operands","changeable":true,"resolveProxies":true,"lowerBound":1,"id":275,"derived":false},{"id":276,"eClass":"EGenericType"},{"id":277,"eClass":"EGenericType"},{"id":278,"eClass":"EGenericType"},{"id":279,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"specification","changeable":true,"resolveProxies":true,"lowerBound":1,"id":280,"derived":false},{"id":281,"eClass":"EGenericType"},{"id":282,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"interactionConstraint","changeable":true,"resolveProxies":true,"lowerBound":0,"id":283,"derived":false},{"id":284,"eClass":"EGenericType"},{"id":285,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"resolveProxies":true,"lowerBound":1,"id":286,"derived":false},{"id":287,"eClass":"EGenericType"},{"id":288,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"parameter","changeable":true,"resolveProxies":true,"lowerBound":1,"id":289,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"resolveProxies":true,"lowerBound":1,"id":290,"derived":false},{"id":291,"eClass":"EGenericType"},{"id":292,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"parameter","changeable":true,"resolveProxies":true,"lowerBound":1,"id":293,"derived":false},{"id":294,"eClass":"EGenericType"},{"id":295,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"body","changeable":true,"lowerBound":1,"iD":false,"id":296,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"language","changeable":true,"lowerBound":1,"iD":false,"id":297,"derived":false},{"id":298,"eClass":"EGenericType"},{"id":299,"eClass":"EGenericType"},{"id":300,"eClass":"EGenericType"},{"id":301,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":1,"iD":false,"id":302,"derived":false},{"id":303,"eClass":"EGenericType"},{"id":304,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":1,"iD":false,"id":305,"derived":false},{"id":306,"eClass":"EGenericType"},{"id":307,"eClass":"EGenericType"},{"id":308,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getName","lowerBound":1,"id":309,"many":false,"required":true,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":1,"id":310,"derived":false},{"id":311,"eClass":"EGenericType"},{"id":312,"eClass":"EGenericType"},{"id":313,"eClass":"EGenericType"},{"id":314,"eClass":"EGenericType"},{"id":315,"eClass":"EGenericType"},{"id":316,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"containers","changeable":true,"resolveProxies":true,"lowerBound":1,"id":317,"derived":false},{"id":318,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"key","changeable":true,"resolveProxies":true,"lowerBound":1,"id":319,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"resolveProxies":true,"lowerBound":1,"id":320,"derived":false},{"id":321,"eClass":"EGenericType"},{"id":322,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"key","changeable":true,"resolveProxies":true,"lowerBound":1,"id":323,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"resolveProxies":true,"lowerBound":1,"id":324,"derived":false},{"id":325,"eClass":"EGenericType"},{"id":326,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"x","changeable":true,"lowerBound":1,"iD":false,"id":327,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"y","changeable":true,"lowerBound":1,"iD":false,"id":328,"derived":false},{"id":329,"eClass":"EGenericType"},{"id":330,"eClass":"EGenericType"},{"name":"Depends","id":331,"value":0,"literal":"Depends","eClass":"EEnumLiteral"},{"name":"Extends","id":332,"value":1,"literal":"Extends","eClass":"EEnumLiteral"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"operations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":333,"derived":false},{"id":334,"eClass":"EGenericType"},{"id":335,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"instanceClassName","changeable":true,"lowerBound":1,"iD":false,"id":336,"derived":false},{"id":337,"eClass":"EGenericType"},{"id":338,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"static","changeable":true,"lowerBound":1,"iD":false,"id":339,"derived":false},{"id":340,"eClass":"EGenericType"},{"id":341,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":1,"id":342,"derived":false},{"id":343,"eClass":"EGenericType"},{"id":344,"eClass":"EGenericType"},{"id":345,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"lowerBound","changeable":true,"lowerBound":0,"iD":false,"id":346,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"1","unsettable":false,"transient":false,"unique":true,"name":"upperBound","changeable":true,"lowerBound":0,"iD":false,"id":347,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"Regular","unsettable":false,"transient":false,"unique":true,"name":"referenceType","changeable":true,"lowerBound":0,"iD":false,"id":348,"derived":false},{"id":349,"eClass":"EGenericType"},{"id":350,"eClass":"EGenericType"},{"id":351,"eClass":"EGenericType"},{"id":352,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getType","lowerBound":1,"id":353,"many":false,"required":true,"eClass":"EOperation"},{"id":354,"eClass":"EGenericType"},{"id":355,"eClass":"EGenericType"},{"id":356,"eClass":"EGenericType"},{"id":357,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":1,"iD":false,"id":358,"derived":false},{"id":359,"eClass":"EGenericType"},{"id":360,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"operationMappings","changeable":true,"resolveProxies":true,"lowerBound":0,"id":361,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"attributeMappings","changeable":true,"resolveProxies":true,"lowerBound":0,"id":362,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"fromElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":363,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"toElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":364,"derived":false},{"id":365,"eClass":"EGenericType"},{"id":366,"eClass":"EGenericType"},{"id":367,"eClass":"EGenericType"},{"id":368,"eClass":"EGenericType"},{"id":369,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"fromElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":370,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"toElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":371,"derived":false},{"id":372,"eClass":"EGenericType"},{"id":373,"eClass":"EGenericType"},{"id":374,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"parameterMappings","changeable":true,"resolveProxies":true,"lowerBound":0,"id":375,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"fromElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":376,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"toElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":377,"derived":false},{"id":378,"eClass":"EGenericType"},{"id":379,"eClass":"EGenericType"},{"id":380,"eClass":"EGenericType"},{"id":381,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"fromElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":382,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"toElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":383,"derived":false},{"id":384,"eClass":"EGenericType"},{"id":385,"eClass":"EGenericType"},{"id":386,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"stateMachines","changeable":true,"resolveProxies":true,"lowerBound":1,"id":387,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"specifies","changeable":true,"resolveProxies":true,"lowerBound":1,"id":388,"derived":false},{"id":389,"eClass":"EGenericType"},{"id":390,"eClass":"EGenericType"},{"id":391,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"start","changeable":true,"resolveProxies":true,"lowerBound":1,"id":392,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"states","changeable":true,"resolveProxies":true,"lowerBound":0,"id":393,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"transitions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":394,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"substitutions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":395,"derived":false},{"id":396,"eClass":"EGenericType"},{"id":397,"eClass":"EGenericType"},{"id":398,"eClass":"EGenericType"},{"id":399,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"endState","changeable":true,"resolveProxies":true,"lowerBound":1,"id":400,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"startState","changeable":true,"resolveProxies":true,"lowerBound":1,"id":401,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"signature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":402,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"guard","changeable":true,"resolveProxies":true,"lowerBound":0,"id":403,"derived":false},{"id":404,"eClass":"EGenericType"},{"id":405,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"incomings","changeable":true,"resolveProxies":true,"lowerBound":0,"id":406,"derived":false},{"id":407,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"outgoings","changeable":true,"resolveProxies":true,"lowerBound":0,"id":408,"derived":false},{"id":409,"eClass":"EGenericType"},{"id":410,"eClass":"EGenericType"},{"id":411,"eClass":"EGenericType"},{"id":412,"eClass":"EGenericType"},{"id":413,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getName","lowerBound":1,"id":414,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getInstanceClassName","lowerBound":1,"id":415,"many":false,"required":true,"eClass":"EOperation"},{"id":416,"eClass":"EGenericType"},{"id":417,"eClass":"EGenericType"},{"id":418,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getName","lowerBound":1,"id":419,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getInstanceClassName","lowerBound":1,"id":420,"many":false,"required":true,"eClass":"EOperation"},{"id":421,"eClass":"EGenericType"},{"id":422,"eClass":"EGenericType"},{"id":423,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"Specification","changeable":true,"resolveProxies":true,"lowerBound":1,"id":424,"derived":false},{"id":425,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"from","changeable":true,"resolveProxies":true,"lowerBound":1,"id":426,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"to","changeable":true,"resolveProxies":true,"lowerBound":1,"id":427,"derived":false},{"id":428,"eClass":"EGenericType"},{"id":429,"eClass":"EGenericType"},{"id":430,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":0,"target":4},{"source":0,"target":5},{"source":0,"target":6},{"source":0,"target":7},{"source":0,"target":8},{"source":0,"target":9},{"source":0,"target":10},{"source":0,"target":11},{"source":0,"target":12},{"source":0,"target":13},{"source":0,"target":14},{"source":0,"target":15},{"source":0,"target":16},{"source":0,"target":17},{"source":0,"target":18},{"source":0,"target":19},{"source":0,"target":20},{"source":0,"target":21},{"source":0,"target":22},{"source":0,"target":23},{"source":0,"target":24},{"source":0,"target":25},{"source":0,"target":26},{"source":0,"target":27},{"source":0,"target":28},{"source":0,"target":29},{"source":0,"target":30},{"source":0,"target":31},{"source":0,"target":32},{"source":0,"target":33},{"source":0,"target":34},{"source":0,"target":35},{"source":0,"target":36},{"source":0,"target":37},{"source":0,"target":38},{"source":0,"target":39},{"source":0,"target":40},{"source":0,"target":41},{"source":0,"target":42},{"source":0,"target":43},{"source":0,"target":44},{"source":0,"target":45},{"source":0,"target":46},{"source":0,"target":47},{"source":0,"target":48},{"source":0,"target":49},{"source":0,"target":50},{"source":0,"target":51},{"source":0,"target":52},{"source":0,"target":53},{"source":0,"target":54},{"source":0,"target":55},{"source":0,"target":56},{"source":0,"target":57},{"source":0,"target":58},{"source":0,"target":59},{"source":0,"target":60},{"source":0,"target":61},{"source":0,"target":62},{"source":0,"target":63},{"source":0,"target":64},{"source":0,"target":65},{"source":0,"target":66},{"source":0,"target":67},{"source":0,"target":68},{"source":0,"target":69},{"source":0,"target":70},{"source":0,"target":71},{"source":0,"target":72},{"source":0,"target":73},{"source":0,"target":74},{"source":0,"target":75},{"source":0,"target":76},{"source":0,"target":77},{"source":0,"target":78},{"source":0,"target":79},{"source":0,"target":80},{"source":0,"target":81},{"source":0,"target":82},{"source":1,"target":0},{"source":1,"target":7},{"source":1,"target":83},{"source":1,"target":84},{"source":1,"target":85},{"source":1,"target":86},{"source":1,"target":87},{"source":1,"target":88},{"source":1,"target":89},{"source":83,"target":3},{"source":83,"target":90},{"source":83,"target":1},{"source":90,"target":3},{"source":84,"target":2},{"source":84,"target":91},{"source":84,"target":1},{"source":91,"target":2},{"source":85,"target":26},{"source":85,"target":92},{"source":85,"target":1},{"source":92,"target":26},{"source":86,"target":8},{"source":86,"target":93},{"source":86,"target":1},{"source":93,"target":8},{"source":87,"target":56},{"source":87,"target":94},{"source":87,"target":1},{"source":94,"target":56},{"source":88,"target":74},{"source":88,"target":95},{"source":88,"target":1},{"source":95,"target":74},{"source":89,"target":7},{"source":2,"target":0},{"source":2,"target":7},{"source":2,"target":96},{"source":96,"target":7},{"source":3,"target":0},{"source":3,"target":97},{"source":3,"target":98},{"source":3,"target":99},{"source":97,"target":61},{"source":97,"target":100},{"source":97,"target":3},{"source":100,"target":61},{"source":98,"target":6},{"source":98,"target":101},{"source":98,"target":3},{"source":101,"target":6},{"source":99,"target":12},{"source":99,"target":102},{"source":99,"target":3},{"source":102,"target":12},{"source":4,"target":0},{"source":4,"target":61},{"source":4,"target":103},{"source":4,"target":104},{"source":4,"target":105},{"source":4,"target":106},{"source":4,"target":107},{"source":4,"target":108},{"source":103,"target":5},{"source":103,"target":109},{"source":103,"target":4},{"source":103,"target":110},{"source":109,"target":5},{"source":104,"target":11},{"source":104,"target":111},{"source":104,"target":4},{"source":111,"target":11},{"source":105,"target":112},{"source":105,"target":4},{"source":106,"target":113},{"source":106,"target":4},{"source":107,"target":61},{"source":107,"target":114},{"source":107,"target":4},{"source":114,"target":61},{"source":108,"target":61},{"source":5,"target":0},{"source":5,"target":66},{"source":5,"target":115},{"source":5,"target":116},{"source":5,"target":117},{"source":5,"target":110},{"source":5,"target":118},{"source":115,"target":12},{"source":115,"target":119},{"source":115,"target":5},{"source":119,"target":12},{"source":116,"target":120},{"source":116,"target":5},{"source":117,"target":6},{"source":117,"target":121},{"source":117,"target":5},{"source":117,"target":122},{"source":121,"target":6},{"source":110,"target":4},{"source":110,"target":123},{"source":110,"target":5},{"source":110,"target":103},{"source":123,"target":4},{"source":118,"target":66},{"source":6,"target":0},{"source":6,"target":7},{"source":6,"target":122},{"source":6,"target":124},{"source":122,"target":5},{"source":122,"target":125},{"source":122,"target":6},{"source":122,"target":117},{"source":125,"target":5},{"source":124,"target":7},{"source":7,"target":0},{"source":7,"target":126},{"source":126,"target":127},{"source":126,"target":7},{"source":8,"target":0},{"source":8,"target":128},{"source":8,"target":129},{"source":8,"target":130},{"source":128,"target":70},{"source":128,"target":131},{"source":128,"target":8},{"source":131,"target":70},{"source":129,"target":1},{"source":129,"target":132},{"source":129,"target":8},{"source":132,"target":1},{"source":130,"target":60},{"source":130,"target":133},{"source":130,"target":8},{"source":133,"target":60},{"source":9,"target":0},{"source":9,"target":134},{"source":9,"target":135},{"source":134,"target":2},{"source":134,"target":136},{"source":134,"target":9},{"source":136,"target":2},{"source":135,"target":2},{"source":135,"target":137},{"source":135,"target":9},{"source":137,"target":2},{"source":10,"target":0},{"source":10,"target":7},{"source":10,"target":2},{"source":10,"target":138},{"source":10,"target":139},{"source":10,"target":140},{"source":10,"target":141},{"source":10,"target":142},{"source":10,"target":143},{"source":10,"target":144},{"source":10,"target":145},{"source":138,"target":146},{"source":138,"target":10},{"source":139,"target":14},{"source":139,"target":147},{"source":139,"target":10},{"source":147,"target":14},{"source":140,"target":12},{"source":140,"target":148},{"source":140,"target":10},{"source":148,"target":12},{"source":141,"target":13},{"source":141,"target":149},{"source":141,"target":10},{"source":149,"target":13},{"source":142,"target":150},{"source":142,"target":10},{"source":143,"target":151},{"source":143,"target":10},{"source":144,"target":7},{"source":145,"target":2},{"source":11,"target":0},{"source":11,"target":64},{"source":11,"target":63},{"source":11,"target":2},{"source":11,"target":152},{"source":11,"target":153},{"source":11,"target":154},{"source":11,"target":155},{"source":152,"target":15},{"source":152,"target":156},{"source":152,"target":11},{"source":156,"target":15},{"source":153,"target":64},{"source":154,"target":63},{"source":155,"target":2},{"source":12,"target":0},{"source":12,"target":7},{"source":12,"target":157},{"source":157,"target":7},{"source":13,"target":0},{"source":13,"target":67},{"source":13,"target":2},{"source":13,"target":158},{"source":13,"target":159},{"source":13,"target":160},{"source":158,"target":12},{"source":158,"target":161},{"source":158,"target":13},{"source":161,"target":12},{"source":159,"target":67},{"source":160,"target":2},{"source":14,"target":0},{"source":14,"target":162},{"source":14,"target":163},{"source":14,"target":164},{"source":14,"target":165},{"source":162,"target":14},{"source":163,"target":14},{"source":164,"target":14},{"source":165,"target":14},{"source":15,"target":0},{"source":15,"target":12},{"source":15,"target":62},{"source":15,"target":166},{"source":15,"target":167},{"source":166,"target":12},{"source":167,"target":62},{"source":16,"target":0},{"source":16,"target":12},{"source":16,"target":2},{"source":16,"target":168},{"source":16,"target":169},{"source":168,"target":12},{"source":169,"target":2},{"source":17,"target":0},{"source":17,"target":12},{"source":17,"target":170},{"source":17,"target":171},{"source":170,"target":172},{"source":170,"target":17},{"source":171,"target":12},{"source":18,"target":0},{"source":18,"target":15},{"source":18,"target":173},{"source":18,"target":174},{"source":18,"target":175},{"source":173,"target":176},{"source":173,"target":18},{"source":174,"target":177},{"source":174,"target":18},{"source":175,"target":15},{"source":19,"target":0},{"source":19,"target":178},{"source":19,"target":179},{"source":19,"target":180},{"source":178,"target":19},{"source":179,"target":19},{"source":180,"target":19},{"source":20,"target":0},{"source":20,"target":15},{"source":20,"target":181},{"source":20,"target":182},{"source":20,"target":183},{"source":181,"target":184},{"source":181,"target":20},{"source":182,"target":185},{"source":182,"target":20},{"source":183,"target":15},{"source":21,"target":0},{"source":21,"target":15},{"source":21,"target":186},{"source":21,"target":187},{"source":21,"target":188},{"source":186,"target":189},{"source":186,"target":21},{"source":187,"target":190},{"source":187,"target":21},{"source":188,"target":15},{"source":22,"target":0},{"source":22,"target":15},{"source":22,"target":191},{"source":22,"target":192},{"source":22,"target":193},{"source":191,"target":194},{"source":191,"target":22},{"source":192,"target":195},{"source":192,"target":22},{"source":193,"target":15},{"source":23,"target":0},{"source":23,"target":12},{"source":23,"target":196},{"source":23,"target":197},{"source":196,"target":198},{"source":196,"target":23},{"source":197,"target":12},{"source":24,"target":0},{"source":24,"target":15},{"source":24,"target":199},{"source":24,"target":200},{"source":199,"target":25},{"source":199,"target":201},{"source":199,"target":24},{"source":199,"target":202},{"source":201,"target":25},{"source":200,"target":15},{"source":25,"target":0},{"source":25,"target":7},{"source":25,"target":202},{"source":25,"target":203},{"source":202,"target":24},{"source":202,"target":204},{"source":202,"target":25},{"source":202,"target":199},{"source":204,"target":24},{"source":203,"target":7},{"source":26,"target":0},{"source":26,"target":205},{"source":205,"target":30},{"source":205,"target":206},{"source":205,"target":26},{"source":206,"target":30},{"source":27,"target":0},{"source":27,"target":26},{"source":27,"target":207},{"source":27,"target":208},{"source":27,"target":209},{"source":207,"target":10},{"source":207,"target":210},{"source":207,"target":27},{"source":210,"target":10},{"source":208,"target":29},{"source":208,"target":211},{"source":208,"target":27},{"source":211,"target":29},{"source":209,"target":26},{"source":28,"target":0},{"source":28,"target":26},{"source":28,"target":212},{"source":28,"target":213},{"source":212,"target":27},{"source":212,"target":214},{"source":212,"target":28},{"source":214,"target":27},{"source":213,"target":26},{"source":29,"target":0},{"source":29,"target":52},{"source":29,"target":215},{"source":29,"target":216},{"source":29,"target":217},{"source":29,"target":218},{"source":29,"target":219},{"source":215,"target":31},{"source":215,"target":220},{"source":215,"target":29},{"source":220,"target":31},{"source":216,"target":32},{"source":216,"target":221},{"source":216,"target":29},{"source":216,"target":222},{"source":221,"target":32},{"source":217,"target":65},{"source":217,"target":223},{"source":217,"target":29},{"source":223,"target":65},{"source":218,"target":68},{"source":218,"target":224},{"source":218,"target":29},{"source":224,"target":68},{"source":219,"target":52},{"source":30,"target":0},{"source":30,"target":26},{"source":30,"target":7},{"source":30,"target":225},{"source":30,"target":226},{"source":30,"target":227},{"source":30,"target":228},{"source":225,"target":10},{"source":225,"target":229},{"source":225,"target":30},{"source":229,"target":10},{"source":226,"target":29},{"source":226,"target":230},{"source":226,"target":30},{"source":230,"target":29},{"source":227,"target":26},{"source":228,"target":7},{"source":31,"target":0},{"source":31,"target":231},{"source":31,"target":232},{"source":31,"target":233},{"source":231,"target":67},{"source":231,"target":234},{"source":231,"target":31},{"source":234,"target":67},{"source":232,"target":63},{"source":232,"target":235},{"source":232,"target":31},{"source":235,"target":63},{"source":233,"target":38},{"source":233,"target":236},{"source":233,"target":31},{"source":233,"target":237},{"source":236,"target":38},{"source":32,"target":0},{"source":32,"target":238},{"source":32,"target":239},{"source":32,"target":240},{"source":32,"target":241},{"source":32,"target":242},{"source":32,"target":243},{"source":32,"target":222},{"source":32,"target":244},{"source":32,"target":245},{"source":238,"target":34},{"source":238,"target":246},{"source":238,"target":32},{"source":246,"target":34},{"source":239,"target":34},{"source":239,"target":247},{"source":239,"target":32},{"source":247,"target":34},{"source":240,"target":10},{"source":240,"target":248},{"source":240,"target":32},{"source":248,"target":10},{"source":241,"target":64},{"source":241,"target":249},{"source":241,"target":32},{"source":249,"target":64},{"source":242,"target":33},{"source":242,"target":250},{"source":242,"target":32},{"source":250,"target":33},{"source":243,"target":46},{"source":243,"target":251},{"source":243,"target":32},{"source":251,"target":46},{"source":222,"target":29},{"source":222,"target":252},{"source":222,"target":32},{"source":222,"target":216},{"source":252,"target":29},{"source":244,"target":44},{"source":244,"target":253},{"source":244,"target":32},{"source":253,"target":44},{"source":245,"target":254},{"source":245,"target":32},{"source":33,"target":0},{"source":33,"target":255},{"source":33,"target":256},{"source":33,"target":257},{"source":33,"target":258},{"source":255,"target":33},{"source":256,"target":33},{"source":257,"target":33},{"source":258,"target":33},{"source":34,"target":0},{"source":34,"target":259},{"source":259,"target":32},{"source":259,"target":260},{"source":259,"target":34},{"source":260,"target":32},{"source":35,"target":0},{"source":35,"target":36},{"source":35,"target":34},{"source":35,"target":261},{"source":35,"target":262},{"source":261,"target":36},{"source":262,"target":34},{"source":36,"target":0},{"source":36,"target":38},{"source":36,"target":263},{"source":263,"target":38},{"source":37,"target":0},{"source":37,"target":35},{"source":37,"target":264},{"source":264,"target":35},{"source":38,"target":0},{"source":38,"target":237},{"source":38,"target":265},{"source":237,"target":31},{"source":237,"target":266},{"source":237,"target":38},{"source":237,"target":233},{"source":266,"target":31},{"source":265,"target":52},{"source":265,"target":267},{"source":265,"target":38},{"source":265,"target":268},{"source":267,"target":52},{"source":39,"target":0},{"source":39,"target":269},{"source":39,"target":270},{"source":39,"target":271},{"source":39,"target":272},{"source":39,"target":273},{"source":269,"target":39},{"source":270,"target":39},{"source":271,"target":39},{"source":272,"target":39},{"source":273,"target":39},{"source":40,"target":0},{"source":40,"target":38},{"source":40,"target":274},{"source":40,"target":275},{"source":40,"target":276},{"source":274,"target":39},{"source":274,"target":277},{"source":274,"target":40},{"source":277,"target":39},{"source":275,"target":43},{"source":275,"target":278},{"source":275,"target":40},{"source":278,"target":43},{"source":276,"target":38},{"source":41,"target":0},{"source":41,"target":38},{"source":41,"target":279},{"source":279,"target":38},{"source":42,"target":0},{"source":42,"target":38},{"source":42,"target":280},{"source":42,"target":281},{"source":280,"target":44},{"source":280,"target":282},{"source":280,"target":42},{"source":282,"target":44},{"source":281,"target":38},{"source":43,"target":0},{"source":43,"target":52},{"source":43,"target":283},{"source":43,"target":284},{"source":283,"target":44},{"source":283,"target":285},{"source":283,"target":43},{"source":285,"target":44},{"source":284,"target":52},{"source":44,"target":0},{"source":45,"target":0},{"source":45,"target":44},{"source":45,"target":286},{"source":45,"target":287},{"source":286,"target":64},{"source":286,"target":288},{"source":286,"target":45},{"source":288,"target":64},{"source":287,"target":44},{"source":46,"target":0},{"source":46,"target":289},{"source":46,"target":290},{"source":289,"target":13},{"source":289,"target":291},{"source":289,"target":46},{"source":291,"target":13},{"source":290,"target":44},{"source":290,"target":292},{"source":290,"target":46},{"source":292,"target":44},{"source":47,"target":0},{"source":47,"target":44},{"source":47,"target":293},{"source":47,"target":294},{"source":293,"target":13},{"source":293,"target":295},{"source":293,"target":47},{"source":295,"target":13},{"source":294,"target":44},{"source":48,"target":0},{"source":48,"target":44},{"source":48,"target":296},{"source":48,"target":297},{"source":48,"target":298},{"source":296,"target":299},{"source":296,"target":48},{"source":297,"target":300},{"source":297,"target":48},{"source":298,"target":44},{"source":49,"target":0},{"source":49,"target":44},{"source":49,"target":301},{"source":301,"target":44},{"source":50,"target":0},{"source":50,"target":49},{"source":50,"target":302},{"source":50,"target":303},{"source":302,"target":304},{"source":302,"target":50},{"source":303,"target":49},{"source":51,"target":0},{"source":51,"target":49},{"source":51,"target":305},{"source":51,"target":306},{"source":305,"target":307},{"source":305,"target":51},{"source":306,"target":49},{"source":52,"target":0},{"source":52,"target":268},{"source":268,"target":38},{"source":268,"target":308},{"source":268,"target":52},{"source":268,"target":265},{"source":308,"target":38},{"source":53,"target":0},{"source":53,"target":12},{"source":53,"target":62},{"source":53,"target":309},{"source":53,"target":310},{"source":53,"target":311},{"source":53,"target":312},{"source":309,"target":313},{"source":309,"target":53},{"source":310,"target":16},{"source":310,"target":314},{"source":310,"target":53},{"source":314,"target":16},{"source":311,"target":12},{"source":312,"target":62},{"source":54,"target":0},{"source":54,"target":53},{"source":54,"target":315},{"source":315,"target":53},{"source":55,"target":0},{"source":55,"target":53},{"source":55,"target":316},{"source":316,"target":53},{"source":56,"target":0},{"source":56,"target":317},{"source":317,"target":57},{"source":317,"target":318},{"source":317,"target":56},{"source":318,"target":57},{"source":57,"target":0},{"source":57,"target":319},{"source":57,"target":320},{"source":319,"target":321},{"source":319,"target":57},{"source":320,"target":58},{"source":320,"target":322},{"source":320,"target":57},{"source":322,"target":58},{"source":58,"target":0},{"source":58,"target":323},{"source":58,"target":324},{"source":323,"target":325},{"source":323,"target":58},{"source":324,"target":59},{"source":324,"target":326},{"source":324,"target":58},{"source":326,"target":59},{"source":59,"target":0},{"source":59,"target":327},{"source":59,"target":328},{"source":327,"target":329},{"source":327,"target":59},{"source":328,"target":330},{"source":328,"target":59},{"source":60,"target":0},{"source":60,"target":331},{"source":60,"target":332},{"source":331,"target":60},{"source":332,"target":60},{"source":61,"target":0},{"source":61,"target":16},{"source":61,"target":333},{"source":61,"target":334},{"source":333,"target":10},{"source":333,"target":335},{"source":333,"target":61},{"source":335,"target":10},{"source":334,"target":16},{"source":62,"target":0},{"source":62,"target":61},{"source":62,"target":336},{"source":62,"target":337},{"source":336,"target":338},{"source":336,"target":62},{"source":337,"target":61},{"source":63,"target":0},{"source":64,"target":0},{"source":64,"target":67},{"source":64,"target":339},{"source":64,"target":340},{"source":339,"target":341},{"source":339,"target":64},{"source":340,"target":67},{"source":65,"target":0},{"source":65,"target":66},{"source":65,"target":63},{"source":65,"target":342},{"source":65,"target":343},{"source":65,"target":344},{"source":342,"target":16},{"source":342,"target":345},{"source":342,"target":65},{"source":345,"target":16},{"source":343,"target":66},{"source":344,"target":63},{"source":66,"target":0},{"source":66,"target":64},{"source":66,"target":346},{"source":66,"target":347},{"source":66,"target":348},{"source":66,"target":349},{"source":346,"target":350},{"source":346,"target":66},{"source":347,"target":351},{"source":347,"target":66},{"source":348,"target":19},{"source":348,"target":352},{"source":348,"target":66},{"source":352,"target":19},{"source":349,"target":64},{"source":67,"target":0},{"source":67,"target":7},{"source":67,"target":353},{"source":67,"target":354},{"source":353,"target":12},{"source":353,"target":355},{"source":353,"target":67},{"source":355,"target":12},{"source":354,"target":7},{"source":68,"target":0},{"source":68,"target":34},{"source":68,"target":7},{"source":68,"target":356},{"source":68,"target":357},{"source":356,"target":34},{"source":357,"target":7},{"source":69,"target":0},{"source":69,"target":49},{"source":69,"target":358},{"source":69,"target":359},{"source":358,"target":360},{"source":358,"target":69},{"source":359,"target":49},{"source":70,"target":0},{"source":70,"target":9},{"source":70,"target":361},{"source":70,"target":362},{"source":70,"target":363},{"source":70,"target":364},{"source":70,"target":365},{"source":361,"target":72},{"source":361,"target":366},{"source":361,"target":70},{"source":366,"target":72},{"source":362,"target":71},{"source":362,"target":367},{"source":362,"target":70},{"source":367,"target":71},{"source":363,"target":61},{"source":363,"target":368},{"source":363,"target":70},{"source":368,"target":61},{"source":364,"target":61},{"source":364,"target":369},{"source":364,"target":70},{"source":369,"target":61},{"source":365,"target":9},{"source":71,"target":0},{"source":71,"target":9},{"source":71,"target":370},{"source":71,"target":371},{"source":71,"target":372},{"source":370,"target":11},{"source":370,"target":373},{"source":370,"target":71},{"source":373,"target":11},{"source":371,"target":11},{"source":371,"target":374},{"source":371,"target":71},{"source":374,"target":11},{"source":372,"target":9},{"source":72,"target":0},{"source":72,"target":9},{"source":72,"target":375},{"source":72,"target":376},{"source":72,"target":377},{"source":72,"target":378},{"source":375,"target":73},{"source":375,"target":379},{"source":375,"target":72},{"source":379,"target":73},{"source":376,"target":10},{"source":376,"target":380},{"source":376,"target":72},{"source":380,"target":10},{"source":377,"target":10},{"source":377,"target":381},{"source":377,"target":72},{"source":381,"target":10},{"source":378,"target":9},{"source":73,"target":0},{"source":73,"target":9},{"source":73,"target":382},{"source":73,"target":383},{"source":73,"target":384},{"source":382,"target":13},{"source":382,"target":385},{"source":382,"target":73},{"source":385,"target":13},{"source":383,"target":13},{"source":383,"target":386},{"source":383,"target":73},{"source":386,"target":13},{"source":384,"target":9},{"source":74,"target":0},{"source":74,"target":7},{"source":74,"target":387},{"source":74,"target":388},{"source":74,"target":389},{"source":387,"target":75},{"source":387,"target":390},{"source":387,"target":74},{"source":390,"target":75},{"source":388,"target":61},{"source":388,"target":391},{"source":388,"target":74},{"source":391,"target":61},{"source":389,"target":7},{"source":75,"target":0},{"source":75,"target":392},{"source":75,"target":393},{"source":75,"target":394},{"source":75,"target":395},{"source":392,"target":77},{"source":392,"target":396},{"source":392,"target":75},{"source":396,"target":77},{"source":393,"target":77},{"source":393,"target":397},{"source":393,"target":75},{"source":397,"target":77},{"source":394,"target":76},{"source":394,"target":398},{"source":394,"target":75},{"source":398,"target":76},{"source":395,"target":81},{"source":395,"target":399},{"source":395,"target":75},{"source":399,"target":81},{"source":76,"target":0},{"source":76,"target":7},{"source":76,"target":400},{"source":76,"target":401},{"source":76,"target":402},{"source":76,"target":403},{"source":76,"target":404},{"source":400,"target":77},{"source":400,"target":405},{"source":400,"target":76},{"source":400,"target":406},{"source":405,"target":77},{"source":401,"target":77},{"source":401,"target":407},{"source":401,"target":76},{"source":401,"target":408},{"source":407,"target":77},{"source":402,"target":10},{"source":402,"target":409},{"source":402,"target":76},{"source":409,"target":10},{"source":403,"target":80},{"source":403,"target":410},{"source":403,"target":76},{"source":410,"target":80},{"source":404,"target":7},{"source":77,"target":0},{"source":77,"target":7},{"source":77,"target":406},{"source":77,"target":408},{"source":77,"target":411},{"source":406,"target":76},{"source":406,"target":412},{"source":406,"target":77},{"source":406,"target":400},{"source":412,"target":76},{"source":408,"target":76},{"source":408,"target":413},{"source":408,"target":77},{"source":408,"target":401},{"source":413,"target":76},{"source":411,"target":7},{"source":78,"target":0},{"source":78,"target":15},{"source":78,"target":414},{"source":78,"target":415},{"source":78,"target":416},{"source":414,"target":417},{"source":414,"target":78},{"source":415,"target":418},{"source":415,"target":78},{"source":416,"target":15},{"source":79,"target":0},{"source":79,"target":15},{"source":79,"target":419},{"source":79,"target":420},{"source":79,"target":421},{"source":419,"target":422},{"source":419,"target":79},{"source":420,"target":423},{"source":420,"target":79},{"source":421,"target":15},{"source":80,"target":0},{"source":80,"target":424},{"source":424,"target":44},{"source":424,"target":425},{"source":424,"target":80},{"source":425,"target":44},{"source":81,"target":0},{"source":82,"target":0},{"source":82,"target":81},{"source":82,"target":426},{"source":82,"target":427},{"source":82,"target":428},{"source":426,"target":76},{"source":426,"target":429},{"source":426,"target":82},{"source":429,"target":76},{"source":427,"target":76},{"source":427,"target":430},{"source":427,"target":82},{"source":430,"target":76},{"source":428,"target":81}],"multigraph":true}