cm
repository
BasicComponent
serviceEffectSpecifications
ComponentTypeImplementation
implementedComponentTypes
RepositoryComponent
repository
ComponentType
ProvidedRole
providingEntity
providedInterface
Parameter
dataType
signature
name
DataType
repository
Role
Repository
description
components
interfaces
dataTypes
Interface
parentInterfaces
repository
signatures
Signature
exceptions
parameters
returnType
interface
ExceptionType
name
message
RequiredRole
requiringEntity
requiredInterface
CompositeComponent
ProvideSameInterfaces
diagnostics
context
RequireSameInterfaces
diagnostics
context
PrimitiveType
INT
INT
STRING
STRING
BOOL
BOOL
DOUBLE
DOUBLE
CHAR
CHAR
BYTE
BYTE
LONG
LONG
PrimitiveDataType
type
CollectionDataType
innerType
CompositeDataType
parentType
innerDeclaration
InnerDeclaration
dataType
compositeDataType
composition
DelegationConnector
Connector
parentStructure
ComposedStructure
MultipleConnectorsConstraint
diagnostics
context
MultipleConnectorsConstraintForAssemblyConnectors
diagnostics
context
assemblyContexts
connectors
ProvidedDelegationConnector
ComponentOfAssemblyContextAndInnerRoleProvidingComponentNeedToBeTheSame
diagnostics
context
ProvidedDelegationConnectorandtheconnectedComponentmustbepartofthesamecompositestructure
diagnostics
context
innerProvidedRole
outerProvidedRole
assemblyContext
RequiredDelegationConnector
innerRequiredRole
outerRequiredRole
assemblyContext
AssemblyConnector
AssemblyConnectorsReferencedProvidedRolesAndChildContextMustMatch
diagnostics
context
AssemblyConnectorsReferencedInterfacesMustMatch
diagnostics
context
AssemblyConnectorsReferencedRequiredRoleAndChildContextMustMatch
diagnostics
context
requiringAssemblyContext
providingAssemblyContext
providedRole
requiredRole
AssemblyContext
parentStructure
encapsulatedComponent
System
SystemMustHaveAtLeastOneProvidedRole
diagnostics
context
SubSystem
InterfaceProvidingRequiringEntity
InterfaceProvidingEntity
providedRoles
InterfaceRequiringEntity
requiredRoles
ComposedProvidingRequiringEntity
NamedElement
entityName
<unnamed>
Entity
Identifier
idHasToBeUnique
diagnostics
context
id
seff
ServiceEffectSpecification
describedService
basicComponent
internalBehaviours
InternalBehaviour
serviceEffectSpecifications
branchTransition
steps
AbstractAction
predecessor
successor
internalBehaviour
specification
StartAction
StopAction
ExternalCallAction
calledService
role
BranchAction
branchTransitions
ProbabilisticBranchTransition
branchAction
branchProbability
SimpleBehaviorSpecification
transition
InternalAction
Automaton
steps
<?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="cm" nsURI="http://sdq.ipd.uka.de/ComponentModel" nsPrefix="cm">
  <eSubpackages name="repository" nsURI="http://sdq.ipd.uka.de/ComponentModel/Repository"
      nsPrefix="repository">
    <eClassifiers xsi:type="ecore:EClass" name="BasicComponent" eSuperTypes="#//repository/ComponentTypeImplementation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents a black-box component implementation. Basic components are atomic building blocks of a software architecture. They cannot be further subdivided into smaller components and are built from scratch, i.e, not by assembling other components. Component developers specify basic components by associating interfaces to them in a providing or requiring role."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="serviceEffectSpecifications"
          ordered="false" upperBound="-1" eType="#//seff/ServiceEffectSpecification"
          containment="true" eOpposite="#//seff/ServiceEffectSpecification/basicComponent">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property contains the service effect specification for services provided by this basic component."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ComponentTypeImplementation" abstract="true"
        eSuperTypes="#//repository/RepositoryComponent">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents an abstraction of a component, where both sets of provided and required interfaces as well as the implementation is visible. It fully specifies the component type. The specification of&#xA;the internal structure depends on the way the component is realised. In general, components can either be implemented from the scratch or composed out of other components. In the first case, the implemented behaviour of each provided service needs to be specified with a service effect specification (SEFF) to describe the component's abstract internal structure. We refer to such components as basic components, since they form the basic building blocks of a software architecture. On the other hand, developers can use existing components to assemble new, composite components."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="implementedComponentTypes"
          ordered="false" upperBound="-1" eType="#//repository/ComponentType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property contains the service effect specification for services provided by this basic component."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RepositoryComponent" abstract="true"
        eSuperTypes="#//composition/InterfaceProvidingRequiringEntity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract superclass of all component types which can be part of a component repository"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="repository" ordered="false"
          lowerBound="1" eType="#//repository/Repository" eOpposite="#//repository/Repository/components">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the repository where this entity is stored."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ComponentType" eSuperTypes="#//repository/RepositoryComponent">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Complete (Component) types abstract from the realization of components. They only contain provided and required roles omitting the components' internal structure, i.e., the service effect specifications or assemblies. Thus, complete types represent a black box view on components. Leaving the implementation open allows for a higher flexibility of software architects and defines substitutability in the PCM."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ProvidedRole" eSuperTypes="#//repository/Role">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Provided roles list the interfaces offered by a component."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="providingEntity" ordered="false"
          lowerBound="1" eType="#//composition/InterfaceProvidingEntity" eOpposite="#//composition/InterfaceProvidingEntity/providedRoles">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the providing entity that is providing the interface associated with this role."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="providedInterface" ordered="false"
          lowerBound="1" eType="#//repository/Interface">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the corresponding interface that is provided by this role."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents a parameter within a signature. The parameter has a name and it is of a data type."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" ordered="false"
          lowerBound="1" eType="#//repository/DataType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the data type of the parameter."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
          eType="#//repository/Signature" eOpposite="#//repository/Signature/parameters">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property navigates to the signature this parameter is a part of."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property holds the name of the parameter."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DataType" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents a data type that can be stored in a repository and used for specification and modeling of interface signatures."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="repository" ordered="false"
          lowerBound="1" eType="#//repository/Repository" eOpposite="#//repository/Repository/dataTypes">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property specifies the repository to which this data type belongs."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Role" abstract="true" eSuperTypes="#//composition/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents an abstraction of an interface role."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Repository" eSuperTypes="#//composition/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The repository entity allows storing components, data types, and interfaces to be fetched and reused for construction of component instances as well as new component types."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
          unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents a description of the repository."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="components" ordered="false"
          upperBound="-1" eType="#//repository/RepositoryComponent" containment="true"
          eOpposite="#//repository/RepositoryComponent/repository">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the provides component types stored in the repository."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="interfaces" ordered="false"
          upperBound="-1" eType="#//repository/Interface" containment="true" eOpposite="#//repository/Interface/repository">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the interfaces stored in the repository."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="dataTypes" ordered="false"
          upperBound="-1" eType="#//repository/DataType" containment="true" eOpposite="#//repository/DataType/repository">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the data types stored in the repository."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Interface" eSuperTypes="#//composition/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity models the interface as a set of signatures representing services provided or required by a component. An interface is an abstraction of piece of software (a software entity) which should contain a sufficient amount of information for a caller to understand and finally request the realised functionality from any entity claiming to offer the specified functionality. Note that this implies, that the specification of the interface also has to contain a sufficient amount of information for the implementer to actually implement the interface. Due to the inherent need of an interface to abstract the behaviour of the software entity not in all cases there is sufficient information provided to use or implement an interface in an unambiquious way.&#xA;Interfaces can exist on their own, i.e., without any entity requesting or implementing the specified functionality. Two roles can be identified a software entity can take relative to an interface. Any entity can either claim to implement the functionality specified in an interface or to request that functionality. This is reflected in the Palladio Component Model by a set of abstract meta-classes giving a conceptual view on interfaces, entities, and their relationships."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parentInterfaces" ordered="false"
          upperBound="-1" eType="#//repository/Interface">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the interfaces from which this interface directly inherits."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="repository" ordered="false"
          lowerBound="1" eType="#//repository/Repository" eOpposite="#//repository/Repository/interfaces">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the repository where this interface is stored."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="signatures" ordered="false"
          upperBound="-1" eType="#//repository/Signature" containment="true" eOpposite="#//repository/Signature/interface">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the set of signatures of which the interface consists."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Signature" eSuperTypes="#//composition/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents the signature of a method, i.e., its parameters, exception declarations, return type, etc.&#xA;Every service of an interface has a unique signature, like void doSomething(int a). A PCM signature is comparable to a method signature in programming languages like C#, Java or the OMG IDL.&#xA;It contains:&#xA; * A type of the return value or void (no return value),&#xA; * an identifier naming the service,&#xA; * an ordered set of parameters (0..*).Each parameter is a tuple of a datatype and an identifier (which is unique across the parameters). Additionally, the modifiers in, out, and inout (with its OMG&#xA; * IDL semantics) can be used for parameters, and&#xA; * an unordered set of exceptions.&#xA;A signature has to be unique for an interface through the tupel (identifier, order of parameters). An interface has a list of 1..* signatures (interfaces associate 1..* signatures, not the other way around). A&#xA;signature is assigned to exactly one interface. However, different interfaces can define equally named signatures. If, for example, void doIt() is defined for interface A and B, void doIt() is not identical in both interfaces."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="exceptions" ordered="false"
          upperBound="-1" eType="#//repository/ExceptionType" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the list of exceptions declared by this signature."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
          eType="#//repository/Parameter" containment="true" eOpposite="#//repository/Parameter/signature">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the list of parameters of the corresponding method."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="returnType" ordered="false"
          eType="#//repository/DataType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the return type of the corresponding method."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="interface" ordered="false"
          lowerBound="1" eType="#//repository/Interface" eOpposite="#//repository/Interface/signatures">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the interface that contains the method with this signature."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ExceptionType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents a type of an exception."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
          unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property denotes the name of the exception. In addition to the exception message, this is another piece of information that can be used for identification of the exception that has appeared."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="message" ordered="false"
          unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property holds the text message of the exception."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RequiredRole" eSuperTypes="#//repository/Role">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Required roles list the interfaces required by a component."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="requiringEntity" ordered="false"
          lowerBound="1" eType="#//composition/InterfaceRequiringEntity" eOpposite="#//composition/InterfaceRequiringEntity/requiredRoles">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the interface requiring entity that requires this interface."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="requiredInterface" ordered="false"
          lowerBound="1" eType="#//repository/Interface">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the interfaces that is required by this role."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CompositeComponent" eSuperTypes="#//composition/ComposedProvidingRequiringEntity #//repository/ComponentTypeImplementation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Composite components are special implementation component types, which are composed from inner components. Component developers compose inner components within composite components with assembly connectors. An assembly connector binds a provided role with a required role. To access the inner components, composite components themselves provide or require interfaces. A delegation connector binds a provided (required) role of the composite component with an inner component provided (required) role. A composite component may contain other composite components, which are also themselves composed out of inner components. This enables building arbitrary hierarchies of nested components. Like a basic component, a composite component may contain a SEFF.  However, this SEFF is not specified manually by the composite component developer, but can be computed by combining the SEFFs of the inner components."/>
      </eAnnotations>
      <eOperations name="ProvideSameInterfaces" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="if self.implementedComponentTypes->notEmpty() then self.providedRoles->select(pr : ProvidedRole | pr.oclIsTypeOf(OperationProvidedRole))->collect(pr : ProvidedRole | pr.oclAsType(OperationProvidedRole).providedInterface.id)->asSet() = self.implementedComponentTypes.providedRoles->select(pr : ProvidedRole | pr.oclIsTypeOf(OperationProvidedRole))->collect(pr : ProvidedRole | pr.oclAsType(OperationProvidedRole).providedInterface.id)->asSet() else true endif;"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
        <eParameters name="context">
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="RequireSameInterfaces" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="if self.implementedComponentTypes->notEmpty() then self.requiredRoles->select(pr : RequiredRole | pr.oclIsTypeOf(OperationRequiredRole))->collect(rr : RequiredRole | rr.oclAsType(OperationRequiredRole).requiredInterface.id)->asSet() = self.implementedComponentTypes.requiredRoles->select(pr : RequiredRole | pr.oclIsTypeOf(OperationRequiredRole))->collect(rr : RequiredRole | rr.oclAsType(OperationRequiredRole).requiredInterface.id)->asSet() else true endif;"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
        <eParameters name="context">
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="PrimitiveType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Primitive types for usage in datatype and interface definitions"/>
      </eAnnotations>
      <eLiterals name="INT"/>
      <eLiterals name="STRING" value="1"/>
      <eLiterals name="BOOL" value="2"/>
      <eLiterals name="DOUBLE" value="3"/>
      <eLiterals name="CHAR" value="4"/>
      <eLiterals name="BYTE" value="5"/>
      <eLiterals name="LONG" value="6"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PrimitiveDataType" eSuperTypes="#//repository/DataType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents a primitive data type such as integer, string, and double."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
          lowerBound="1" eType="#//repository/PrimitiveType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represent the base type of this type, e.g., if this type represents the integer interval (1..5), the base type will be INT."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionDataType" eSuperTypes="#//composition/Entity #//repository/DataType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents a collection data type, e.g.,. a list, array, set, of items of the a particular type."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="innerType" ordered="false"
          lowerBound="1" eType="#//repository/DataType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the type of items contained in the collection data type."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CompositeDataType" eSuperTypes="#//composition/Entity #//repository/DataType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents a complex data type containing other data types. This construct is common in higher programming languages as record, struct, or class."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parentType" ordered="false"
          upperBound="-1" eType="#//repository/CompositeDataType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the parent type in the inheritance hierarchy. Null if there is no parent."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="innerDeclaration" ordered="false"
          upperBound="-1" eType="#//repository/InnerDeclaration" containment="true"
          eOpposite="#//repository/InnerDeclaration/compositeDataType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the internals, i.e., named items, each of a data type, forming this composite data type."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InnerDeclaration" eSuperTypes="#//composition/NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represent a declaration of a data type inside of a composite data type. It enriches the data type it declares with a name to allow multiple declarations of the same type within a composite data type."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" ordered="false"
          lowerBound="1" eType="#//repository/DataType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the data type that the inner declaration declares."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="compositeDataType" ordered="false"
          lowerBound="1" eType="#//repository/CompositeDataType" eOpposite="#//repository/CompositeDataType/innerDeclaration"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="composition" nsURI="http://sdq.ipd.uka.de/ComponentModel/Composition"
      nsPrefix="composition">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A package holding all composable entities"/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="DelegationConnector" abstract="true"
        eSuperTypes="#//composition/Connector">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents a delegation connector, i.e., connector used for connecting a provided/required role of a component woth provided/reqiured port of its subcomponent."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Connector" abstract="true" eSuperTypes="#//composition/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract superclass for all connectors.&#xA;TODO: We might want to add a constraint that both sides of the connector must be not null. Then, we don't have to specify that for example for ComposedProvidingRequiringEntities that the ProvidedDelegationConnector actually points to something inner. If you decide not to add a constraint here, then we need a constraint there and maybe at other places -- Anne"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parentStructure" ordered="false"
          lowerBound="1" eType="#//composition/ComposedStructure" eOpposite="#//composition/ComposedStructure/connectors"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ComposedStructure" abstract="true"
        eSuperTypes="#//composition/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="TODO/FIXME: The distinction between ComposedStructure and ComposedProvidingRequiringStructure does not make sense at the moment, because the ComposedStructure already talks about inner provided / required delegation connectors, which only make sense if there are outer roles for interfaces -> ComposedProvidingRequiringStructure. IDEA: Move the delegation connector attributes to ComposedProvidingRequiringStructure. I'm not sure about the assembly connectors. SEE ALSO: ComposedProvidingRequiringStructure&#xA;However, as AssemblyContexts of ComposedStructure always contain InterfaceProvidingRequiringEntities at the moment, the above might not help... -- Anne"/>
      </eAnnotations>
      <eOperations name="MultipleConnectorsConstraint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.connectors->select(conn : &lt;&lt;NullPointerException>> | conn.oclIsTypeOf(&lt;&lt;NullPointerException>>)).oclAsType(&lt;&lt;NullPointerException>>)->forAll(c1 : &lt;&lt;NullPointerException>>, c2 : &lt;&lt;NullPointerException>> | c1 &lt;> c2 implies c1.outerProvidedRole &lt;> c2.outerProvidedRole);"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
        <eParameters name="context">
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="MultipleConnectorsConstraintForAssemblyConnectors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.connectors->select(conn : &lt;&lt;NullPointerException>> | conn.oclIsTypeOf(&lt;&lt;NullPointerException>>)).oclAsType(&lt;&lt;NullPointerException>>)->forAll(c1 : &lt;&lt;NullPointerException>>, c2 : &lt;&lt;NullPointerException>> | c1 &lt;> c2 and c1.requiringAssemblyContext = c2.requiringAssemblyContext implies c1.requiredRole &lt;> c2.requiredRole);"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
        <eParameters name="context">
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContexts" ordered="false"
          upperBound="-1" eType="#//composition/AssemblyContext" containment="true"
          eOpposite="#//composition/AssemblyContext/parentStructure"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="connectors" ordered="false"
          upperBound="-1" eType="#//composition/Connector" containment="true" eOpposite="#//composition/Connector/parentStructure"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ProvidedDelegationConnector" eSuperTypes="#//composition/DelegationConnector">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ProvidedDelegationConnector delegates incoming calls of provided roles to inner provided roles of encapsulated assembly contexts."/>
      </eAnnotations>
      <eOperations name="ComponentOfAssemblyContextAndInnerRoleProvidingComponentNeedToBeTheSame"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.innerProvidedRole.providingEntity = self.assemblyContext.encapsulatedComponent;"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
        <eParameters name="context">
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="ProvidedDelegationConnectorandtheconnectedComponentmustbepartofthesamecompositestructure"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.parentStructure = self.assemblyContext.parentStructure;"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
        <eParameters name="context">
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="innerProvidedRole" ordered="false"
          lowerBound="1" eType="#//repository/ProvidedRole"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="outerProvidedRole" ordered="false"
          lowerBound="1" eType="#//repository/ProvidedRole"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext" ordered="false"
          lowerBound="1" eType="#//composition/AssemblyContext"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RequiredDelegationConnector" eSuperTypes="#//composition/DelegationConnector">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A RequiredDelegationConnector delegates required roles of encapsulated assembly contexts to outer required roles"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="innerRequiredRole" ordered="false"
          lowerBound="1" eType="#//repository/RequiredRole"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="outerRequiredRole" ordered="false"
          lowerBound="1" eType="#//repository/RequiredRole"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext" ordered="false"
          lowerBound="1" eType="#//composition/AssemblyContext"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="AssemblyConnector" eSuperTypes="#//composition/Connector">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An AssemblyConnector is a bidirectional link of two assembly contexts. Intuitively, an AssemblyConnector connects a&#xA;provided and a required interface of two different components. AssemblyContext must refer to the tuple (Role,&#xA;AssemblyContext) in order to uniquely identify which component roles communicate with each other."/>
      </eAnnotations>
      <eOperations name="AssemblyConnectorsReferencedProvidedRolesAndChildContextMustMatch"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="An AssemblyConnector references an assembly context and a provided role on the provider side. This constraint ensures that the referenced provided role is really available in the referenced assembly context.&#xA;self.providingAssemblyContext.encapsulatedComponent.providedRoles->includes(self.providedRole)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
        <eParameters name="context">
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="AssemblyConnectorsReferencedInterfacesMustMatch" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="An AssemblyConnector references an assembly context and a required role on the client side. This constraint ensures that the referenced required role is really available in the referenced assembly context.&#xA;self.requiringAssemblyContext.encapsulatedComponent.requiredRoles->includes(self.requiredRole)&#xA;The Interfaces references by this Connector must match. This means that either&#xA;1) the referenced providedRole and the referenced requiredRole refer to the same Interface (first part of the expression) or 2)  the Interface A referenced by the providedRole is a subtype of the Interface B referenced by the requiredRole as transitively defined by the parentInterface property. That means that either Interface A is the parentInterface of Interface B, or there is a set of Interfaces&#xA;&#xA;self.providedRole.providedInterface = self.requiredRole.requiredInterface"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
        <eParameters name="context">
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="AssemblyConnectorsReferencedRequiredRoleAndChildContextMustMatch"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.requiringAssemblyContext.encapsulatedComponent.requiredRoles->includes(self.requiredRole);"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
        <eParameters name="context">
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="requiringAssemblyContext"
          ordered="false" lowerBound="1" eType="#//composition/AssemblyContext"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="providingAssemblyContext"
          ordered="false" lowerBound="1" eType="#//composition/AssemblyContext"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="providedRole" ordered="false"
          lowerBound="1" eType="#//repository/ProvidedRole"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="requiredRole" ordered="false"
          lowerBound="1" eType="#//repository/RequiredRole"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="AssemblyContext" eSuperTypes="#//composition/Entity">
      <eStructuralFeatures xsi:type="ecore:EReference" name="parentStructure" ordered="false"
          lowerBound="1" eType="#//composition/ComposedStructure" eOpposite="#//composition/ComposedStructure/assemblyContexts"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="encapsulatedComponent"
          ordered="false" lowerBound="1" eType="#//repository/RepositoryComponent"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="System" eSuperTypes="#//composition/Entity #//composition/ComposedProvidingRequiringEntity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A System is the out-most entity of a PCM's assembly of components. It captures the modeling decision to which extend a system under investigation is modeled within the PCM.&#xA;A System is not composable (part of another composition) because it has QoS annotations which are only allowed in the &quot;outer&quot; composition thing. And a UsageModel must only access ProvidedRoles of a System and not of inner components.&#xA;The System is inheriting from ComposedProvidingRequiringEntity to have a unique means for expressing the inner composition of an entity (here: System). Also it allows using the same editor etc. being applied to ComposedProvidingRequiringEntity and thus also being useful for System.&#xA;A system consists of an assembly and is itself referenced by an allocation (only a System can be allocated). The first specifies how the components are connected with other components, the latter specifies how the components and connectors are mapped to the resource environment (hardware and middleware). From a structural point of view, Systems can be seen as special kind of CompositeComponents. Systems are not supposed to be reused as components are. The are assumed to be coupled by using special techniques for system integration.&#xA;A System has provided and required roles like a composite component. Only a system's provided role can be accessed from the usage profile. Only a system's required roles can have QOS annotations.&#xA;Like SubSystems, Systems are white-box entities for the Software Architect and also for the System Deployer. Thus, a System Deployer can and must allocate inner components of a System individually."/>
      </eAnnotations>
      <eOperations name="SystemMustHaveAtLeastOneProvidedRole" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="not self.providedRoles_InterfaceProvidingEntity->isEmpty()"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
        <eParameters name="context">
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SubSystem" eSuperTypes="#//composition/ComposedProvidingRequiringEntity #//repository/RepositoryComponent">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A SubSystem is structurally comparable to a CompositeComponent. The major difference is the white-box property it preserves for System Deployers. While Component Developer have a white-box view for their CompositeComponents, a System Deployer perceives a CompositeComponent like any other component as a black-box entity, which thus cannot be allocated onto different nodes in the resource environment (a CompositeComponent cannot be split up at allocation time).&#xA;Opposed to that, SubSystems are white-box entities for System Deployers, meaning that they can be allocated to different nodes of the resource environment, if required. They are pure logical groupings of components, which can be reused by Component Developers and System Architects like usual components.&#xA;Remark 1: If a SubSystem is part of a CompositeComponent (inner component) is looses its white-box property, as there is a outer black-box component hiding the its and consequently the SubSytem's internals.&#xA;Remark 2: Structurally, SubSytem can be converted into CompositeComponents and vice versa.&#xA;Example: To model a layered architecture, of which each layer is potentially split up to run on multiple machines (in the resource environment), each layer can be represented by a subsystem, allowing to allocated each layer's components individually."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InterfaceProvidingRequiringEntity"
        abstract="true" eSuperTypes="#//composition/InterfaceProvidingEntity #//composition/InterfaceRequiringEntity"/>
    <eClassifiers xsi:type="ecore:EClass" name="InterfaceProvidingEntity" abstract="true"
        eSuperTypes="#//composition/Entity">
      <eStructuralFeatures xsi:type="ecore:EReference" name="providedRoles" ordered="false"
          upperBound="-1" eType="#//repository/ProvidedRole" containment="true" eOpposite="#//repository/ProvidedRole/providingEntity"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InterfaceRequiringEntity" abstract="true"
        eSuperTypes="#//composition/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All Entities that require an Interface are represented by this class. Prominent inheriting classes are all component types, for example.&#xA;Two roles can be identified a software entity can take relative to an interface. Any entity can claim to implement the functionality specified in an interface as well as to request that functionality. This is reflected in the Palladio Component Model by a set of abstract meta-classes giving a conceptual view on interfaces, entities and their relationships. The abstract meta-class InterfaceRequiringEntity is inherited by all entities which are allowed to request functionality offered by entities providing this functionality. Similarly, the meta-classInterfaceProvidingEntity  is inherited by all entities which can potentially offer interface implementations.&#xA;See also: Interface, RequiredRole"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="requiredRoles" ordered="false"
          upperBound="-1" eType="#//repository/RequiredRole" containment="true" eOpposite="#//repository/RequiredRole/requiringEntity"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ComposedProvidingRequiringEntity"
        abstract="true" eSuperTypes="#//composition/ComposedStructure #//composition/InterfaceProvidingRequiringEntity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ComposedProvidingRequiringEntity combines the properties of an InterfaceProvidingRequiringEntity and a ComposedStructure. It is inherited by all classes that, on the one hand,  claim to implement the functionality specified in an interface as well as to request that functionality, and, on the other hand, are composed out of some inner entities.&#xA;Valid ComposedProvidingRequiringEntities need to have their ProvidedRoles bound to ProvidedRoles of the contained entities.&#xA;Prominent examples are System, SubSystem, and CompositeComponents&#xA;TODO/FIXME: The distinction between ComposedStructure and ComposedProvidingRequiringStructure does not make sense at the moment, because the ComposedStructure already talks about inner provided / required delegation connectors, which only make sense if there are outer roles for interfaces -> ComposedProvidingRequiringStructure. IDEA: Move the delegation connector attributes to ComposedProvidingRequiringStructure. I'm not sure about the assembly connectors. SEE ALSO: ComposedStructure&#xA;However, as AssemblyContexts of ComposedStructure always contain InterfaceProvidingRequiringEntities at the moment, the above might not help... and we may just want to merge the meta classes. --Anne"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The NamedElement meta class is inherited by all PCM classes whose instances bear a name. Thus, the semantic of &quot;bearing a name&quot; is given to all inheriting classes, so that the name can be used in visualisations, for example."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="entityName" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
          defaultValueLiteral="&lt;unnamed>"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Entity" abstract="true" eSuperTypes="#//composition/NamedElement #//composition/Identifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Entity is a meta class high up the PCM meta class hierarchy and represents all entities of the PCM that have both an id (see meta class Identifier) and a name (see meta class NamedEntity)."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Identifier" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Inherit from this entity to make an element uniquely identifiable.&#xA;Identifiers are not fixed to one realization.&#xA;GUIDs are recommend. GUIDs are described in their own model. See GUIDModel (GUID.emx).&#xA;Identifier implementations can be found in external projects only."/>
      </eAnnotations>
      <eOperations name="idHasToBeUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="--self.allInstances()->isUnique(p | p.id)&#xA;Identifier.allInstances()->isUnique(p: Identifier | p.id)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
        <eParameters name="context">
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
          iD="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Identifier attribute, in the default PCM implementation, this field is filled with a randomly generated UUID value"/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
          <details key="name" value="id"/>
          <details key="namespace" value="http://sdq.ipd.uka.de/Identifier/1.0"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="seff" nsURI="http://sdq.ipd.uka.de/ComponentModel/SEFF" nsPrefix="seff">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Package containing the abstract behavior model of components"/>
    </eAnnotations>
    <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="ServiceEffectSpecification" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="StopActions end a scenario behavior and contain only a predecessor."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="describedService" ordered="false"
          lowerBound="1" eType="#//repository/Signature"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="basicComponent" ordered="false"
          lowerBound="1" eType="#//repository/BasicComponent" eOpposite="#//repository/BasicComponent/serviceEffectSpecifications"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="internalBehaviours" ordered="false"
          upperBound="-1" eType="#//seff/InternalBehaviour" containment="true" eOpposite="#//seff/InternalBehaviour/serviceEffectSpecifications"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InternalBehaviour">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Models the behavior of a component service as a sequence of control flow constructs, and external calls. Therefore, the class contains a chain of AbstractActions."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="serviceEffectSpecifications"
          ordered="false" lowerBound="1" eType="#//seff/ServiceEffectSpecification"
          eOpposite="#//seff/ServiceEffectSpecification/internalBehaviours"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="branchTransition" ordered="false"
          eType="#//seff/ProbabilisticBranchTransition"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="steps" ordered="false"
          upperBound="-1" eType="#//seff/AbstractAction" containment="true" eOpposite="#//seff/AbstractAction/internalBehaviour"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="AbstractAction" abstract="true" eSuperTypes="#//composition/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Models the behavior of a component service as a sequence of control flow constructs and external calls.&#xA;Therefore, the class contains a chain of AbstractActions."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="predecessor" ordered="false"
          eType="#//seff/AbstractAction" eOpposite="#//seff/AbstractAction/successor"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="successor" ordered="false"
          eType="#//seff/AbstractAction" eOpposite="#//seff/AbstractAction/predecessor"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="internalBehaviour" ordered="false"
          eType="#//seff/InternalBehaviour" eOpposite="#//seff/InternalBehaviour/steps"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="specification" eType="#//seff/Automaton"
          eOpposite="#//seff/Automaton/steps"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StartAction" eSuperTypes="#//seff/AbstractAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract parent class of any loop (e.g. LoopAction)"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StopAction" eSuperTypes="#//seff/AbstractAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The BranchAction splits the SEFF control flow with an XOR-semantic, meaning that the control flow continues on exactly one of its attached AbstractBranchTransitions. The SEFF in this simple component model only supports ProbabilisticBranchTransitions."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ExternalCallAction" eSuperTypes="#//seff/AbstractAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ExternalCallAction models the invocation of a service specified in a required interface. Therefore, it references a Role, from which the providing component can be derived, and a Signature to specify the called service. ExternalCallActions model synchronous calls to required services, i.e., the caller waits until the called service finishes execution before continuing execution itself.&#xA;In this simpler component model, ExternalCallActions may not contain any VariableUsages specifying input parameter characterizations and output parameter characterizations."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="calledService" ordered="false"
          lowerBound="1" eType="#//repository/Signature"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="role" ordered="false"
          lowerBound="1" eType="#//repository/RequiredRole"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BranchAction" eSuperTypes="#//seff/AbstractAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Service Effect Specification Models the effect of invoking a specific service of a basic component. Therefore, it references a Signature from an Interface, for which the component takes a ProvidedRole, to identify the described service. This class is abstract and SEFFs for specific analysis purposes need to inherit from this class. A BasicComponent may have an arbitrary number of SEFFs. It can have multiple SEFFs of a different type for a single provided service. For example, one SEFF can express all external service calls with no particular order, while another one includes a restricted order, or still another one expresses resource demands of the service.&#xA;The type currently included in this simple meta-model is a simple state machine with probabilistic branches and external call actions. PCM's original SEFF is the ResourceDemandingSEFF for performance prediction. Different types of SEFFs should not contradict each other if the languages are equally powerful. For example, the order of allowed external service calls should be the same for each SEFF type modeling sequences of such calls if the modeling languages have the same expressiveness. SEFFs are part of a component and not part of an interface, because they are implementation dependent. The SEFFs of a CompositeComponent are not represented in the meta-model and can be derived automatically by connecting the SEFFs of the encapsulated components of its nested AssemblyContexts. Different SEFFs of a single component access the same component parameter specifications. That means that parameter dependencies to the same component parameters in different SEFF types refer also to the same characterizations."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="branchTransitions" ordered="false"
          upperBound="-1" eType="#//seff/ProbabilisticBranchTransition" containment="true"
          eOpposite="#//seff/ProbabilisticBranchTransition/branchAction"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ProbabilisticBranchTransition" eSuperTypes="#//composition/Entity #//seff/Automaton">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Branch splits the user flow with a XOR-semantic: one of the included BranchTransitions&#xA;is taken depending on the specified branch probabilities. Each BranchTransition contains a&#xA;nested InternalBehaviour, which executes once this branch transition is chosen. After&#xA;execution of the complete nested InternalBehaviour, the next action in the user flow after the&#xA;Branch is its successor action.&#xA;&#xA;A constraint ensures that all branchProbabilities of the included BranchTransitions sum up to 1."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="branchAction" ordered="false"
          lowerBound="1" eType="#//seff/BranchAction" eOpposite="#//seff/BranchAction/branchTransitions"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="branchProbability" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SimpleBehaviorSpecification" eSuperTypes="#//seff/ServiceEffectSpecification #//seff/Automaton">
      <eStructuralFeatures xsi:type="ecore:EReference" name="transition" eType="#//seff/ProbabilisticBranchTransition"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InternalAction" eSuperTypes="#//seff/AbstractAction"/>
    <eClassifiers xsi:type="ecore:EClass" name="Automaton" abstract="true">
      <eStructuralFeatures xsi:type="ecore:EReference" name="steps" upperBound="-1"
          eType="#//seff/AbstractAction" containment="true" eOpposite="#//seff/AbstractAction/specification"/>
    </eClassifiers>
  </eSubpackages>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"cm","nsURI":"http://sdq.ipd.uka.de/ComponentModel","name":"cm","id":0,"eClass":"EPackage"},{"nsPrefix":"repository","nsURI":"http://sdq.ipd.uka.de/ComponentModel/Repository","name":"repository","id":1,"eClass":"EPackage"},{"nsPrefix":"composition","nsURI":"http://sdq.ipd.uka.de/ComponentModel/Composition","name":"composition","id":2,"eClass":"EPackage"},{"nsPrefix":"seff","nsURI":"http://sdq.ipd.uka.de/ComponentModel/SEFF","name":"seff","id":3,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BasicComponent","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ComponentTypeImplementation","instanceClass":null,"abstract":true,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RepositoryComponent","instanceClass":null,"abstract":true,"id":6,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ComponentType","instanceClass":null,"abstract":false,"id":7,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProvidedRole","instanceClass":null,"abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Parameter","instanceClass":null,"abstract":false,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DataType","instanceClass":null,"abstract":true,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Role","instanceClass":null,"abstract":true,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Repository","instanceClass":null,"abstract":false,"id":12,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Interface","instanceClass":null,"abstract":false,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Signature","instanceClass":null,"abstract":false,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExceptionType","instanceClass":null,"abstract":false,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RequiredRole","instanceClass":null,"abstract":false,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompositeComponent","instanceClass":null,"abstract":false,"id":17,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"PrimitiveType","instanceClass":null,"id":18,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveDataType","instanceClass":null,"abstract":false,"id":19,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionDataType","instanceClass":null,"abstract":false,"id":20,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompositeDataType","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InnerDeclaration","instanceClass":null,"abstract":false,"id":22,"interface":false,"eClass":"EClass"},{"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":"serviceEffectSpecifications","changeable":true,"resolveProxies":true,"lowerBound":0,"id":23,"derived":false},{"id":24,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ServiceEffectSpecification","instanceClass":null,"abstract":true,"id":25,"interface":false,"eClass":"EClass"},{"id":26,"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":"basicComponent","changeable":true,"resolveProxies":true,"lowerBound":1,"id":27,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"implementedComponentTypes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":28,"derived":false},{"id":29,"eClass":"EGenericType"},{"id":30,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InterfaceProvidingRequiringEntity","instanceClass":null,"abstract":true,"id":31,"interface":false,"eClass":"EClass"},{"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":"repository","changeable":true,"resolveProxies":true,"lowerBound":1,"id":32,"derived":false},{"id":33,"eClass":"EGenericType"},{"id":34,"eClass":"EGenericType"},{"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":"components","changeable":true,"resolveProxies":true,"lowerBound":0,"id":35,"derived":false},{"id":36,"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":"providingEntity","changeable":true,"resolveProxies":true,"lowerBound":1,"id":37,"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":"providedInterface","changeable":true,"resolveProxies":true,"lowerBound":1,"id":38,"derived":false},{"id":39,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InterfaceProvidingEntity","instanceClass":null,"abstract":true,"id":40,"interface":false,"eClass":"EClass"},{"id":41,"eClass":"EGenericType"},{"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":"providedRoles","changeable":true,"resolveProxies":true,"lowerBound":0,"id":42,"derived":false},{"id":43,"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":"dataType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":44,"derived":false},{"container":true,"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":"signature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":45,"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":"name","changeable":true,"lowerBound":1,"iD":false,"id":46,"derived":false},{"id":47,"eClass":"EGenericType"},{"id":48,"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":"parameters","changeable":true,"resolveProxies":true,"lowerBound":0,"id":49,"derived":false},{"id":50,"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":"repository","changeable":true,"resolveProxies":true,"lowerBound":1,"id":51,"derived":false},{"id":52,"eClass":"EGenericType"},{"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":"dataTypes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":53,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Entity","instanceClass":null,"abstract":true,"id":54,"interface":false,"eClass":"EClass"},{"id":55,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":false,"name":"description","changeable":true,"lowerBound":0,"iD":false,"id":56,"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":"interfaces","changeable":true,"resolveProxies":true,"lowerBound":0,"id":57,"derived":false},{"id":58,"eClass":"EGenericType"},{"id":59,"eClass":"EGenericType"},{"id":60,"eClass":"EGenericType"},{"id":61,"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":"repository","changeable":true,"resolveProxies":true,"lowerBound":1,"id":62,"derived":false},{"id":63,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"parentInterfaces","changeable":true,"resolveProxies":true,"lowerBound":0,"id":64,"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":"signatures","changeable":true,"resolveProxies":true,"lowerBound":0,"id":65,"derived":false},{"id":66,"eClass":"EGenericType"},{"id":67,"eClass":"EGenericType"},{"id":68,"eClass":"EGenericType"},{"id":69,"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":"interface","changeable":true,"resolveProxies":true,"lowerBound":1,"id":70,"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":"exceptions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":71,"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":"returnType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":72,"derived":false},{"id":73,"eClass":"EGenericType"},{"id":74,"eClass":"EGenericType"},{"id":75,"eClass":"EGenericType"},{"id":76,"eClass":"EGenericType"},{"id":77,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":false,"name":"name","changeable":true,"lowerBound":1,"iD":false,"id":78,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":false,"name":"message","changeable":true,"lowerBound":1,"iD":false,"id":79,"derived":false},{"id":80,"eClass":"EGenericType"},{"id":81,"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":"requiringEntity","changeable":true,"resolveProxies":true,"lowerBound":1,"id":82,"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":"requiredInterface","changeable":true,"resolveProxies":true,"lowerBound":1,"id":83,"derived":false},{"id":84,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InterfaceRequiringEntity","instanceClass":null,"abstract":true,"id":85,"interface":false,"eClass":"EClass"},{"id":86,"eClass":"EGenericType"},{"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":"requiredRoles","changeable":true,"resolveProxies":true,"lowerBound":0,"id":87,"derived":false},{"id":88,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ComposedProvidingRequiringEntity","instanceClass":null,"abstract":true,"id":89,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"ProvideSameInterfaces","lowerBound":0,"id":90,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"RequireSameInterfaces","lowerBound":0,"id":91,"many":false,"required":false,"eClass":"EOperation"},{"id":92,"eClass":"EGenericType"},{"id":93,"eClass":"EGenericType"},{"id":94,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":95,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":96,"many":false,"required":false,"eClass":"EParameter"},{"id":97,"eClass":"EGenericType"},{"id":98,"eClass":"EGenericType"},{"id":99,"eClass":"EGenericType"},{"id":100,"eClass":"EGenericType"},{"id":101,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":102,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":103,"many":false,"required":false,"eClass":"EParameter"},{"id":104,"eClass":"EGenericType"},{"id":105,"eClass":"EGenericType"},{"id":106,"eClass":"EGenericType"},{"id":107,"eClass":"EGenericType"},{"name":"INT","id":108,"value":0,"literal":"INT","eClass":"EEnumLiteral"},{"name":"STRING","id":109,"value":1,"literal":"STRING","eClass":"EEnumLiteral"},{"name":"BOOL","id":110,"value":2,"literal":"BOOL","eClass":"EEnumLiteral"},{"name":"DOUBLE","id":111,"value":3,"literal":"DOUBLE","eClass":"EEnumLiteral"},{"name":"CHAR","id":112,"value":4,"literal":"CHAR","eClass":"EEnumLiteral"},{"name":"BYTE","id":113,"value":5,"literal":"BYTE","eClass":"EEnumLiteral"},{"name":"LONG","id":114,"value":6,"literal":"LONG","eClass":"EEnumLiteral"},{"ordered":false,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"lowerBound":1,"iD":false,"id":115,"derived":false},{"id":116,"eClass":"EGenericType"},{"id":117,"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":"innerType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":118,"derived":false},{"id":119,"eClass":"EGenericType"},{"id":120,"eClass":"EGenericType"},{"id":121,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"parentType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":122,"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":"innerDeclaration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":123,"derived":false},{"id":124,"eClass":"EGenericType"},{"id":125,"eClass":"EGenericType"},{"id":126,"eClass":"EGenericType"},{"id":127,"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":"compositeDataType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":128,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NamedElement","instanceClass":null,"abstract":true,"id":129,"interface":false,"eClass":"EClass"},{"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":"dataType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":130,"derived":false},{"id":131,"eClass":"EGenericType"},{"id":132,"eClass":"EGenericType"},{"id":133,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DelegationConnector","instanceClass":null,"abstract":true,"id":134,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Connector","instanceClass":null,"abstract":true,"id":135,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ComposedStructure","instanceClass":null,"abstract":true,"id":136,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProvidedDelegationConnector","instanceClass":null,"abstract":false,"id":137,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RequiredDelegationConnector","instanceClass":null,"abstract":false,"id":138,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssemblyConnector","instanceClass":null,"abstract":false,"id":139,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssemblyContext","instanceClass":null,"abstract":false,"id":140,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"System","instanceClass":null,"abstract":false,"id":141,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SubSystem","instanceClass":null,"abstract":false,"id":142,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Identifier","instanceClass":null,"abstract":true,"id":143,"interface":false,"eClass":"EClass"},{"id":144,"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":"parentStructure","changeable":true,"resolveProxies":true,"lowerBound":1,"id":145,"derived":false},{"id":146,"eClass":"EGenericType"},{"id":147,"eClass":"EGenericType"},{"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":"connectors","changeable":true,"resolveProxies":true,"lowerBound":0,"id":148,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"MultipleConnectorsConstraint","lowerBound":0,"id":149,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"MultipleConnectorsConstraintForAssemblyConnectors","lowerBound":0,"id":150,"many":false,"required":false,"eClass":"EOperation"},{"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":"assemblyContexts","changeable":true,"resolveProxies":true,"lowerBound":0,"id":151,"derived":false},{"id":152,"eClass":"EGenericType"},{"id":153,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":154,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":155,"many":false,"required":false,"eClass":"EParameter"},{"id":156,"eClass":"EGenericType"},{"id":157,"eClass":"EGenericType"},{"id":158,"eClass":"EGenericType"},{"id":159,"eClass":"EGenericType"},{"id":160,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":161,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":162,"many":false,"required":false,"eClass":"EParameter"},{"id":163,"eClass":"EGenericType"},{"id":164,"eClass":"EGenericType"},{"id":165,"eClass":"EGenericType"},{"id":166,"eClass":"EGenericType"},{"id":167,"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":"parentStructure","changeable":true,"resolveProxies":true,"lowerBound":1,"id":168,"derived":false},{"id":169,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"ComponentOfAssemblyContextAndInnerRoleProvidingComponentNeedToBeTheSame","lowerBound":0,"id":170,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ProvidedDelegationConnectorandtheconnectedComponentmustbepartofthesamecompositestructure","lowerBound":0,"id":171,"many":false,"required":false,"eClass":"EOperation"},{"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":"innerProvidedRole","changeable":true,"resolveProxies":true,"lowerBound":1,"id":172,"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":"outerProvidedRole","changeable":true,"resolveProxies":true,"lowerBound":1,"id":173,"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":"assemblyContext","changeable":true,"resolveProxies":true,"lowerBound":1,"id":174,"derived":false},{"id":175,"eClass":"EGenericType"},{"id":176,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":177,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":178,"many":false,"required":false,"eClass":"EParameter"},{"id":179,"eClass":"EGenericType"},{"id":180,"eClass":"EGenericType"},{"id":181,"eClass":"EGenericType"},{"id":182,"eClass":"EGenericType"},{"id":183,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":184,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":185,"many":false,"required":false,"eClass":"EParameter"},{"id":186,"eClass":"EGenericType"},{"id":187,"eClass":"EGenericType"},{"id":188,"eClass":"EGenericType"},{"id":189,"eClass":"EGenericType"},{"id":190,"eClass":"EGenericType"},{"id":191,"eClass":"EGenericType"},{"id":192,"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":"innerRequiredRole","changeable":true,"resolveProxies":true,"lowerBound":1,"id":193,"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":"outerRequiredRole","changeable":true,"resolveProxies":true,"lowerBound":1,"id":194,"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":"assemblyContext","changeable":true,"resolveProxies":true,"lowerBound":1,"id":195,"derived":false},{"id":196,"eClass":"EGenericType"},{"id":197,"eClass":"EGenericType"},{"id":198,"eClass":"EGenericType"},{"id":199,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"AssemblyConnectorsReferencedProvidedRolesAndChildContextMustMatch","lowerBound":0,"id":200,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"AssemblyConnectorsReferencedInterfacesMustMatch","lowerBound":0,"id":201,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"AssemblyConnectorsReferencedRequiredRoleAndChildContextMustMatch","lowerBound":0,"id":202,"many":false,"required":false,"eClass":"EOperation"},{"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":"requiringAssemblyContext","changeable":true,"resolveProxies":true,"lowerBound":1,"id":203,"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":"providingAssemblyContext","changeable":true,"resolveProxies":true,"lowerBound":1,"id":204,"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":"providedRole","changeable":true,"resolveProxies":true,"lowerBound":1,"id":205,"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":"requiredRole","changeable":true,"resolveProxies":true,"lowerBound":1,"id":206,"derived":false},{"id":207,"eClass":"EGenericType"},{"id":208,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":209,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":210,"many":false,"required":false,"eClass":"EParameter"},{"id":211,"eClass":"EGenericType"},{"id":212,"eClass":"EGenericType"},{"id":213,"eClass":"EGenericType"},{"id":214,"eClass":"EGenericType"},{"id":215,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":216,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":217,"many":false,"required":false,"eClass":"EParameter"},{"id":218,"eClass":"EGenericType"},{"id":219,"eClass":"EGenericType"},{"id":220,"eClass":"EGenericType"},{"id":221,"eClass":"EGenericType"},{"id":222,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":223,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":224,"many":false,"required":false,"eClass":"EParameter"},{"id":225,"eClass":"EGenericType"},{"id":226,"eClass":"EGenericType"},{"id":227,"eClass":"EGenericType"},{"id":228,"eClass":"EGenericType"},{"id":229,"eClass":"EGenericType"},{"id":230,"eClass":"EGenericType"},{"id":231,"eClass":"EGenericType"},{"id":232,"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":"encapsulatedComponent","changeable":true,"resolveProxies":true,"lowerBound":1,"id":233,"derived":false},{"id":234,"eClass":"EGenericType"},{"id":235,"eClass":"EGenericType"},{"id":236,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"SystemMustHaveAtLeastOneProvidedRole","lowerBound":0,"id":237,"many":false,"required":false,"eClass":"EOperation"},{"id":238,"eClass":"EGenericType"},{"id":239,"eClass":"EGenericType"},{"id":240,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":241,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":242,"many":false,"required":false,"eClass":"EParameter"},{"id":243,"eClass":"EGenericType"},{"id":244,"eClass":"EGenericType"},{"id":245,"eClass":"EGenericType"},{"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"},{"id":255,"eClass":"EGenericType"},{"id":256,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":"<unnamed>","volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"<unnamed>","unsettable":false,"transient":false,"unique":true,"name":"entityName","changeable":true,"lowerBound":1,"iD":false,"id":257,"derived":false},{"id":258,"eClass":"EGenericType"},{"id":259,"eClass":"EGenericType"},{"id":260,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"idHasToBeUnique","lowerBound":0,"id":261,"many":false,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"id","changeable":true,"lowerBound":0,"iD":true,"id":262,"derived":false},{"id":263,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":264,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":265,"many":false,"required":false,"eClass":"EParameter"},{"id":266,"eClass":"EGenericType"},{"id":267,"eClass":"EGenericType"},{"id":268,"eClass":"EGenericType"},{"id":269,"eClass":"EGenericType"},{"id":270,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InternalBehaviour","instanceClass":null,"abstract":false,"id":271,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AbstractAction","instanceClass":null,"abstract":true,"id":272,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StartAction","instanceClass":null,"abstract":false,"id":273,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StopAction","instanceClass":null,"abstract":false,"id":274,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExternalCallAction","instanceClass":null,"abstract":false,"id":275,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BranchAction","instanceClass":null,"abstract":false,"id":276,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProbabilisticBranchTransition","instanceClass":null,"abstract":false,"id":277,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SimpleBehaviorSpecification","instanceClass":null,"abstract":false,"id":278,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InternalAction","instanceClass":null,"abstract":false,"id":279,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Automaton","instanceClass":null,"abstract":true,"id":280,"interface":false,"eClass":"EClass"},{"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":"describedService","changeable":true,"resolveProxies":true,"lowerBound":1,"id":281,"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":"internalBehaviours","changeable":true,"resolveProxies":true,"lowerBound":0,"id":282,"derived":false},{"id":283,"eClass":"EGenericType"},{"id":284,"eClass":"EGenericType"},{"id":285,"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":"serviceEffectSpecifications","changeable":true,"resolveProxies":true,"lowerBound":1,"id":286,"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":"branchTransition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":287,"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":"steps","changeable":true,"resolveProxies":true,"lowerBound":0,"id":288,"derived":false},{"id":289,"eClass":"EGenericType"},{"id":290,"eClass":"EGenericType"},{"id":291,"eClass":"EGenericType"},{"container":true,"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":"internalBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":292,"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":"predecessor","changeable":true,"resolveProxies":true,"lowerBound":0,"id":293,"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":"successor","changeable":true,"resolveProxies":true,"lowerBound":0,"id":294,"derived":false},{"container":true,"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":"specification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":295,"derived":false},{"id":296,"eClass":"EGenericType"},{"id":297,"eClass":"EGenericType"},{"id":298,"eClass":"EGenericType"},{"id":299,"eClass":"EGenericType"},{"id":300,"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":"steps","changeable":true,"resolveProxies":true,"lowerBound":0,"id":301,"derived":false},{"id":302,"eClass":"EGenericType"},{"id":303,"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":"calledService","changeable":true,"resolveProxies":true,"lowerBound":1,"id":304,"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":"role","changeable":true,"resolveProxies":true,"lowerBound":1,"id":305,"derived":false},{"id":306,"eClass":"EGenericType"},{"id":307,"eClass":"EGenericType"},{"id":308,"eClass":"EGenericType"},{"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":"branchTransitions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":309,"derived":false},{"id":310,"eClass":"EGenericType"},{"id":311,"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":"branchAction","changeable":true,"resolveProxies":true,"lowerBound":1,"id":312,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"branchProbability","changeable":true,"lowerBound":1,"iD":false,"id":313,"derived":false},{"id":314,"eClass":"EGenericType"},{"id":315,"eClass":"EGenericType"},{"id":316,"eClass":"EGenericType"},{"id":317,"eClass":"EGenericType"},{"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":"transition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":318,"derived":false},{"id":319,"eClass":"EGenericType"},{"id":320,"eClass":"EGenericType"},{"id":321,"eClass":"EGenericType"},{"id":322,"eClass":"EGenericType"},{"id":323,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":1,"target":4},{"source":1,"target":5},{"source":1,"target":6},{"source":1,"target":7},{"source":1,"target":8},{"source":1,"target":9},{"source":1,"target":10},{"source":1,"target":11},{"source":1,"target":12},{"source":1,"target":13},{"source":1,"target":14},{"source":1,"target":15},{"source":1,"target":16},{"source":1,"target":17},{"source":1,"target":18},{"source":1,"target":19},{"source":1,"target":20},{"source":1,"target":21},{"source":1,"target":22},{"source":1,"target":0},{"source":4,"target":1},{"source":4,"target":5},{"source":4,"target":23},{"source":4,"target":24},{"source":23,"target":25},{"source":23,"target":26},{"source":23,"target":4},{"source":23,"target":27},{"source":26,"target":25},{"source":24,"target":5},{"source":5,"target":1},{"source":5,"target":6},{"source":5,"target":28},{"source":5,"target":29},{"source":28,"target":7},{"source":28,"target":30},{"source":28,"target":5},{"source":30,"target":7},{"source":29,"target":6},{"source":6,"target":1},{"source":6,"target":31},{"source":6,"target":32},{"source":6,"target":33},{"source":32,"target":12},{"source":32,"target":34},{"source":32,"target":6},{"source":32,"target":35},{"source":34,"target":12},{"source":33,"target":31},{"source":7,"target":1},{"source":7,"target":6},{"source":7,"target":36},{"source":36,"target":6},{"source":8,"target":1},{"source":8,"target":11},{"source":8,"target":37},{"source":8,"target":38},{"source":8,"target":39},{"source":37,"target":40},{"source":37,"target":41},{"source":37,"target":8},{"source":37,"target":42},{"source":41,"target":40},{"source":38,"target":13},{"source":38,"target":43},{"source":38,"target":8},{"source":43,"target":13},{"source":39,"target":11},{"source":9,"target":1},{"source":9,"target":44},{"source":9,"target":45},{"source":9,"target":46},{"source":44,"target":10},{"source":44,"target":47},{"source":44,"target":9},{"source":47,"target":10},{"source":45,"target":14},{"source":45,"target":48},{"source":45,"target":9},{"source":45,"target":49},{"source":48,"target":14},{"source":46,"target":50},{"source":46,"target":9},{"source":10,"target":1},{"source":10,"target":51},{"source":51,"target":12},{"source":51,"target":52},{"source":51,"target":10},{"source":51,"target":53},{"source":52,"target":12},{"source":11,"target":1},{"source":11,"target":54},{"source":11,"target":55},{"source":55,"target":54},{"source":12,"target":1},{"source":12,"target":54},{"source":12,"target":56},{"source":12,"target":35},{"source":12,"target":57},{"source":12,"target":53},{"source":12,"target":58},{"source":56,"target":59},{"source":56,"target":12},{"source":35,"target":6},{"source":35,"target":60},{"source":35,"target":12},{"source":35,"target":32},{"source":60,"target":6},{"source":57,"target":13},{"source":57,"target":61},{"source":57,"target":12},{"source":57,"target":62},{"source":61,"target":13},{"source":53,"target":10},{"source":53,"target":63},{"source":53,"target":12},{"source":53,"target":51},{"source":63,"target":10},{"source":58,"target":54},{"source":13,"target":1},{"source":13,"target":54},{"source":13,"target":64},{"source":13,"target":62},{"source":13,"target":65},{"source":13,"target":66},{"source":64,"target":13},{"source":64,"target":67},{"source":64,"target":13},{"source":67,"target":13},{"source":62,"target":12},{"source":62,"target":68},{"source":62,"target":13},{"source":62,"target":57},{"source":68,"target":12},{"source":65,"target":14},{"source":65,"target":69},{"source":65,"target":13},{"source":65,"target":70},{"source":69,"target":14},{"source":66,"target":54},{"source":14,"target":1},{"source":14,"target":54},{"source":14,"target":71},{"source":14,"target":49},{"source":14,"target":72},{"source":14,"target":70},{"source":14,"target":73},{"source":71,"target":15},{"source":71,"target":74},{"source":71,"target":14},{"source":74,"target":15},{"source":49,"target":9},{"source":49,"target":75},{"source":49,"target":14},{"source":49,"target":45},{"source":75,"target":9},{"source":72,"target":10},{"source":72,"target":76},{"source":72,"target":14},{"source":76,"target":10},{"source":70,"target":13},{"source":70,"target":77},{"source":70,"target":14},{"source":70,"target":65},{"source":77,"target":13},{"source":73,"target":54},{"source":15,"target":1},{"source":15,"target":78},{"source":15,"target":79},{"source":78,"target":80},{"source":78,"target":15},{"source":79,"target":81},{"source":79,"target":15},{"source":16,"target":1},{"source":16,"target":11},{"source":16,"target":82},{"source":16,"target":83},{"source":16,"target":84},{"source":82,"target":85},{"source":82,"target":86},{"source":82,"target":16},{"source":82,"target":87},{"source":86,"target":85},{"source":83,"target":13},{"source":83,"target":88},{"source":83,"target":16},{"source":88,"target":13},{"source":84,"target":11},{"source":17,"target":1},{"source":17,"target":89},{"source":17,"target":5},{"source":17,"target":90},{"source":17,"target":91},{"source":17,"target":92},{"source":17,"target":93},{"source":90,"target":94},{"source":90,"target":17},{"source":90,"target":95},{"source":90,"target":96},{"source":95,"target":97},{"source":95,"target":90},{"source":96,"target":98},{"source":96,"target":90},{"source":98,"target":99},{"source":98,"target":100},{"source":91,"target":101},{"source":91,"target":17},{"source":91,"target":102},{"source":91,"target":103},{"source":102,"target":104},{"source":102,"target":91},{"source":103,"target":105},{"source":103,"target":91},{"source":105,"target":106},{"source":105,"target":107},{"source":92,"target":89},{"source":93,"target":5},{"source":18,"target":1},{"source":18,"target":108},{"source":18,"target":109},{"source":18,"target":110},{"source":18,"target":111},{"source":18,"target":112},{"source":18,"target":113},{"source":18,"target":114},{"source":108,"target":18},{"source":109,"target":18},{"source":110,"target":18},{"source":111,"target":18},{"source":112,"target":18},{"source":113,"target":18},{"source":114,"target":18},{"source":19,"target":1},{"source":19,"target":10},{"source":19,"target":115},{"source":19,"target":116},{"source":115,"target":18},{"source":115,"target":117},{"source":115,"target":19},{"source":117,"target":18},{"source":116,"target":10},{"source":20,"target":1},{"source":20,"target":54},{"source":20,"target":10},{"source":20,"target":118},{"source":20,"target":119},{"source":20,"target":120},{"source":118,"target":10},{"source":118,"target":121},{"source":118,"target":20},{"source":121,"target":10},{"source":119,"target":54},{"source":120,"target":10},{"source":21,"target":1},{"source":21,"target":54},{"source":21,"target":10},{"source":21,"target":122},{"source":21,"target":123},{"source":21,"target":124},{"source":21,"target":125},{"source":122,"target":21},{"source":122,"target":126},{"source":122,"target":21},{"source":126,"target":21},{"source":123,"target":22},{"source":123,"target":127},{"source":123,"target":21},{"source":123,"target":128},{"source":127,"target":22},{"source":124,"target":54},{"source":125,"target":10},{"source":22,"target":1},{"source":22,"target":129},{"source":22,"target":130},{"source":22,"target":128},{"source":22,"target":131},{"source":130,"target":10},{"source":130,"target":132},{"source":130,"target":22},{"source":132,"target":10},{"source":128,"target":21},{"source":128,"target":133},{"source":128,"target":22},{"source":128,"target":123},{"source":133,"target":21},{"source":131,"target":129},{"source":2,"target":134},{"source":2,"target":135},{"source":2,"target":136},{"source":2,"target":137},{"source":2,"target":138},{"source":2,"target":139},{"source":2,"target":140},{"source":2,"target":141},{"source":2,"target":142},{"source":2,"target":31},{"source":2,"target":40},{"source":2,"target":85},{"source":2,"target":89},{"source":2,"target":129},{"source":2,"target":54},{"source":2,"target":143},{"source":2,"target":0},{"source":134,"target":2},{"source":134,"target":135},{"source":134,"target":144},{"source":144,"target":135},{"source":135,"target":2},{"source":135,"target":54},{"source":135,"target":145},{"source":135,"target":146},{"source":145,"target":136},{"source":145,"target":147},{"source":145,"target":135},{"source":145,"target":148},{"source":147,"target":136},{"source":146,"target":54},{"source":136,"target":2},{"source":136,"target":54},{"source":136,"target":149},{"source":136,"target":150},{"source":136,"target":151},{"source":136,"target":148},{"source":136,"target":152},{"source":149,"target":153},{"source":149,"target":136},{"source":149,"target":154},{"source":149,"target":155},{"source":154,"target":156},{"source":154,"target":149},{"source":155,"target":157},{"source":155,"target":149},{"source":157,"target":158},{"source":157,"target":159},{"source":150,"target":160},{"source":150,"target":136},{"source":150,"target":161},{"source":150,"target":162},{"source":161,"target":163},{"source":161,"target":150},{"source":162,"target":164},{"source":162,"target":150},{"source":164,"target":165},{"source":164,"target":166},{"source":151,"target":140},{"source":151,"target":167},{"source":151,"target":136},{"source":151,"target":168},{"source":167,"target":140},{"source":148,"target":135},{"source":148,"target":169},{"source":148,"target":136},{"source":148,"target":145},{"source":169,"target":135},{"source":152,"target":54},{"source":137,"target":2},{"source":137,"target":134},{"source":137,"target":170},{"source":137,"target":171},{"source":137,"target":172},{"source":137,"target":173},{"source":137,"target":174},{"source":137,"target":175},{"source":170,"target":176},{"source":170,"target":137},{"source":170,"target":177},{"source":170,"target":178},{"source":177,"target":179},{"source":177,"target":170},{"source":178,"target":180},{"source":178,"target":170},{"source":180,"target":181},{"source":180,"target":182},{"source":171,"target":183},{"source":171,"target":137},{"source":171,"target":184},{"source":171,"target":185},{"source":184,"target":186},{"source":184,"target":171},{"source":185,"target":187},{"source":185,"target":171},{"source":187,"target":188},{"source":187,"target":189},{"source":172,"target":8},{"source":172,"target":190},{"source":172,"target":137},{"source":190,"target":8},{"source":173,"target":8},{"source":173,"target":191},{"source":173,"target":137},{"source":191,"target":8},{"source":174,"target":140},{"source":174,"target":192},{"source":174,"target":137},{"source":192,"target":140},{"source":175,"target":134},{"source":138,"target":2},{"source":138,"target":134},{"source":138,"target":193},{"source":138,"target":194},{"source":138,"target":195},{"source":138,"target":196},{"source":193,"target":16},{"source":193,"target":197},{"source":193,"target":138},{"source":197,"target":16},{"source":194,"target":16},{"source":194,"target":198},{"source":194,"target":138},{"source":198,"target":16},{"source":195,"target":140},{"source":195,"target":199},{"source":195,"target":138},{"source":199,"target":140},{"source":196,"target":134},{"source":139,"target":2},{"source":139,"target":135},{"source":139,"target":200},{"source":139,"target":201},{"source":139,"target":202},{"source":139,"target":203},{"source":139,"target":204},{"source":139,"target":205},{"source":139,"target":206},{"source":139,"target":207},{"source":200,"target":208},{"source":200,"target":139},{"source":200,"target":209},{"source":200,"target":210},{"source":209,"target":211},{"source":209,"target":200},{"source":210,"target":212},{"source":210,"target":200},{"source":212,"target":213},{"source":212,"target":214},{"source":201,"target":215},{"source":201,"target":139},{"source":201,"target":216},{"source":201,"target":217},{"source":216,"target":218},{"source":216,"target":201},{"source":217,"target":219},{"source":217,"target":201},{"source":219,"target":220},{"source":219,"target":221},{"source":202,"target":222},{"source":202,"target":139},{"source":202,"target":223},{"source":202,"target":224},{"source":223,"target":225},{"source":223,"target":202},{"source":224,"target":226},{"source":224,"target":202},{"source":226,"target":227},{"source":226,"target":228},{"source":203,"target":140},{"source":203,"target":229},{"source":203,"target":139},{"source":229,"target":140},{"source":204,"target":140},{"source":204,"target":230},{"source":204,"target":139},{"source":230,"target":140},{"source":205,"target":8},{"source":205,"target":231},{"source":205,"target":139},{"source":231,"target":8},{"source":206,"target":16},{"source":206,"target":232},{"source":206,"target":139},{"source":232,"target":16},{"source":207,"target":135},{"source":140,"target":2},{"source":140,"target":54},{"source":140,"target":168},{"source":140,"target":233},{"source":140,"target":234},{"source":168,"target":136},{"source":168,"target":235},{"source":168,"target":140},{"source":168,"target":151},{"source":235,"target":136},{"source":233,"target":6},{"source":233,"target":236},{"source":233,"target":140},{"source":236,"target":6},{"source":234,"target":54},{"source":141,"target":2},{"source":141,"target":54},{"source":141,"target":89},{"source":141,"target":237},{"source":141,"target":238},{"source":141,"target":239},{"source":237,"target":240},{"source":237,"target":141},{"source":237,"target":241},{"source":237,"target":242},{"source":241,"target":243},{"source":241,"target":237},{"source":242,"target":244},{"source":242,"target":237},{"source":244,"target":245},{"source":244,"target":246},{"source":238,"target":54},{"source":239,"target":89},{"source":142,"target":2},{"source":142,"target":89},{"source":142,"target":6},{"source":142,"target":247},{"source":142,"target":248},{"source":247,"target":89},{"source":248,"target":6},{"source":31,"target":2},{"source":31,"target":40},{"source":31,"target":85},{"source":31,"target":249},{"source":31,"target":250},{"source":249,"target":40},{"source":250,"target":85},{"source":40,"target":2},{"source":40,"target":54},{"source":40,"target":42},{"source":40,"target":251},{"source":42,"target":8},{"source":42,"target":252},{"source":42,"target":40},{"source":42,"target":37},{"source":252,"target":8},{"source":251,"target":54},{"source":85,"target":2},{"source":85,"target":54},{"source":85,"target":87},{"source":85,"target":253},{"source":87,"target":16},{"source":87,"target":254},{"source":87,"target":85},{"source":87,"target":82},{"source":254,"target":16},{"source":253,"target":54},{"source":89,"target":2},{"source":89,"target":136},{"source":89,"target":31},{"source":89,"target":255},{"source":89,"target":256},{"source":255,"target":136},{"source":256,"target":31},{"source":129,"target":2},{"source":129,"target":257},{"source":257,"target":258},{"source":257,"target":129},{"source":54,"target":2},{"source":54,"target":129},{"source":54,"target":143},{"source":54,"target":259},{"source":54,"target":260},{"source":259,"target":129},{"source":260,"target":143},{"source":143,"target":2},{"source":143,"target":261},{"source":143,"target":262},{"source":261,"target":263},{"source":261,"target":143},{"source":261,"target":264},{"source":261,"target":265},{"source":264,"target":266},{"source":264,"target":261},{"source":265,"target":267},{"source":265,"target":261},{"source":267,"target":268},{"source":267,"target":269},{"source":262,"target":270},{"source":262,"target":143},{"source":3,"target":25},{"source":3,"target":271},{"source":3,"target":272},{"source":3,"target":273},{"source":3,"target":274},{"source":3,"target":275},{"source":3,"target":276},{"source":3,"target":277},{"source":3,"target":278},{"source":3,"target":279},{"source":3,"target":280},{"source":3,"target":0},{"source":25,"target":3},{"source":25,"target":281},{"source":25,"target":27},{"source":25,"target":282},{"source":281,"target":14},{"source":281,"target":283},{"source":281,"target":25},{"source":283,"target":14},{"source":27,"target":4},{"source":27,"target":284},{"source":27,"target":25},{"source":27,"target":23},{"source":284,"target":4},{"source":282,"target":271},{"source":282,"target":285},{"source":282,"target":25},{"source":282,"target":286},{"source":285,"target":271},{"source":271,"target":3},{"source":271,"target":286},{"source":271,"target":287},{"source":271,"target":288},{"source":286,"target":25},{"source":286,"target":289},{"source":286,"target":271},{"source":286,"target":282},{"source":289,"target":25},{"source":287,"target":277},{"source":287,"target":290},{"source":287,"target":271},{"source":290,"target":277},{"source":288,"target":272},{"source":288,"target":291},{"source":288,"target":271},{"source":288,"target":292},{"source":291,"target":272},{"source":272,"target":3},{"source":272,"target":54},{"source":272,"target":293},{"source":272,"target":294},{"source":272,"target":292},{"source":272,"target":295},{"source":272,"target":296},{"source":293,"target":272},{"source":293,"target":297},{"source":293,"target":272},{"source":293,"target":294},{"source":297,"target":272},{"source":294,"target":272},{"source":294,"target":298},{"source":294,"target":272},{"source":294,"target":293},{"source":298,"target":272},{"source":292,"target":271},{"source":292,"target":299},{"source":292,"target":272},{"source":292,"target":288},{"source":299,"target":271},{"source":295,"target":280},{"source":295,"target":300},{"source":295,"target":272},{"source":295,"target":301},{"source":300,"target":280},{"source":296,"target":54},{"source":273,"target":3},{"source":273,"target":272},{"source":273,"target":302},{"source":302,"target":272},{"source":274,"target":3},{"source":274,"target":272},{"source":274,"target":303},{"source":303,"target":272},{"source":275,"target":3},{"source":275,"target":272},{"source":275,"target":304},{"source":275,"target":305},{"source":275,"target":306},{"source":304,"target":14},{"source":304,"target":307},{"source":304,"target":275},{"source":307,"target":14},{"source":305,"target":16},{"source":305,"target":308},{"source":305,"target":275},{"source":308,"target":16},{"source":306,"target":272},{"source":276,"target":3},{"source":276,"target":272},{"source":276,"target":309},{"source":276,"target":310},{"source":309,"target":277},{"source":309,"target":311},{"source":309,"target":276},{"source":309,"target":312},{"source":311,"target":277},{"source":310,"target":272},{"source":277,"target":3},{"source":277,"target":54},{"source":277,"target":280},{"source":277,"target":312},{"source":277,"target":313},{"source":277,"target":314},{"source":277,"target":315},{"source":312,"target":276},{"source":312,"target":316},{"source":312,"target":277},{"source":312,"target":309},{"source":316,"target":276},{"source":313,"target":317},{"source":313,"target":277},{"source":314,"target":54},{"source":315,"target":280},{"source":278,"target":3},{"source":278,"target":25},{"source":278,"target":280},{"source":278,"target":318},{"source":278,"target":319},{"source":278,"target":320},{"source":318,"target":277},{"source":318,"target":321},{"source":318,"target":278},{"source":321,"target":277},{"source":319,"target":25},{"source":320,"target":280},{"source":279,"target":3},{"source":279,"target":272},{"source":279,"target":322},{"source":322,"target":272},{"source":280,"target":3},{"source":280,"target":301},{"source":301,"target":272},{"source":301,"target":323},{"source":301,"target":280},{"source":301,"target":295},{"source":323,"target":272}],"multigraph":true}