pcm_pc_av
DummyClass
Pointcut
children
Advice
children
GlobalScope
scopedObject
PerJoinPointScope
scopedObject
core_pc_av
PCMRandomVariable
SpecificationMustNotBeNULL
diagnostics
context
closedWorkload_PCMRandomVariable
passiveResource_capacity_PCMRandomVariable
variableCharacterisation_Specification
infrastructureCall__PCMRandomVariable
resourceCall__PCMRandomVariable
parametricResourceDemand_PCMRandomVariable
loopAction_PCMRandomVariable
guardedBranchTransition_PCMRandomVariable
specifiedExecutionTime_PCMRandomVariable
eventChannelSinkConnector__FilterCondition
assemblyEventConnector__FilterCondition
loop_LoopIteration
openWorkload_PCMRandomVariable
delay_TimeSpecification
communicationLinkResourceSpecifcation_throughput_PCMRandomVariable
processingResourceSpecification_processingRate_PCMRandomVariable
communicationLinkResourceSpecification_latency_PCMRandomVariable
entity_pc_av
ResourceProvidedRole
resourceInterfaceProvidingEntity__ResourceProvidedRole
providedResourceInterface__ResourceProvidedRole
InterfaceProvidingRequiringEntity
InterfaceProvidingEntity
providedRoles_InterfaceProvidingEntity
InterfaceRequiringEntity
requiredRoles_InterfaceRequiringEntity
ResourceInterfaceRequiringEntity
resourceRequiredRoles__ResourceInterfaceRequiringEntity
ResourceRequiredRole
requiredResourceInterface__ResourceRequiredRole
resourceInterfaceRequiringEntity__ResourceRequiredRole
ResourceInterfaceProvidingEntity
resourceProvidedRoles__ResourceInterfaceProvidingEntity
ComposedProvidingRequiringEntity
ProvidedRolesMustBeBound
diagnostics
context
NamedElement
entityName
aName
ResourceInterfaceProvidingRequiringEntity
Entity
composition_pc_av
DelegationConnector
Connector
parentStructure__Connector
ComposedStructure
MultipleConnectorsConstraint
diagnostics
context
MultipleConnectorsConstraintForAssemblyConnectors
diagnostics
context
assemblyContexts__ComposedStructure
resourceRequiredDelegationConnectors_ComposedStructure
eventChannel__ComposedStructure
connectors__ComposedStructure
ResourceRequiredDelegationConnector
innerResourceRequiredRole_ResourceRequiredDelegationConnector
outerResourceRequiredRole_ResourceRequiredDelegationConnector
parentStructure_ResourceRequiredDelegationConnector
EventChannel
eventGroup__EventChannel
eventChannelSourceConnector__EventChannel
eventChannelSinkConnector__EventChannel
parentStructure__EventChannel
EventChannelSourceConnector
sourceRole__EventChannelSourceRole
assemblyContext__EventChannelSourceConnector
eventChannel__EventChannelSourceConnector
EventChannelSinkConnector
sinkRole__EventChannelSinkConnector
filterCondition__EventChannelSinkConnector
assemblyContext__EventChannelSinkConnector
eventChannel__EventChannelSinkConnector
ProvidedDelegationConnector
ProvidedDelegationConnectorandtheconnectedComponentmustbepartofthesamecompositestructure
diagnostics
context
ComponentOfAssemblyContextAndInnerRoleProvidingComponentNeedToBeTheSame
diagnostics
context
innerProvidedRole_ProvidedDelegationConnector
outerProvidedRole_ProvidedDelegationConnector
assemblyContext_ProvidedDelegationConnector
RequiredDelegationConnector
RequiredDelegationConnectorandtheconnectedComponentmustbepartofthesamecompositestructure
diagnostics
context
ComponentOfAssemblyContextAndInnerRoleRequiringComponentNeedToBeTheSame
diagnostics
context
RequiringEntityOfOuterRequiredRoleMustBeTheSameAsTheParentOfTheRequiredDelegationConnector
diagnostics
context
innerRequiredRole_RequiredDelegationConnector
outerRequiredRole_RequiredDelegationConnector
assemblyContext_RequiredDelegationConnector
AssemblyConnector
AssemblyConnectorsReferencedProvidedRolesAndChildContextMustMatch
diagnostics
context
AssemblyConnectorsReferencedRequiredRoleAndChildContextMustMatch
diagnostics
context
AssemblyConnectorsReferencedInterfacesMustMatch
diagnostics
context
requiringAssemblyContext_AssemblyConnector
providingAssemblyContext_AssemblyConnector
providedRole_AssemblyConnector
requiredRole_AssemblyConnector
AssemblyEventConnector
sinkRole__AssemblyEventConnector
sourceRole__AssemblyEventConnector
sinkAssemblyContext__AssemblyEventConnector
sourceAssemblyContext__AssemblyEventConnector
filterCondition__AssemblyEventConnector
SourceDelegationConnector
innerSourceRole__SourceRole
outerSourceRole__SourceRole
assemblyContext__SourceDelegationConnector
SinkDelegationConnector
assemblyContext__SinkDelegationConnector
innerSinkRole__SinkRole
outerSinkRole__SinkRole
AssemblyInfrastructureConnector
providedRole__AssemblyInfrastructureConnector
requiredRole__AssemblyInfrastructureConnector
providingAssemblyContext__AssemblyInfrastructureConnector
requiringAssemblyContext__AssemblyInfrastructureConnector
ProvidedInfrastructureDelegationConnector
innerProvidedRole__ProvidedInfrastructureDelegationConnector
outerProvidedRole__ProvidedInfrastructureDelegationConnector
assemblyContext__ProvidedInfrastructureDelegationConnector
RequiredInfrastructureDelegationConnector
innerRequiredRole__RequiredInfrastructureDelegationConnector
outerRequiredRole__RequiredInfrastructureDelegationConnector
assemblyContext__RequiredInfrastructureDelegationConnector
RequiredResourceDelegationConnector
assemblyContext__RequiredResourceDelegationConnector
innerRequiredRole__RequiredResourceDelegationConnector
outerRequiredRole__RequiredResourceDelegationConnector
AssemblyContext
parentStructure__AssemblyContext
encapsulatedComponent__AssemblyContext
configParameterUsages__AssemblyContext
usagemodel_pc_av
Workload
usageScenario_Workload
UsageScenario
usageModel_UsageScenario
scenarioBehaviour_UsageScenario
workload_UsageScenario
UserData
assemblyContext_userData
usageModel_UserData
userDataParameterUsages_UserData
UsageModel
usageScenario_UsageModel
userData_UsageModel
EntryLevelSystemCall
EntryLevelSystemCallMustReferenceProvidedRoleOfASystem
diagnostics
context
EntryLevelSystemCallSignatureMustMatchItsProvidedRole
diagnostics
context
providedRole_EntryLevelSystemCall
operationSignature__EntryLevelSystemCall
outputParameterUsages_EntryLevelSystemCall
priority
inputParameterUsages_EntryLevelSystemCall
AbstractUserAction
successor
predecessor
scenarioBehaviour_AbstractUserAction
ScenarioBehaviour
Exactlyonestart
diagnostics
context
Exactlyonestop
diagnostics
context
EachuseractionexceptStartandStopmusthaveapredecessorandsuccessor
diagnostics
context
usageScenario_SenarioBehaviour
branchTransition_ScenarioBehaviour
loop_ScenarioBehaviour
actions_ScenarioBehaviour
BranchTransition
branchProbability
branch_BranchTransition
branchedBehaviour_BranchTransition
Branch
AllBranchProbabilitiesMustSumUpTo1
diagnostics
context
branchTransitions_Branch
Loop
loopIteration_Loop
bodyBehaviour_Loop
Stop
StopHasNoSuccessor
diagnostics
context
Start
StartHasNoPredecessor
diagnostics
context
OpenWorkload
InterArrivalTimeInOpenWorkloadNeedsToBeSpecified
diagnostics
context
interArrivalTime_OpenWorkload
Delay
timeSpecification_Delay
ClosedWorkload
PopulationInClosedWorkloadNeedsToBeSpecified
diagnostics
context
ThinkTimeInClosedWorkloadNeedsToBeSpecified
diagnostics
context
population
thinkTime_ClosedWorkload
repository_pc_av
PassiveResource
capacity_PassiveResource
basicComponent_PassiveResource
resourceTimeoutFailureType__PassiveResource
BasicComponent
NoSeffTypeUsedTwice
diagnostics
context
ProvideSameInterfacesAsImplementationType
diagnostics
context
RequireSameInterfacesAsImplementationType
diagnostics
context
serviceEffectSpecifications__BasicComponent
passiveResource_BasicComponent
ImplementationComponentType
RequiredInterfacesHaveToConformToCompleteType
diagnostics
context
providedInterfacesHaveToConformToCompleteType
diagnostics
context
ProvidedInterfaceHaveToConformToComponentType
diagnostics
context
parentCompleteComponentTypes
componentParameterUsage_ImplementationComponentType
componentType
BUSINESS_COMPONENT
RepositoryComponent
repository__RepositoryComponent
ProvidedRole
providingEntity_ProvidedRole
Parameter
dataType__Parameter
infrastructureSignature__Parameter
operationSignature__Parameter
eventType__Parameter
parameterName
modifier__Parameter
resourceSignature__Parameter
DataType
repository__DataType
Repository
repositoryDescription
components__Repository
interfaces__Repository
failureTypes__Repository
dataTypes__Repository
Interface
NoProtocolTypeIDUsedTwice
diagnostics
context
parentInterfaces__Interface
protocols__Interface
requiredCharacterisations
repository__Interface
RequiredCharacterisation
type
parameter
interface_RequiredCharacterisation
EventGroup
eventTypes__EventGroup
EventType
parameter__EventType
eventGroup__EventType
Signature
exceptions__Signature
failureType
ExceptionType
exceptionName
exceptionMessage
InfrastructureSignature
parameters__InfrastructureSignature
infrastructureInterface__InfrastructureSignature
InfrastructureInterface
infrastructureSignatures__InfrastructureInterface
InfrastructureRequiredRole
requiredInterface__InfrastructureRequiredRole
RequiredRole
requiringEntity_RequiredRole
OperationSignature
ParameterNamesHaveToBeUniqueForASignature
diagnostics
context
interface__OperationSignature
parameters__OperationSignature
returnType__OperationSignature
OperationInterface
SignaturesHaveToBeUniqueForAnInterface
diagnostics
context
signatures__OperationInterface
OperationRequiredRole
requiredInterface__OperationRequiredRole
SourceRole
eventGroup__SourceRole
SinkRole
eventGroup__SinkRole
OperationProvidedRole
providedInterface__OperationProvidedRole
InfrastructureProvidedRole
providedInterface__InfrastructureProvidedRole
ParameterModifier
none
none
in
in
out
out
inout
inout
CompleteComponentType
AtLeastOneInterfaceHasToBeProvidedOrRequiredByAUsefullCompleteComponentType
diagnostics
context
providedInterfacesHaveToConformToProvidedType2
diagnostics
context
parentProvidesComponentTypes
ProvidesComponentType
AtLeastOneInterfaceHasToBeProvidedByAUsefullProvidesComponentType
diagnostics
context
ComponentType
BUSINESS_COMPONENT
BUSINESS_COMPONENT
INFRASTRUCTURE_COMPONENT
INFRASTRUCTURE_COMPONENT
CompositeComponent
ProvideSameInterfaces
diagnostics
context
RequireSameInterfaces
diagnostics
context
PrimitiveDataType
type
PrimitiveTypeEnum
INT
INT
STRING
STRING
BOOL
BOOL
DOUBLE
DOUBLE
CHAR
CHAR
BYTE
BYTE
LONG
LONG
CollectionDataType
innerType_CollectionDataType
CompositeDataType
parentType_CompositeDataType
innerDeclaration_CompositeDataType
InnerDeclaration
datatype_InnerDeclaration
compositeDataType_InnerDeclaration
Role
resourcetype_pc_av
ResourceSignature
parameter__ResourceSignature
resourceServiceId
resourceInterface__ResourceSignature
ProcessingResourceType
hardwareInducedFailureType__ProcessingResourceType
ResourceType
resourceRepository_ResourceType
ResourceRepository
resourceInterfaces__ResourceRepository
schedulingPolicies__ResourceRepository
availableResourceTypes_ResourceRepository
SchedulingPolicy
resourceRepository__SchedulingPolicy
CommunicationLinkResourceType
networkInducedFailureType__CommunicationLinkResourceType
ResourceInterface
resourceRepository__ResourceInterface
resourceSignatures__ResourceInterface
protocol_pc_av
Protocol
protocolTypeID
parameter_pc_av
VariableUsage
variableCharacterisation_VariableUsage
userData_VariableUsage
callAction__VariableUsage
synchronisationPoint_VariableUsage
callReturnAction__VariableUsage
setVariableAction_VariableUsage
specifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage
assemblyContext__VariableUsage
entryLevelSystemCall_InputParameterUsage
entryLevelSystemCall_OutputParameterUsage
namedReference__VariableUsage
VariableCharacterisation
type
specification_VariableCharacterisation
variableUsage_VariableCharacterisation
CharacterisedVariable
characterisationType
VariableCharacterisationType
STRUCTURE
STRUCTURE
NUMBER_OF_ELEMENTS
NUMBER_OF_ELEMENTS
VALUE
VALUE
BYTESIZE
BYTESIZE
TYPE
TYPE
reliability_pc_av
FailureOccurrenceDescription
EnsureValidFailureProbabilityRange
diagnostics
context
failureProbability
HardwareInducedFailureType
HardwareInducedFailureTypeHasProcessingResourceType
diagnostics
context
processingResourceType__HardwareInducedFailureType
SoftwareInducedFailureType
internalFailureOccurrenceDescriptions__SoftwareInducedFailureType
InternalFailureOccurrenceDescription
NoResourceTimeoutFailureAllowedForInternalFailureOccurrenceDescription
diagnostics
context
internalAction__InternalFailureOccurrenceDescription
softwareInducedFailureType__InternalFailureOccurrenceDescription
NetworkInducedFailureType
NetworkInducedFailureTypeHasCommunicationLinkResourceType
diagnostics
context
communicationLinkResourceType__NetworkInducedFailureType
ExternalFailureOccurrenceDescription
NoResourceTimeoutFailureAllowedForExternalFailureOccurrenceDescription
diagnostics
context
specifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription
failureType__ExternalFailureOccurrenceDescription
ResourceTimeoutFailureType
passiveResource__ResourceTimeoutFailureType
FailureType
repository__FailureType
seff_pc_av
StopAction
StopActionSuccessorMustNotBeDefined
diagnostics
context
AbstractInternalControlFlowAction
resourceDemand_Action
infrastructureCall__Action
resourceCall__Action
AbstractAction
predecessor_AbstractAction
successor_AbstractAction
resourceDemandingBehaviour_AbstractAction
ResourceDemandingBehaviour
ExactlyOneStopAction
diagnostics
context
ExactlyOneStartAction
diagnostics
context
EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor
diagnostics
context
abstractLoopAction_ResourceDemandingBehaviour
abstractBranchTransition_ResourceDemandingBehaviour
steps_Behaviour
AbstractLoopAction
bodyBehaviour_Loop
AbstractBranchTransition
branchAction_AbstractBranchTransition
branchBehaviour_BranchTransition
BranchAction
EitherGuardedBranchesOrProbabilisiticBranchTransitions
diagnostics
context
AllProbabilisticBranchProbabilitiesMustSumUpTo1
diagnostics
context
branches_Branch
CallAction
inputVariableUsages__CallAction
StartAction
StartActionPredecessorMustNotBeDefined
diagnostics
context
ServiceEffectSpecification
ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole
diagnostics
context
seffTypeID
1
describedService__SEFF
basicComponent_ServiceEffectSpecification
ResourceDemandingSEFF
resourceDemandingInternalBehaviours
ResourceDemandingInternalBehaviour
resourceDemandingSEFF_ResourceDemandingInternalBehaviour
ReleaseAction
passiveResource_ReleaseAction
LoopAction
iterationCount_LoopAction
ForkAction
asynchronousForkedBehaviours_ForkAction
synchronisingBehaviours_ForkAction
ForkedBehaviour
synchronisationPoint_ForkedBehaviour
forkAction_ForkedBehaivour
SynchronisationPoint
outputParameterUsage_SynchronisationPoint
forkAction_SynchronisationPoint
synchronousForkedBehaviours_SynchronisationPoint
ExternalCallAction
SignatureBelongsToRole
diagnostics
context
OperationRequiredRoleMustBeReferencedByContainer
diagnostics
context
calledService_ExternalService
role_ExternalService
retryCount
CallReturnAction
returnVariableUsage__CallReturnAction
ProbabilisticBranchTransition
branchProbability
AcquireAction
TimeoutValueOfAcquireActionMustNotBeNegative
diagnostics
context
passiveresource_AcquireAction
timeout
timeoutValue
CollectionIteratorAction
parameter_CollectionIteratorAction
GuardedBranchTransition
branchCondition_GuardedBranchTransition
SetVariableAction
localVariableUsages_SetVariableAction
InternalCallAction
calledResourceDemandingInternalBehaviour
EmitEventAction
eventType__EmitEventAction
sourceRole__EmitEventAction
InternalAction
MultipleInternalOccurrenceDescriptionsPerFailureTypeNotAllowed
diagnostics
context
SumOfInternalActionFailureProbabilitiesMustNotExceed1
diagnostics
context
internalFailureOccurrenceDescriptions__InternalAction
seff_performance_pc_av
InfrastructureCall
SignatureMustBelongToUsedRequiredRole
diagnostics
context
ReferencedRequiredRoleMustBeRequiredByComponent
diagnostics
context
SignatureRoleCombinationMustBeUniqueWithinAbstractInternalControlFlowAction
diagnostics
context
signature__InfrastructureCall
numberOfCalls__InfrastructureCall
action__InfrastructureCall
requiredRole__InfrastructureCall
ResourceCall
ResourceSignatureBelongsToResourceRequiredRole
diagnostics
context
ResourceRequiredRoleMustBeReferencedByComponent
diagnostics
context
SignatureRoleCombinationMustBeUniqueWithinAbstractInternalControlFlowAction
diagnostics
context
action__ResourceCall
resourceRequiredRole__ResourceCall
signature__ResourceCall
numberOfCalls__ResourceCall
ParametricResourceDemand
DemandedProcessingResourceMustBeUniqueWithinAbstractInternalControlFlowAction
diagnostics
context
specification_ParametericResourceDemand
requiredResource_ParametricResourceDemand
action_ParametricResourceDemand
seff_reliability_pc_av
RecoveryActionBehaviour
RecoveryActionBehaviourHasOnlyOnePredecessor
diagnostics
context
RecoveryActionBehaviourIsNotSuccessorOfItself
diagnostics
context
SuccessorsOfRecoveryActionBehaviourHandleDisjointFailureTypes
diagnostics
context
failureHandlingAlternatives__RecoveryActionBehaviour
recoveryAction__RecoveryActionBehaviour
RecoveryAction
PrimaryBehaviourOfRecoveryActionMustBeSet
diagnostics
context
primaryBehaviour__RecoveryAction
recoveryActionBehaviours__RecoveryAction
FailureHandlingEntity
failureTypes_FailureHandlingEntity
qosannotations_pc_av
SpecifiedQoSAnnotation
signature_SpecifiedQoSAnnation
role_SpecifiedQoSAnnotation
qosAnnotations_SpecifiedQoSAnnotation
QoSAnnotations
MultipleReliabilityAnnotationsPerExternalCallNotAllowed
diagnostics
context
specifiedOutputParameterAbstractions_QoSAnnotations
system_QoSAnnotations
specifiedQoSAnnotations_QoSAnnotations
SpecifiedOutputParameterAbstraction
signature_SpecifiedOutputParameterAbstraction
role_SpecifiedOutputParameterAbstraction
expectedExternalOutputs_SpecifiedOutputParameterAbstraction
qosAnnotations_SpecifiedOutputParameterAbstraction
qos_performance_pc_av
SystemSpecifiedExecutionTime
SystemSpecifiedExecutionTimeMustReferenceRequiredRoleOfASystem
diagnostics
context
SpecifiedExecutionTime
specification_SpecifiedExecutionTime
ComponentSpecifiedExecutionTime
assemblyContext_ComponentSpecifiedExecutionTime
qos_reliability_pc_av
SpecifiedReliabilityAnnotation
SpecifiedReliabilityAnnotationMustReferenceRequiredRoleOfASystem
diagnostics
context
SumOfReliabilityAnnotationFailureProbabilitiesMustNotExceed1
diagnostics
context
MultipleExternalOccurrenceDescriptionsPerFailureTypeNotAllowed
diagnostics
context
externalFailureOccurrenceDescriptions__SpecifiedReliabilityAnnotation
system_pc_av
System
SystemMustHaveAtLeastOneProvidedRole
diagnostics
context
qosAnnotations_System
resourceenvironment_pc_av
ResourceEnvironment
linkingResources__ResourceEnvironment
resourceContainer_ResourceEnvironment
LinkingResource
connectedResourceContainers_LinkingResource
communicationLinkResourceSpecifications_LinkingResource
resourceEnvironment_LinkingResource
ResourceContainer
activeResourceSpecifications_ResourceContainer
resourceEnvironment_ResourceContainer
nestedResourceContainers__ResourceContainer
parentResourceContainer__ResourceContainer
ProcessingResourceSpecification
MTTR
0.0
MTTF
0.0
requiredByContainer
schedulingPolicy
activeResourceType_ActiveResourceSpecification
processingRate_ProcessingResourceSpecification
numberOfReplicas
1
resourceContainer_ProcessingResourceSpecification
CommunicationLinkResourceSpecification
linkingResource_CommunicationLinkResourceSpecification
failureProbability
0.0
communicationLinkResourceType_CommunicationLinkResourceSpecification
latency_CommunicationLinkResourceSpecification
throughput_CommunicationLinkResourceSpecification
allocation_pc_av
AllocationContext
OneAssemblyContextOrOneEventChannelShouldBeReferred
diagnostics
context
resourceContainer_AllocationContext
assemblyContext_AllocationContext
allocation_AllocationContext
eventChannel__AllocationContext
Allocation
EachAssemblyContextWithinSystemHasToBeAllocatedExactlyOnce
diagnostics
context
CommunicatingServersHaveToBeConnectedByLinkingResource
diagnostics
context
targetResourceEnvironment_Allocation
system_Allocation
allocationContexts_Allocation
subsystem_pc_av
SubSystem
completions_pc_av
Completion
CompletionRepository
completions_CompletionRepository
DelegatingExternalCallAction
NetworkDemandParametricResourceDemand
requiredCommunicationLinkResource_ParametricResourceDemand
<?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="pcm_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/5.0_pointcut_advice"
    nsPrefix="de.uka.ipd.sdq.pcm_pc_av">
  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
    <details key="documentation" value="This package is the root package of all packages of the Palladio Component Model (PCM)."/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EClass" name="DummyClass"/>
  <eClassifiers xsi:type="ecore:EClass" name="Pointcut">
    <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Advice">
    <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="GlobalScope">
    <eStructuralFeatures xsi:type="ecore:EReference" name="scopedObject" lowerBound="1"
        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PerJoinPointScope">
    <eStructuralFeatures xsi:type="ecore:EReference" name="scopedObject" lowerBound="1"
        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
  </eClassifiers>
  <eSubpackages name="core_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/Core/5.0_pointcut_advice"
      nsPrefix="core_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="This package contains the PCM Core meta-classes used throughout the PCM: entities carrying a  globally unique ID (GUID), an abstract model for entities which provide and require interfaces, and  an abstract model to describe entities composed from other entities."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="PCMRandomVariable" eSuperTypes="stoex_pointcut_advice.ecore#//RandomVariable">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Random variables are used to describe user and component behaviour. They allow not only constant values (e.g., 3 loop iterations), but also probabilistic values (e.g., 2 loop iterations with a probability of 0.4 and 3 loop iterations with a probability of 0.6). They are well-suited for capturing uncertainty when modelling systems during early development stages. Examples where developers may use random variables are:&#xD;&#xA;- Characterisations of Input Parameters: Describes the QoS relevant characteristics of parameters of component services.&#xD;&#xA;- Inter-Arrival Time: Describes how much time passes between the arrival of two subsequent users.&#xD;&#xA;- Think Time: Describes how much time passes between the execution of a user scenario and the start of the next execution of this scenario.&#xD;&#xA;- Loop Iteration Count: Describes the number of repetitions of a loop.&#xD;&#xA;- Guarded Branch Transitions: Used to determine whether to conditionally execute a certain behaviour.&#xD;&#xA;&#xD;&#xA;PCMRandomVariable extends RandomVariable in a way, that the only type of variables available in the PCMRandomVariable are references to variable characterisations like a.NUMBER_OF_ELEMENTS. The corresponding editors ensure that the user can enter only valid expressions."/>
      </eAnnotations>
      <eOperations name="SpecificationMustNotBeNULL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="not self.specification.oclIsUndefined() and self.specification &lt;> ''"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="closedWorkload_PCMRandomVariable"
          ordered="false" eType="#//usagemodel_pc_av/ClosedWorkload" eOpposite="#//usagemodel_pc_av/ClosedWorkload/thinkTime_ClosedWorkload"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="passiveResource_capacity_PCMRandomVariable"
          ordered="false" eType="#//repository_pc_av/PassiveResource" eOpposite="#//repository_pc_av/PassiveResource/capacity_PassiveResource"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="variableCharacterisation_Specification"
          ordered="false" eType="#//parameter_pc_av/VariableCharacterisation" eOpposite="#//parameter_pc_av/VariableCharacterisation/specification_VariableCharacterisation"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="infrastructureCall__PCMRandomVariable"
          ordered="false" eType="#//seff_pc_av/seff_performance_pc_av/InfrastructureCall"
          eOpposite="#//seff_pc_av/seff_performance_pc_av/InfrastructureCall/numberOfCalls__InfrastructureCall"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceCall__PCMRandomVariable"
          ordered="false" eType="#//seff_pc_av/seff_performance_pc_av/ResourceCall"
          eOpposite="#//seff_pc_av/seff_performance_pc_av/ResourceCall/numberOfCalls__ResourceCall"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parametricResourceDemand_PCMRandomVariable"
          ordered="false" eType="#//seff_pc_av/seff_performance_pc_av/ParametricResourceDemand"
          eOpposite="#//seff_pc_av/seff_performance_pc_av/ParametricResourceDemand/specification_ParametericResourceDemand"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="loopAction_PCMRandomVariable"
          ordered="false" eType="#//seff_pc_av/LoopAction" eOpposite="#//seff_pc_av/LoopAction/iterationCount_LoopAction"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="guardedBranchTransition_PCMRandomVariable"
          ordered="false" eType="#//seff_pc_av/GuardedBranchTransition" eOpposite="#//seff_pc_av/GuardedBranchTransition/branchCondition_GuardedBranchTransition"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="specifiedExecutionTime_PCMRandomVariable"
          ordered="false" eType="#//qosannotations_pc_av/qos_performance_pc_av/SpecifiedExecutionTime"
          eOpposite="#//qosannotations_pc_av/qos_performance_pc_av/SpecifiedExecutionTime/specification_SpecifiedExecutionTime"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="eventChannelSinkConnector__FilterCondition"
          ordered="false" eType="#//core_pc_av/composition_pc_av/EventChannelSinkConnector"
          eOpposite="#//core_pc_av/composition_pc_av/EventChannelSinkConnector/filterCondition__EventChannelSinkConnector"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyEventConnector__FilterCondition"
          ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyEventConnector"
          eOpposite="#//core_pc_av/composition_pc_av/AssemblyEventConnector/filterCondition__AssemblyEventConnector"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="loop_LoopIteration" ordered="false"
          eType="#//usagemodel_pc_av/Loop" eOpposite="#//usagemodel_pc_av/Loop/loopIteration_Loop"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="openWorkload_PCMRandomVariable"
          ordered="false" eType="#//usagemodel_pc_av/OpenWorkload" eOpposite="#//usagemodel_pc_av/OpenWorkload/interArrivalTime_OpenWorkload"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="delay_TimeSpecification"
          ordered="false" eType="#//usagemodel_pc_av/Delay" eOpposite="#//usagemodel_pc_av/Delay/timeSpecification_Delay"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="communicationLinkResourceSpecifcation_throughput_PCMRandomVariable"
          ordered="false" eType="#//resourceenvironment_pc_av/CommunicationLinkResourceSpecification"
          eOpposite="#//resourceenvironment_pc_av/CommunicationLinkResourceSpecification/throughput_CommunicationLinkResourceSpecification"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="processingResourceSpecification_processingRate_PCMRandomVariable"
          ordered="false" eType="#//resourceenvironment_pc_av/ProcessingResourceSpecification"
          eOpposite="#//resourceenvironment_pc_av/ProcessingResourceSpecification/processingRate_ProcessingResourceSpecification"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="communicationLinkResourceSpecification_latency_PCMRandomVariable"
          ordered="false" eType="#//resourceenvironment_pc_av/CommunicationLinkResourceSpecification"
          eOpposite="#//resourceenvironment_pc_av/CommunicationLinkResourceSpecification/latency_CommunicationLinkResourceSpecification"/>
    </eClassifiers>
    <eSubpackages name="entity_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/Core/Entity/5.0_pointcut_advice"
        nsPrefix="entity_pc_av">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This  set of abstract meta-classes gives a conceptual view on interfaces, entities and their relationships: 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. &#xD;&#xA;&#xD;&#xA;Base of the inheritance hierarchy are Identifier and NamedElement, both of which Entity and all inheriting classes are derived from. &#xD;&#xA;&#xD;&#xA;The relationship of Entities and Interfaces is described with the three meta classes InterfaceProvidingEntity, InterfaceRequiringEntity, and InterfaceProvidingRequiringEntity. The abstract meta-class InterfaceProvidingEntity is inherited by all entities which can potentially offer interface implementations. Similarly, the meta-class InterfaceRequiringEntity is inherited by all entities which are allowed to request functionality offer by entities providing this functionality. InterfaceProvidingRequiringEntity inherits from both of them and thus combines their properties. "/>
      </eAnnotations>
      <eClassifiers xsi:type="ecore:EClass" name="ResourceProvidedRole" eSuperTypes="#//repository_pc_av/Role">
        <eStructuralFeatures xsi:type="ecore:EReference" name="resourceInterfaceProvidingEntity__ResourceProvidedRole"
            ordered="false" eType="#//core_pc_av/entity_pc_av/ResourceInterfaceProvidingEntity"
            eOpposite="#//core_pc_av/entity_pc_av/ResourceInterfaceProvidingEntity/resourceProvidedRoles__ResourceInterfaceProvidingEntity"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="providedResourceInterface__ResourceProvidedRole"
            ordered="false" eType="#//resourcetype_pc_av/ResourceInterface"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="InterfaceProvidingRequiringEntity"
          eSuperTypes="#//core_pc_av/entity_pc_av/InterfaceProvidingEntity #//core_pc_av/entity_pc_av/InterfaceRequiringEntity">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This meta-class is inherited by classes that both require and provide an Interface. It thus combines the properties of InterfaceProvidingEntity and InterfaceRequiringEntity. Prominent inheriting classes are all component types, for example.&#xD;&#xA;&#xD;&#xA;See also:&#xD;&#xA;Interface, ProvidedRole, RequiredRole, InterfaceProvidingEntity, InterfaceRequiringEntity"/>
        </eAnnotations>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="InterfaceProvidingEntity" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="All Entities that provide an Interface are represented by this class. Prominent inheriting classes are all component types, for example.&#xD;&#xA;&#xD;&#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 InterfaceProvidingEntity is inherited by all entities which can potentially offer interface implementations. Similarly, the meta-class InterfaceRequiringEntity is inherited by all entities which are allowed to request functionality offered by entities providing this functionality.&#xD;&#xA;&#xD;&#xA;See also:&#xD;&#xA;Interface, ProvidedRole"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="providedRoles_InterfaceProvidingEntity"
            ordered="false" upperBound="-1" eType="#//repository_pc_av/ProvidedRole"
            containment="true" eOpposite="#//repository_pc_av/ProvidedRole/providingEntity_ProvidedRole"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="InterfaceRequiringEntity" eSuperTypes="#//core_pc_av/entity_pc_av/Entity #//core_pc_av/entity_pc_av/ResourceInterfaceRequiringEntity">
        <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.&#xD;&#xA;&#xD;&#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.&#xD;&#xA;&#xD;&#xA;See also:&#xD;&#xA;Interface, RequiredRole"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="requiredRoles_InterfaceRequiringEntity"
            ordered="false" upperBound="-1" eType="#//repository_pc_av/RequiredRole"
            containment="true" eOpposite="#//repository_pc_av/RequiredRole/requiringEntity_RequiredRole"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ResourceInterfaceRequiringEntity"
          eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
        <eStructuralFeatures xsi:type="ecore:EReference" name="resourceRequiredRoles__ResourceInterfaceRequiringEntity"
            ordered="false" upperBound="-1" eType="#//core_pc_av/entity_pc_av/ResourceRequiredRole"
            containment="true" eOpposite="#//core_pc_av/entity_pc_av/ResourceRequiredRole/resourceInterfaceRequiringEntity__ResourceRequiredRole"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ResourceRequiredRole" eSuperTypes="#//repository_pc_av/Role">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Required role for resource interface access of a component"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="requiredResourceInterface__ResourceRequiredRole"
            ordered="false" eType="#//resourcetype_pc_av/ResourceInterface"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="resourceInterfaceRequiringEntity__ResourceRequiredRole"
            ordered="false" eType="#//core_pc_av/entity_pc_av/ResourceInterfaceRequiringEntity"
            eOpposite="#//core_pc_av/entity_pc_av/ResourceInterfaceRequiringEntity/resourceRequiredRoles__ResourceInterfaceRequiringEntity"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ResourceInterfaceProvidingEntity"
          eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
        <eStructuralFeatures xsi:type="ecore:EReference" name="resourceProvidedRoles__ResourceInterfaceProvidingEntity"
            ordered="false" upperBound="-1" eType="#//core_pc_av/entity_pc_av/ResourceProvidedRole"
            containment="true" eOpposite="#//core_pc_av/entity_pc_av/ResourceProvidedRole/resourceInterfaceProvidingEntity__ResourceProvidedRole"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ComposedProvidingRequiringEntity"
          eSuperTypes="#//core_pc_av/composition_pc_av/ComposedStructure #//core_pc_av/entity_pc_av/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. &#xD;&#xA;&#xD;&#xA;Valid ComposedProvidingRequiringEntities need to have their ProvidedRoles bound to ProvidedRoles of the contained entities.  &#xD;&#xA;&#xD;&#xA;Prominent examples are System, SubSystem, and CompositeComponents&#xD;&#xA;&#xD;&#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 &#xD;&#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>
        <eOperations name="ProvidedRolesMustBeBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.providedRoles_InterfaceProvidingEntity->forAll(role|self.connectors__ComposedStructure->select(conn | conn.oclIsTypeOf(pcm::core::composition::ProvidedDelegationConnector)).oclAsType(pcm::core::composition::ProvidedDelegationConnector)->exists(connector|connector.outerProvidedRole_ProvidedDelegationConnector = role))&#xD;&#xA;&#xD;&#xA;"/>
          </eAnnotations>
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="This constraint ensures that all outer provided roles of a system have a provided delegation conector that binds them to something. It does not check whether the binding is correct (inner role not null and matching interfaces)."/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="NamedElement">
        <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="aName"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ResourceInterfaceProvidingRequiringEntity"
          eSuperTypes="#//core_pc_av/entity_pc_av/ResourceInterfaceRequiringEntity #//core_pc_av/entity_pc_av/ResourceInterfaceProvidingEntity"/>
      <eClassifiers xsi:type="ecore:EClass" name="Entity" eSuperTypes="identifier_pointcut_advice.ecore#//Identifier #//core_pc_av/entity_pc_av/NamedElement">
        <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>
    </eSubpackages>
    <eSubpackages name="composition_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/Core/Composition/5.0_pointcut_advice"
        nsPrefix="composition_pc_av">
      <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" eSuperTypes="#//core_pc_av/composition_pc_av/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" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="&lt;p>&#xD;&#xA;    Abstract superclass for all connectors.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    TODO:&amp;nbsp;We&amp;nbsp;might&amp;nbsp;want&amp;nbsp;to&amp;nbsp;add&amp;nbsp;a&amp;nbsp;constraint&amp;nbsp;that&amp;nbsp;both&amp;nbsp;sides&amp;nbsp;of&amp;nbsp;the&amp;nbsp;connector&amp;nbsp;must&amp;nbsp;be&amp;nbsp;not&amp;nbsp;null.&amp;nbsp;Then,&amp;nbsp;we&amp;nbsp;don't&amp;nbsp;have&amp;nbsp;to&amp;nbsp;specify&amp;nbsp;that&amp;nbsp;for&amp;nbsp;example&amp;nbsp;for&amp;nbsp;ComposedProvidingRequiringEntities&amp;nbsp;that&amp;nbsp;the&amp;nbsp;ProvidedDelegationConnector&amp;nbsp;actually&amp;nbsp;points&amp;nbsp;to&amp;nbsp;something&amp;nbsp;inner.&amp;nbsp;If&amp;nbsp;you&amp;nbsp;decide&amp;nbsp;not&amp;nbsp;to&amp;nbsp;add&amp;nbsp;a&amp;nbsp;constraint&amp;nbsp;here,&amp;nbsp;then&amp;nbsp;we&amp;nbsp;need&amp;nbsp;a&amp;nbsp;constraint&amp;nbsp;there&amp;nbsp;and&amp;nbsp;maybe&amp;nbsp;at&amp;nbsp;other&amp;nbsp;places&amp;nbsp;--&amp;nbsp;Anne&#xD;&#xA;&lt;/p>"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="parentStructure__Connector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/ComposedStructure"
            eOpposite="#//core_pc_av/composition_pc_av/ComposedStructure/connectors__ComposedStructure"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ComposedStructure" eSuperTypes="#//core_pc_av/entity_pc_av/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 &#xD;&#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/uml2/1.1.0/GenModel">
            <details key="body" value="self.connectors__ComposedStructure->select(conn | conn.oclIsTypeOf(pcm::core::composition::ProvidedDelegationConnector)).oclAsType(pcm::core::composition::ProvidedDelegationConnector)->forAll( c1, c2 | c1 &lt;> c2 implies c1.outerProvidedRole_ProvidedDelegationConnector &lt;> c2.outerProvidedRole_ProvidedDelegationConnector)&#xD;&#xA;"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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/uml2/1.1.0/GenModel">
            <details key="body" value="self.connectors__ComposedStructure->select(conn | conn.oclIsTypeOf(pcm::core::composition::AssemblyConnector)).oclAsType(AssemblyConnector)->forAll( c1, c2 | ( (c1 &lt;> c2) and ( c1.requiringAssemblyContext_AssemblyConnector = c2.requiringAssemblyContext_AssemblyConnector ) ) implies c1.requiredRole_AssemblyConnector &lt;> c2.requiredRole_AssemblyConnector )&#xD;&#xA;"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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__ComposedStructure"
            ordered="false" upperBound="-1" eType="#//core_pc_av/composition_pc_av/AssemblyContext"
            containment="true" eOpposite="#//core_pc_av/composition_pc_av/AssemblyContext/parentStructure__AssemblyContext"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="resourceRequiredDelegationConnectors_ComposedStructure"
            ordered="false" upperBound="-1" eType="#//core_pc_av/composition_pc_av/ResourceRequiredDelegationConnector"
            containment="true" eOpposite="#//core_pc_av/composition_pc_av/ResourceRequiredDelegationConnector/parentStructure_ResourceRequiredDelegationConnector"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="eventChannel__ComposedStructure"
            ordered="false" upperBound="-1" eType="#//core_pc_av/composition_pc_av/EventChannel"
            containment="true" eOpposite="#//core_pc_av/composition_pc_av/EventChannel/parentStructure__EventChannel"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="connectors__ComposedStructure"
            ordered="false" upperBound="-1" eType="#//core_pc_av/composition_pc_av/Connector"
            containment="true" eOpposite="#//core_pc_av/composition_pc_av/Connector/parentStructure__Connector"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ResourceRequiredDelegationConnector">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="TODO Michael Hauck"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="innerResourceRequiredRole_ResourceRequiredDelegationConnector"
            ordered="false" eType="#//core_pc_av/entity_pc_av/ResourceRequiredRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="outerResourceRequiredRole_ResourceRequiredDelegationConnector"
            ordered="false" eType="#//core_pc_av/entity_pc_av/ResourceRequiredRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="parentStructure_ResourceRequiredDelegationConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/ComposedStructure"
            eOpposite="#//core_pc_av/composition_pc_av/ComposedStructure/resourceRequiredDelegationConnectors_ComposedStructure"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="EventChannel" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
        <eStructuralFeatures xsi:type="ecore:EReference" name="eventGroup__EventChannel"
            ordered="false" eType="#//repository_pc_av/EventGroup"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="eventChannelSourceConnector__EventChannel"
            ordered="false" upperBound="-1" eType="#//core_pc_av/composition_pc_av/EventChannelSourceConnector"
            eOpposite="#//core_pc_av/composition_pc_av/EventChannelSourceConnector/eventChannel__EventChannelSourceConnector"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="eventChannelSinkConnector__EventChannel"
            ordered="false" upperBound="-1" eType="#//core_pc_av/composition_pc_av/EventChannelSinkConnector"
            eOpposite="#//core_pc_av/composition_pc_av/EventChannelSinkConnector/eventChannel__EventChannelSinkConnector"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="parentStructure__EventChannel"
            ordered="false" eType="#//core_pc_av/composition_pc_av/ComposedStructure"
            eOpposite="#//core_pc_av/composition_pc_av/ComposedStructure/eventChannel__ComposedStructure"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="EventChannelSourceConnector" eSuperTypes="#//core_pc_av/composition_pc_av/Connector">
        <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRole__EventChannelSourceRole"
            ordered="false" eType="#//repository_pc_av/SourceRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext__EventChannelSourceConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="eventChannel__EventChannelSourceConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/EventChannel" eOpposite="#//core_pc_av/composition_pc_av/EventChannel/eventChannelSourceConnector__EventChannel"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="EventChannelSinkConnector" eSuperTypes="#//core_pc_av/composition_pc_av/Connector">
        <eStructuralFeatures xsi:type="ecore:EReference" name="sinkRole__EventChannelSinkConnector"
            ordered="false" eType="#//repository_pc_av/SinkRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="filterCondition__EventChannelSinkConnector"
            ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
            eOpposite="#//core_pc_av/PCMRandomVariable/eventChannelSinkConnector__FilterCondition"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext__EventChannelSinkConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="eventChannel__EventChannelSinkConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/EventChannel" eOpposite="#//core_pc_av/composition_pc_av/EventChannel/eventChannelSinkConnector__EventChannel"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ProvidedDelegationConnector" eSuperTypes="#//core_pc_av/composition_pc_av/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&#xD;&#xA;contexts."/>
        </eAnnotations>
        <eOperations name="ProvidedDelegationConnectorandtheconnectedComponentmustbepartofthesamecompositestructure"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.parentStructure__Connector = self.assemblyContext_ProvidedDelegationConnector.parentStructure__AssemblyContext"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="ComponentOfAssemblyContextAndInnerRoleProvidingComponentNeedToBeTheSame"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.innerProvidedRole_ProvidedDelegationConnector.providingEntity_ProvidedRole = self.assemblyContext_ProvidedDelegationConnector.encapsulatedComponent__AssemblyContext"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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_ProvidedDelegationConnector"
            ordered="false" eType="#//repository_pc_av/OperationProvidedRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="outerProvidedRole_ProvidedDelegationConnector"
            ordered="false" eType="#//repository_pc_av/OperationProvidedRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext_ProvidedDelegationConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="RequiredDelegationConnector" eSuperTypes="#//core_pc_av/composition_pc_av/DelegationConnector">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A RequiredDelegationConnector delegates required roles of encapsulated assembly contexts to&amp;nbsp;outer&amp;nbsp;required roles&#xD;&#xA;."/>
        </eAnnotations>
        <eOperations name="RequiredDelegationConnectorandtheconnectedComponentmustbepartofthesamecompositestructure"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.parentStructure__Connector = self.assemblyContext_RequiredDelegationConnector.parentStructure__AssemblyContext"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="ComponentOfAssemblyContextAndInnerRoleRequiringComponentNeedToBeTheSame"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.innerRequiredRole_RequiredDelegationConnector.requiringEntity_RequiredRole = self.assemblyContext_RequiredDelegationConnector.encapsulatedComponent__AssemblyContext"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="RequiringEntityOfOuterRequiredRoleMustBeTheSameAsTheParentOfTheRequiredDelegationConnector"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.outerRequiredRole_RequiredDelegationConnector.requiringEntity_RequiredRole=self.parentStructure__Connector"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="innerRequiredRole_RequiredDelegationConnector"
            ordered="false" eType="#//repository_pc_av/OperationRequiredRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="outerRequiredRole_RequiredDelegationConnector"
            ordered="false" eType="#//repository_pc_av/OperationRequiredRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext_RequiredDelegationConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="AssemblyConnector" eSuperTypes="#//core_pc_av/composition_pc_av/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&#xD;&#xA;provided and a required interface of two different components. AssemblyContext must refer to the tuple (Role,&#xD;&#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/uml2/1.1.0/GenModel">
            <details key="body" value="self.providingAssemblyContext_AssemblyConnector.encapsulatedComponent__AssemblyContext.providedRoles_InterfaceProvidingEntity->includes(self.providedRole_AssemblyConnector)&#xD;&#xA;&#xD;&#xA;"/>
          </eAnnotations>
          <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. "/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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/uml2/1.1.0/GenModel">
            <details key="body" value="self.requiringAssemblyContext_AssemblyConnector.encapsulatedComponent__AssemblyContext.requiredRoles_InterfaceRequiringEntity->includes(self.requiredRole_AssemblyConnector)&#xD;&#xA;&#xD;&#xA;"/>
          </eAnnotations>
          <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. "/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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/uml2/1.1.0/GenModel">
            <details key="body" value="self.providedRole_AssemblyConnector.providedInterface__OperationProvidedRole = self.requiredRole_AssemblyConnector.requiredInterface__OperationRequiredRole"/>
          </eAnnotations>
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The Interfaces references by this Connector must match. This means that either &#xD;&#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__Interface property. That means that either Interface A is the parentInterface__Interface of Interface B, or there is a set of Interfaces "/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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_AssemblyConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="providingAssemblyContext_AssemblyConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="providedRole_AssemblyConnector"
            ordered="false" eType="#//repository_pc_av/OperationProvidedRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="requiredRole_AssemblyConnector"
            ordered="false" eType="#//repository_pc_av/OperationRequiredRole"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="AssemblyEventConnector" eSuperTypes="#//core_pc_av/composition_pc_av/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 AssemblyEventConnector connects a sink and a source. AssemblyContext must refer to the tuple (Role,AssemblyContext) in order to uniquely identify which component sink and source roles communicate with each other."/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="sinkRole__AssemblyEventConnector"
            ordered="false" eType="#//repository_pc_av/SinkRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRole__AssemblyEventConnector"
            ordered="false" eType="#//repository_pc_av/SourceRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="sinkAssemblyContext__AssemblyEventConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="sourceAssemblyContext__AssemblyEventConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="filterCondition__AssemblyEventConnector"
            ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
            eOpposite="#//core_pc_av/PCMRandomVariable/assemblyEventConnector__FilterCondition"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="SourceDelegationConnector" eSuperTypes="#//core_pc_av/composition_pc_av/DelegationConnector">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A SourceDelegationConnector delegates outgoing events of encapsulated assembly contexts to an external souce role of the enclosing assembly context."/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="innerSourceRole__SourceRole"
            ordered="false" eType="#//repository_pc_av/SourceRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="outerSourceRole__SourceRole"
            ordered="false" eType="#//repository_pc_av/SourceRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext__SourceDelegationConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="SinkDelegationConnector" eSuperTypes="#//core_pc_av/composition_pc_av/DelegationConnector">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A SinkDelegationConnector delegates an incoming event to the encapsulated assembly contexts to inner sink roles."/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext__SinkDelegationConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="innerSinkRole__SinkRole"
            ordered="false" eType="#//repository_pc_av/SinkRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="outerSinkRole__SinkRole"
            ordered="false" eType="#//repository_pc_av/SinkRole"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="AssemblyInfrastructureConnector"
          eSuperTypes="#//core_pc_av/composition_pc_av/Connector">
        <eStructuralFeatures xsi:type="ecore:EReference" name="providedRole__AssemblyInfrastructureConnector"
            ordered="false" eType="#//repository_pc_av/InfrastructureProvidedRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="requiredRole__AssemblyInfrastructureConnector"
            ordered="false" eType="#//repository_pc_av/InfrastructureRequiredRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="providingAssemblyContext__AssemblyInfrastructureConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="requiringAssemblyContext__AssemblyInfrastructureConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ProvidedInfrastructureDelegationConnector"
          eSuperTypes="#//core_pc_av/composition_pc_av/DelegationConnector">
        <eStructuralFeatures xsi:type="ecore:EReference" name="innerProvidedRole__ProvidedInfrastructureDelegationConnector"
            ordered="false" eType="#//repository_pc_av/InfrastructureProvidedRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="outerProvidedRole__ProvidedInfrastructureDelegationConnector"
            ordered="false" eType="#//repository_pc_av/InfrastructureProvidedRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext__ProvidedInfrastructureDelegationConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="RequiredInfrastructureDelegationConnector"
          eSuperTypes="#//core_pc_av/composition_pc_av/DelegationConnector">
        <eStructuralFeatures xsi:type="ecore:EReference" name="innerRequiredRole__RequiredInfrastructureDelegationConnector"
            ordered="false" eType="#//repository_pc_av/InfrastructureRequiredRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="outerRequiredRole__RequiredInfrastructureDelegationConnector"
            ordered="false" eType="#//repository_pc_av/InfrastructureRequiredRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext__RequiredInfrastructureDelegationConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="RequiredResourceDelegationConnector"
          eSuperTypes="#//core_pc_av/composition_pc_av/DelegationConnector">
        <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext__RequiredResourceDelegationConnector"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="innerRequiredRole__RequiredResourceDelegationConnector"
            ordered="false" eType="#//core_pc_av/entity_pc_av/ResourceRequiredRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="outerRequiredRole__RequiredResourceDelegationConnector"
            ordered="false" eType="#//core_pc_av/entity_pc_av/ResourceRequiredRole"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="AssemblyContext" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="An AssemblyContext uniquely identifies an assembly instance of an AssemblyContext."/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="parentStructure__AssemblyContext"
            ordered="false" eType="#//core_pc_av/composition_pc_av/ComposedStructure"
            eOpposite="#//core_pc_av/composition_pc_av/ComposedStructure/assemblyContexts__ComposedStructure"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="encapsulatedComponent__AssemblyContext"
            ordered="false" eType="#//repository_pc_av/RepositoryComponent"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="configParameterUsages__AssemblyContext"
            ordered="false" upperBound="-1" eType="#//parameter_pc_av/VariableUsage"
            containment="true" eOpposite="#//parameter_pc_av/VariableUsage/assemblyContext__VariableUsage"/>
      </eClassifiers>
    </eSubpackages>
  </eSubpackages>
  <eSubpackages name="usagemodel_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/UsageModel/5.0_pointcut_advice"
      nsPrefix="usagemodel_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="TODO:&amp;nbsp;Put&amp;nbsp;the&amp;nbsp;3.2.2&amp;nbsp;Context&amp;nbsp;Model&amp;nbsp;chapter&amp;nbsp;of&amp;nbsp;Steffens&amp;nbsp;Diss&amp;nbsp;somewhere&amp;nbsp;so&amp;nbsp;that&amp;nbsp;it&amp;nbsp;can&amp;nbsp;be&amp;nbsp;referred&amp;nbsp;to&amp;nbsp;here.&amp;nbsp;It&amp;nbsp;provides&amp;nbsp;an&amp;nbsp;important&amp;nbsp;overview&amp;nbsp;on&amp;nbsp;why&amp;nbsp;we&amp;nbsp;have&amp;nbsp;the&amp;nbsp;usage&amp;nbsp;model.&amp;nbsp;&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;TODO:&amp;nbsp;Include&amp;nbsp;the&amp;nbsp;example&amp;nbsp;from&amp;nbsp;Heiko's&amp;nbsp;dissertation&amp;nbsp;here?&amp;nbsp;But&amp;nbsp;how&amp;nbsp;to&amp;nbsp;include&amp;nbsp;the&amp;nbsp;picture?&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;The&amp;nbsp;usage&amp;nbsp;of&amp;nbsp;a&amp;nbsp;software&amp;nbsp;system&amp;nbsp;by&amp;nbsp;external&amp;nbsp;clients&amp;nbsp;has&amp;nbsp;to&amp;nbsp;be&amp;nbsp;captured&amp;nbsp;in&amp;nbsp;models&amp;nbsp;to&amp;nbsp;enable&amp;nbsp;model-driven&lt;br />&#xD;&#xA;performance&amp;nbsp;predictions.&amp;nbsp;Here,&amp;nbsp;the&amp;nbsp;term&amp;nbsp;usage&amp;nbsp;refers&amp;nbsp;to&amp;nbsp;workload&amp;nbsp;(i.e.,&amp;nbsp;the&amp;nbsp;number&amp;nbsp;of&amp;nbsp;users&amp;nbsp;concurrently&lt;br />&#xD;&#xA;present&amp;nbsp;in&amp;nbsp;the&amp;nbsp;system),&amp;nbsp;usage&amp;nbsp;scenarios&amp;nbsp;(i.e.,&amp;nbsp;possible&amp;nbsp;sequences&amp;nbsp;of&amp;nbsp;invoking&amp;nbsp;services&amp;nbsp;at&amp;nbsp;system&amp;nbsp;provided&lt;br />&#xD;&#xA;roles),&amp;nbsp;waiting&amp;nbsp;delays&amp;nbsp;between&amp;nbsp;service&amp;nbsp;invocations,&amp;nbsp;and&amp;nbsp;values&amp;nbsp;for&amp;nbsp;parameters&amp;nbsp;and&amp;nbsp;component&amp;nbsp;configurations.&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;This&amp;nbsp;package&amp;nbsp;contains&amp;nbsp;the&amp;nbsp;usage&amp;nbsp;specification&amp;nbsp;language,&amp;nbsp;which&amp;nbsp;(i)&amp;nbsp;provides&amp;nbsp;more&amp;nbsp;expressiveness&amp;nbsp;for&lt;br />&#xD;&#xA;characterising&amp;nbsp;parameter&amp;nbsp;instances&amp;nbsp;than&amp;nbsp;previous&amp;nbsp;models,&amp;nbsp;but&amp;nbsp;(ii)&amp;nbsp;at&amp;nbsp;the&amp;nbsp;same&amp;nbsp;time&amp;nbsp;is&amp;nbsp;restricted&amp;nbsp;to&amp;nbsp;concepts&lt;br />&#xD;&#xA;familiar&amp;nbsp;to&amp;nbsp;domain&amp;nbsp;experts&amp;nbsp;to&amp;nbsp;create&amp;nbsp;a&amp;nbsp;domain&amp;nbsp;specific&amp;nbsp;language.&amp;nbsp;The&amp;nbsp;language&amp;nbsp;is&amp;nbsp;called&amp;nbsp;PCM&amp;nbsp;usage&lt;br />&#xD;&#xA;model.&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;The&amp;nbsp;UsageModel&amp;nbsp;specifies&amp;nbsp;the&amp;nbsp;whole&amp;nbsp;user&amp;nbsp;interaction&amp;nbsp;with&amp;nbsp;a&amp;nbsp;system&amp;nbsp;from&amp;nbsp;a&amp;nbsp;performance&amp;nbsp;viewpoint.&amp;nbsp;It&amp;nbsp;consists&amp;nbsp;of&amp;nbsp;a&amp;nbsp;number&amp;nbsp;of&amp;nbsp;concurrently&amp;nbsp;executed&amp;nbsp;UsageScenarios&amp;nbsp;and&amp;nbsp;a&amp;nbsp;set&amp;nbsp;of&amp;nbsp;global&amp;nbsp;UserData&amp;nbsp;specifications.&amp;nbsp;Each&amp;nbsp;UsageScenario&amp;nbsp;includes&amp;nbsp;a&amp;nbsp;workload&amp;nbsp;and&amp;nbsp;a&amp;nbsp;scenario&amp;nbsp;behaviour.&amp;nbsp;The&amp;nbsp;concepts&amp;nbsp;are&amp;nbsp;explained&amp;nbsp;for&amp;nbsp;the&amp;nbsp;single&amp;nbsp;meta&amp;nbsp;classes&amp;nbsp;included&amp;nbsp;in&amp;nbsp;this&amp;nbsp;package.&amp;nbsp;&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;Note&amp;nbsp;that&amp;nbsp;UsageModels&amp;nbsp;are&amp;nbsp;completely&amp;nbsp;decoupled&amp;nbsp;from&amp;nbsp;the&amp;nbsp;inner&amp;nbsp;contents&amp;nbsp;of&amp;nbsp;a&amp;nbsp;system,&amp;nbsp;which&amp;nbsp;consists&amp;nbsp;of&amp;nbsp;an&amp;nbsp;assembly&amp;nbsp;and&amp;nbsp;a&amp;nbsp;connected&amp;nbsp;resource&amp;nbsp;environment.&amp;nbsp;The&amp;nbsp;UsageModel&amp;nbsp;only&amp;nbsp;refers&amp;nbsp;to&amp;nbsp;services&amp;nbsp;of&amp;nbsp;system&amp;nbsp;provided&amp;nbsp;roles.&amp;nbsp;It&amp;nbsp;regards&amp;nbsp;the&amp;nbsp;component&lt;br />&#xD;&#xA;architecture&amp;nbsp;(i.e.,&amp;nbsp;the&amp;nbsp;assembly)&amp;nbsp;as&amp;nbsp;well&amp;nbsp;as&amp;nbsp;used&amp;nbsp;resources&amp;nbsp;(i.e.,&amp;nbsp;hardware&amp;nbsp;devices&amp;nbsp;such&amp;nbsp;as&amp;nbsp;CPUs&lt;br />&#xD;&#xA;and&amp;nbsp;harddisks&amp;nbsp;or&amp;nbsp;software&amp;nbsp;entities&amp;nbsp;such&amp;nbsp;as&amp;nbsp;threads,&amp;nbsp;semaphores)&amp;nbsp;as&amp;nbsp;hidden&amp;nbsp;in&amp;nbsp;the&amp;nbsp;system.&amp;nbsp;Thus,&amp;nbsp;the&amp;nbsp;UsageModel&amp;nbsp;only&amp;nbsp;captures&amp;nbsp;information&amp;nbsp;that&amp;nbsp;is&amp;nbsp;available&amp;nbsp;to&amp;nbsp;domain&amp;nbsp;experts&amp;nbsp;and&amp;nbsp;can&amp;nbsp;be&amp;nbsp;changed&amp;nbsp;by&amp;nbsp;them.&amp;nbsp;Resource&lt;br />&#xD;&#xA;environment&amp;nbsp;and&amp;nbsp;component&amp;nbsp;architecture&amp;nbsp;may&amp;nbsp;be&amp;nbsp;changed&amp;nbsp;independently&amp;nbsp;from&amp;nbsp;the&amp;nbsp;UsageModel&amp;nbsp;&lt;br />&#xD;&#xA;by&amp;nbsp;system&amp;nbsp;architects,&amp;nbsp;if&amp;nbsp;the&amp;nbsp;system's&amp;nbsp;ProvidedRoles&amp;nbsp;remain&amp;nbsp;unchanged.&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;Discussion:&amp;nbsp;&lt;br />&#xD;&#xA;Notice,&amp;nbsp;that&amp;nbsp;unlike&amp;nbsp;other&amp;nbsp;behavioural&amp;nbsp;description&amp;nbsp;languages&amp;nbsp;for&amp;nbsp;performance&amp;nbsp;prediction&amp;nbsp;(e.g.,&amp;nbsp;[162,&amp;nbsp;187,&lt;br />&#xD;&#xA;78]),&amp;nbsp;the&amp;nbsp;PCM&amp;nbsp;usage&amp;nbsp;model&amp;nbsp;specifically&amp;nbsp;models&amp;nbsp;user&amp;nbsp;behaviour&amp;nbsp;and&amp;nbsp;for&amp;nbsp;example&amp;nbsp;does&amp;nbsp;not&amp;nbsp;refer&amp;nbsp;to&amp;nbsp;resources.&lt;br />&#xD;&#xA;Other&amp;nbsp;performance&amp;nbsp;meta-models&amp;nbsp;mix&amp;nbsp;up&amp;nbsp;the&amp;nbsp;specification&amp;nbsp;of&amp;nbsp;user&amp;nbsp;behaviour,&amp;nbsp;component&amp;nbsp;behaviour,&amp;nbsp;and&lt;br />&#xD;&#xA;resources,&amp;nbsp;so&amp;nbsp;that&amp;nbsp;a&amp;nbsp;single&amp;nbsp;developer&amp;nbsp;role&amp;nbsp;(i.e.,&amp;nbsp;a&amp;nbsp;performance&amp;nbsp;analyst)&amp;nbsp;needs&amp;nbsp;to&amp;nbsp;specify&amp;nbsp;the&amp;nbsp;performance&lt;br />&#xD;&#xA;model.&amp;nbsp;Opposed&amp;nbsp;to&amp;nbsp;this,&amp;nbsp;the&amp;nbsp;PCM&amp;nbsp;targets&amp;nbsp;a&amp;nbsp;division&amp;nbsp;of&amp;nbsp;work&amp;nbsp;for&amp;nbsp;multiple&amp;nbsp;developer&amp;nbsp;roles&amp;nbsp;(cf.&amp;nbsp;Section&amp;nbsp;3.1&amp;nbsp;of&amp;nbsp;Heiko&amp;nbsp;Koziolek's&amp;nbsp;dissertation).&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;Furthermore,&amp;nbsp;none&amp;nbsp;of&amp;nbsp;the&amp;nbsp;other&amp;nbsp;performance&amp;nbsp;meta-models&amp;nbsp;support&amp;nbsp;explicit&amp;nbsp;service&amp;nbsp;parameter&amp;nbsp;modelling.&lt;br />&#xD;&#xA;While&amp;nbsp;CSM&amp;nbsp;[162]&amp;nbsp;includes&amp;nbsp;a&amp;nbsp;meta-class&amp;nbsp;Message&amp;nbsp;to&amp;nbsp;specify&amp;nbsp;the&amp;nbsp;amount&amp;nbsp;of&amp;nbsp;data&amp;nbsp;transferred&amp;nbsp;between&lt;br />&#xD;&#xA;two&amp;nbsp;steps&amp;nbsp;in&amp;nbsp;the&amp;nbsp;performance&amp;nbsp;model,&amp;nbsp;and&amp;nbsp;KLAPER&amp;nbsp;[78]&amp;nbsp;allows&amp;nbsp;the&amp;nbsp;specification&amp;nbsp;of&amp;nbsp;parameter&amp;nbsp;values&lt;br />&#xD;&#xA;in&amp;nbsp;principle,&amp;nbsp;none&amp;nbsp;of&amp;nbsp;these&amp;nbsp;language&amp;nbsp;uses&amp;nbsp;the&amp;nbsp;information&amp;nbsp;to&amp;nbsp;parameterise&amp;nbsp;resource&amp;nbsp;demands&amp;nbsp;or&amp;nbsp;component&lt;br />&#xD;&#xA;behaviour.&amp;nbsp;Additionally,&amp;nbsp;they&amp;nbsp;do&amp;nbsp;not&amp;nbsp;provide&amp;nbsp;the&amp;nbsp;information&amp;nbsp;readily&amp;nbsp;analysable&amp;nbsp;by&amp;nbsp;MDSD&amp;nbsp;tools.&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;The&amp;nbsp;PCM&amp;nbsp;usage&amp;nbsp;model&amp;nbsp;has&amp;nbsp;been&amp;nbsp;designed&amp;nbsp;based&amp;nbsp;on&amp;nbsp;meta&amp;nbsp;models&amp;nbsp;such&amp;nbsp;as&amp;nbsp;the&amp;nbsp;performance&amp;nbsp;domain&amp;nbsp;model&lt;br />&#xD;&#xA;of&amp;nbsp;the&amp;nbsp;UML&amp;nbsp;SPT&amp;nbsp;profile&amp;nbsp;[31],&amp;nbsp;the&amp;nbsp;Core&amp;nbsp;Scenario&amp;nbsp;Model&amp;nbsp;(CSM)&amp;nbsp;[162],&amp;nbsp;and&amp;nbsp;KLAPER&amp;nbsp;[78].&amp;nbsp;It&amp;nbsp;is&amp;nbsp;furthermore&lt;br />&#xD;&#xA;related&amp;nbsp;to&amp;nbsp;usage&amp;nbsp;models&amp;nbsp;used&amp;nbsp;in&amp;nbsp;statistical&amp;nbsp;testing&amp;nbsp;[34].&amp;nbsp;Although&amp;nbsp;the&amp;nbsp;concepts&amp;nbsp;included&amp;nbsp;in&amp;nbsp;the&amp;nbsp;PCM&amp;nbsp;usage&lt;br />&#xD;&#xA;model&amp;nbsp;are&amp;nbsp;quite&amp;nbsp;similar&amp;nbsp;to&amp;nbsp;the&amp;nbsp;modelling&amp;nbsp;capabilities&amp;nbsp;of&amp;nbsp;the&amp;nbsp;UML&amp;nbsp;SPT&amp;nbsp;profile,&amp;nbsp;there&amp;nbsp;are&amp;nbsp;some&amp;nbsp;subtle&lt;br />&#xD;&#xA;differences:&lt;br />&#xD;&#xA;-&#xD;&#xA;The&amp;nbsp;usage&amp;nbsp;model&amp;nbsp;is&amp;nbsp;aligned&amp;nbsp;with&amp;nbsp;the&amp;nbsp;role&amp;nbsp;of&amp;nbsp;the&amp;nbsp;domain&amp;nbsp;expert,&amp;nbsp;and&amp;nbsp;uses&amp;nbsp;only&amp;nbsp;concepts&amp;nbsp;known&amp;nbsp;to&lt;br />&#xD;&#xA;this&amp;nbsp;role.&amp;nbsp;It&amp;nbsp;is&amp;nbsp;a&amp;nbsp;domain&amp;nbsp;specific&amp;nbsp;language,&amp;nbsp;whereas&amp;nbsp;the&amp;nbsp;UML&amp;nbsp;SPT&amp;nbsp;performance&amp;nbsp;domain&amp;nbsp;model&amp;nbsp;is&lt;br />&#xD;&#xA;a&amp;nbsp;general&amp;nbsp;purpose&amp;nbsp;language&amp;nbsp;that&amp;nbsp;includes&amp;nbsp;information,&amp;nbsp;which&amp;nbsp;is&amp;nbsp;usually&amp;nbsp;spread&amp;nbsp;over&amp;nbsp;multiple&amp;nbsp;developer&lt;br />&#xD;&#xA;roles&amp;nbsp;such&amp;nbsp;as&amp;nbsp;the&amp;nbsp;component&amp;nbsp;assembler&amp;nbsp;and&amp;nbsp;the&amp;nbsp;system&amp;nbsp;deployer,&amp;nbsp;so&amp;nbsp;that&amp;nbsp;a&amp;nbsp;domain&amp;nbsp;expert&amp;nbsp;without&amp;nbsp;a&amp;nbsp;technical&amp;nbsp;background&amp;nbsp;could&amp;nbsp;not&amp;nbsp;specify&amp;nbsp;an&amp;nbsp;instance&amp;nbsp;of&amp;nbsp;it.&amp;nbsp;Nevertheless,&amp;nbsp;domain&amp;nbsp;experts&lt;br />&#xD;&#xA;should&amp;nbsp;be&amp;nbsp;able&amp;nbsp;to&amp;nbsp;create&amp;nbsp;PCM&amp;nbsp;usage&amp;nbsp;models&amp;nbsp;with&amp;nbsp;appropriate&amp;nbsp;tools&amp;nbsp;independently&amp;nbsp;from&amp;nbsp;other&amp;nbsp;developer&lt;br />&#xD;&#xA;roles,&amp;nbsp;because&amp;nbsp;such&amp;nbsp;models&amp;nbsp;only&amp;nbsp;contain&amp;nbsp;concepts&amp;nbsp;known&amp;nbsp;to&amp;nbsp;them.&lt;br />&#xD;&#xA;-&#xD;&#xA;The&amp;nbsp;number&amp;nbsp;of&amp;nbsp;loop&amp;nbsp;iterations&amp;nbsp;is&amp;nbsp;not&amp;nbsp;bound&amp;nbsp;to&amp;nbsp;a&amp;nbsp;constant&amp;nbsp;value,&amp;nbsp;but&amp;nbsp;can&amp;nbsp;be&amp;nbsp;specified&amp;nbsp;as&amp;nbsp;a&amp;nbsp;random&lt;br />&#xD;&#xA;variable.&lt;br />&#xD;&#xA;-&#xD;&#xA;The&amp;nbsp;control&amp;nbsp;flow&amp;nbsp;constructs&amp;nbsp;are&amp;nbsp;arranged&amp;nbsp;in&amp;nbsp;a&amp;nbsp;hierarchical&amp;nbsp;fashion&amp;nbsp;to&amp;nbsp;enable&amp;nbsp;easy&amp;nbsp;analyses.&lt;br />&#xD;&#xA;-&#xD;&#xA;Users&amp;nbsp;are&amp;nbsp;restricted&amp;nbsp;to&amp;nbsp;non-concurrent&amp;nbsp;behaviour,&amp;nbsp;as&amp;nbsp;it&amp;nbsp;is&amp;nbsp;assumed,&amp;nbsp;that&amp;nbsp;users&amp;nbsp;only&amp;nbsp;execute&amp;nbsp;the&lt;br />&#xD;&#xA;services&amp;nbsp;of&amp;nbsp;a&amp;nbsp;system&amp;nbsp;one&amp;nbsp;at&amp;nbsp;a&amp;nbsp;time.&lt;br />&#xD;&#xA;-&#xD;&#xA;System&amp;nbsp;service&amp;nbsp;invocations&amp;nbsp;can&amp;nbsp;be&amp;nbsp;enhanced&amp;nbsp;with&amp;nbsp;characterisations&amp;nbsp;of&amp;nbsp;parameters&amp;nbsp;values.&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;[31]&amp;nbsp;Object&amp;nbsp;Management&amp;nbsp;Group&amp;nbsp;(OMG),&amp;nbsp;&quot;UML&amp;nbsp;Profile&amp;nbsp;for&amp;nbsp;Schedulability,&amp;nbsp;Performance&amp;nbsp;and&amp;nbsp;Time,&quot;&lt;br />&#xD;&#xA;http://www.omg.org/cgi-bin/doc?formal/2005-01-02,&amp;nbsp;January&amp;nbsp;2005.&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;[34]&amp;nbsp;James&amp;nbsp;A.&amp;nbsp;Whittaker&amp;nbsp;and&amp;nbsp;Michael&amp;nbsp;G.&amp;nbsp;Thomason,&amp;nbsp;&quot;A&amp;nbsp;Markov&amp;nbsp;chain&amp;nbsp;model&amp;nbsp;for&amp;nbsp;statistical&amp;nbsp;software&lt;br />&#xD;&#xA;testing,&quot;&amp;nbsp;IEEE&amp;nbsp;Transactions&amp;nbsp;on&amp;nbsp;Software&amp;nbsp;Engineering,&amp;nbsp;vol.&amp;nbsp;20,&amp;nbsp;no.&amp;nbsp;10,&amp;nbsp;pp.&amp;nbsp;812-824,&amp;nbsp;Oct.&amp;nbsp;1994.&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;[78]&amp;nbsp;V.&amp;nbsp;Grassi,&amp;nbsp;R.&amp;nbsp;Mirandola,&amp;nbsp;and&amp;nbsp;A.&amp;nbsp;Sabetta,&amp;nbsp;&quot;From&amp;nbsp;design&amp;nbsp;to&amp;nbsp;analysis&amp;nbsp;models:&amp;nbsp;a&amp;nbsp;kernel&amp;nbsp;language&lt;br />&#xD;&#xA;for&amp;nbsp;performance&amp;nbsp;and&amp;nbsp;reliability&amp;nbsp;analysis&amp;nbsp;of&amp;nbsp;component-based&amp;nbsp;systems,&quot;&amp;nbsp;in&amp;nbsp;Proc.&amp;nbsp;5th&amp;nbsp;International&lt;br />&#xD;&#xA;Workshop&amp;nbsp;on&amp;nbsp;Software&amp;nbsp;and&amp;nbsp;Performance&amp;nbsp;(WOSP&amp;nbsp;'05).&amp;nbsp;New&amp;nbsp;York,&amp;nbsp;NY,&amp;nbsp;USA:&amp;nbsp;ACM&amp;nbsp;Press,&amp;nbsp;2005,&lt;br />&#xD;&#xA;pp.&amp;nbsp;25-36.&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;[162]&amp;nbsp;D.&amp;nbsp;B.&amp;nbsp;Petriu&amp;nbsp;and&amp;nbsp;M.&amp;nbsp;Woodside,&amp;nbsp;&quot;A&amp;nbsp;metamodel&amp;nbsp;for&amp;nbsp;generating&amp;nbsp;performance&amp;nbsp;models&amp;nbsp;from&amp;nbsp;UML&amp;nbsp;designs,&quot;&lt;br />&#xD;&#xA;in&amp;nbsp;UML&amp;nbsp;2004&amp;nbsp;-&amp;nbsp;The&amp;nbsp;Unified&amp;nbsp;Modeling&amp;nbsp;Language.&amp;nbsp;Model&amp;nbsp;Languages&amp;nbsp;and&amp;nbsp;Applications.&amp;nbsp;7th&lt;br />&#xD;&#xA;International&amp;nbsp;Conference,&amp;nbsp;Lisbon,&amp;nbsp;Portugal,&amp;nbsp;October&amp;nbsp;11-15,&amp;nbsp;2004,&amp;nbsp;Proceedings,&amp;nbsp;ser.&amp;nbsp;LNCS,&amp;nbsp;T.&amp;nbsp;Baar,&lt;br />&#xD;&#xA;A.&amp;nbsp;Strohmeier,&amp;nbsp;A.&amp;nbsp;Moreira,&amp;nbsp;and&amp;nbsp;S.&amp;nbsp;J.&amp;nbsp;Mellor,&amp;nbsp;Eds.,&amp;nbsp;vol.&amp;nbsp;3273.&amp;nbsp;Springer,&amp;nbsp;2004,&amp;nbsp;pp.&amp;nbsp;41-53.&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;[187]&amp;nbsp;C.&amp;nbsp;U.&amp;nbsp;Smith,&amp;nbsp;C.&amp;nbsp;M.&amp;nbsp;Llado,&amp;nbsp;V.&amp;nbsp;Cortellessa,&amp;nbsp;A.&amp;nbsp;D.&amp;nbsp;Marco,&amp;nbsp;and&amp;nbsp;L.&amp;nbsp;G.&amp;nbsp;Williams,&amp;nbsp;&quot;From&amp;nbsp;UML&amp;nbsp;models&lt;br />&#xD;&#xA;to&amp;nbsp;software&amp;nbsp;performance&amp;nbsp;results:&amp;nbsp;an&amp;nbsp;SPE&amp;nbsp;process&amp;nbsp;based&amp;nbsp;on&amp;nbsp;XML&amp;nbsp;interchange&amp;nbsp;formats,&quot;&amp;nbsp;in&amp;nbsp;Proc.&amp;nbsp;5th&lt;br />&#xD;&#xA;international&amp;nbsp;workshop&amp;nbsp;on&amp;nbsp;Software&amp;nbsp;and&amp;nbsp;performance&amp;nbsp;(WOSP'05).&amp;nbsp;New&amp;nbsp;York,&amp;nbsp;NY,&amp;nbsp;USA:&amp;nbsp;ACM&lt;br />&#xD;&#xA;Press,&amp;nbsp;2005,&amp;nbsp;pp.&amp;nbsp;87-98.&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;&lt;br />&#xD;&#xA;&lt;br />"/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="Workload">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Workload specifies the usage intensity of a system, which relates to the number of users concurrently&#xD;&#xA;present in the system. The PCM usage model adopts this concept from classical queueing&#xD;&#xA;theory [123]. The specified workloads can directly be used in queueing networks or easily be mapped&#xD;&#xA;to markings in stochastic Petri nets. Workloads can either be open or closed.&#xD;&#xA;&#xD;&#xA;The algorithms used to analyse queueing networks differ depending on whether open or closed workloads&#xD;&#xA;are modelled [123]. Some special queueing networks can only be analysed given a particular workload&#xD;&#xA;type (open or closed). Notice, that it is possible to specify a usage model with open workload usage&#xD;&#xA;scenarios and closed workload usage scenarios at the same time. Open and closed workloads can be&#xD;&#xA;executed in parallel when analysing the model.&#xD;&#xA;&#xD;&#xA;[123] E. Lazowska, J. Zahorjan, G. Graham, and K. Sevcik, Quantitative System Performance. Prentice&#xD;&#xA;Hall, 1984."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="usageScenario_Workload"
          ordered="false" eType="#//usagemodel_pc_av/UsageScenario" eOpposite="#//usagemodel_pc_av/UsageScenario/workload_UsageScenario"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="UsageScenario" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="UsageScenarios are concurrently executed behaviours of users within one UsageModel.  It describes which&#xD;&#xA;services are directly invoked by users in one specific use case and models the possible sequences of calling&#xD;&#xA;them. Each UsageScenario includes a workload and a scenario behaviour. "/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="usageModel_UsageScenario"
          ordered="false" eType="#//usagemodel_pc_av/UsageModel" eOpposite="#//usagemodel_pc_av/UsageModel/usageScenario_UsageModel"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="scenarioBehaviour_UsageScenario"
          ordered="false" eType="#//usagemodel_pc_av/ScenarioBehaviour" containment="true"
          eOpposite="#//usagemodel_pc_av/ScenarioBehaviour/usageScenario_SenarioBehaviour"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="workload_UsageScenario"
          ordered="false" eType="#//usagemodel_pc_av/Workload" containment="true"
          eOpposite="#//usagemodel_pc_av/Workload/usageScenario_Workload"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="UserData">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="UserData characterises data&#xD;&#xA;used in specific assembly contexts in the system. This data is the same for all UsageScenarios, i.e.,&#xD;&#xA;multiple users accessing the same components access the same data. This UserData refers to component&#xD;&#xA;parameters of the system publicized by the software architect (see pcm::parameters package). The domain expert&#xD;&#xA;characterises the values of component parameters related to business concepts (e.g., user specific data,&#xD;&#xA;data specific for a business domain), whereas the software architect characterises the values of component&#xD;&#xA;parameters related to technical concepts (e.g., size of caches, size of a thread pool, configuration data,&#xD;&#xA;etc.). One UserData instance includes all parameter characterisation for the annotated entity. "/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext_userData"
          ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="usageModel_UserData"
          ordered="false" eType="#//usagemodel_pc_av/UsageModel" eOpposite="#//usagemodel_pc_av/UsageModel/userData_UsageModel"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="userDataParameterUsages_UserData"
          ordered="false" upperBound="-1" eType="#//parameter_pc_av/VariableUsage"
          containment="true" eOpposite="#//parameter_pc_av/VariableUsage/userData_VariableUsage"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="UsageModel">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The UsageModel specifies the whole user interaction with a system from a performance viewpoint. It consists of a number of concurrently executed UsageScenarios and a set of global UserData specifications. Each UsageScenario includes a workload and a scenario behaviour. "/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="usageScenario_UsageModel"
          ordered="false" upperBound="-1" eType="#//usagemodel_pc_av/UsageScenario"
          containment="true" eOpposite="#//usagemodel_pc_av/UsageScenario/usageModel_UsageScenario"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="userData_UsageModel"
          ordered="false" upperBound="-1" eType="#//usagemodel_pc_av/UserData" containment="true"
          eOpposite="#//usagemodel_pc_av/UserData/usageModel_UserData"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="EntryLevelSystemCall" eSuperTypes="#//usagemodel_pc_av/AbstractUserAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An EntryLevelSystemCall models the call to a service provided by a system. Therefore, an&#xD;&#xA;EntryLevelSystemCall references a ProvidedRole of a PCM System, from which the&#xD;&#xA;called interface and the providing component within the system can be derived, and a Signature&#xD;&#xA;specifying the called service. Notice, that the usage model does not permit the domain expert to&#xD;&#xA;model calls directly to components, but only to system roles. (TODO: Add such a constraint.) This decouples the System structure&#xD;&#xA;(i.e., the component-based software architecture model and its allocation) from the UsageModel&#xD;&#xA;and the software architect can change the System (e.g., include new components, remove existing&#xD;&#xA;components, or change their wiring or allocation) independently from the domain expert, if&#xD;&#xA;the system provided roles are not affected. EntryLevelSystemCalls may include a set of&#xD;&#xA;input parameter characterisations and a set of output parameter characterisations (as described in&#xD;&#xA;the pcm::parameters package). However, the random variables characterising the input parameters&#xD;&#xA;like NUMBER_OF_ELEMENTS can not depend on other variables in the usage model. They have&#xD;&#xA;to be composed from literals only including literals describing random variables having a&#xD;&#xA;certain fixed distribution.&#xD;&#xA;&#xD;&#xA;TODO Anne: Constraint that ensures that the referred signature is contained in the interface referenced by the ProvidedRole (see Diagram)"/>
      </eAnnotations>
      <eOperations name="EntryLevelSystemCallMustReferenceProvidedRoleOfASystem" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.providedRole_EntryLevelSystemCall.providingEntity_ProvidedRole.oclIsTypeOf(pcm::system::System)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="EntryLevelSystemCallSignatureMustMatchItsProvidedRole" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.providedRole_EntryLevelSystemCall.providedInterface__OperationProvidedRole.signatures__OperationInterface->includes(self.operationSignature__EntryLevelSystemCall)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="providedRole_EntryLevelSystemCall"
          ordered="false" eType="#//repository_pc_av/OperationProvidedRole"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="operationSignature__EntryLevelSystemCall"
          ordered="false" eType="#//repository_pc_av/OperationSignature"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="outputParameterUsages_EntryLevelSystemCall"
          ordered="false" upperBound="-1" eType="#//parameter_pc_av/VariableUsage"
          containment="true" eOpposite="#//parameter_pc_av/VariableUsage/entryLevelSystemCall_OutputParameterUsage"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="inputParameterUsages_EntryLevelSystemCall"
          ordered="false" upperBound="-1" eType="#//parameter_pc_av/VariableUsage"
          containment="true" eOpposite="#//parameter_pc_av/VariableUsage/entryLevelSystemCall_InputParameterUsage"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="AbstractUserAction" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="See the AbstractAction documentation for why it is advantageous&#xD;&#xA;to model control flow in this way, as the same principle is used in the RDSEFF language. &#xD;&#xA;&#xD;&#xA;Concrete user actions of the usage model are:&#xD;&#xA;- Branch&#xD;&#xA;- Loop&#xD;&#xA;- EntryLevelSystemCall&#xD;&#xA;- Delay"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="successor" ordered="false"
          eType="#//usagemodel_pc_av/AbstractUserAction" eOpposite="#//usagemodel_pc_av/AbstractUserAction/predecessor"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="predecessor" ordered="false"
          eType="#//usagemodel_pc_av/AbstractUserAction" eOpposite="#//usagemodel_pc_av/AbstractUserAction/successor"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="scenarioBehaviour_AbstractUserAction"
          ordered="false" eType="#//usagemodel_pc_av/ScenarioBehaviour" eOpposite="#//usagemodel_pc_av/ScenarioBehaviour/actions_ScenarioBehaviour"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ScenarioBehaviour" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ScenarioBehaviour specifies possible sequences of executing services provided by the system.&#xD;&#xA;It contains a set of AbstractUserActions, each referencing a predecessor and successor (except the&#xD;&#xA;first and last action), thereby forming a sequence of actions. &#xD;&#xA;&#xD;&#xA;See the AbstractAction documentation for why it is advantageous&#xD;&#xA;to model control flow in this way, as the same principle is used in the RDSEFF language. &#xD;&#xA;&#xD;&#xA;Concrete user actions of the usage model are:&#xD;&#xA;- Branch&#xD;&#xA;- Loop&#xD;&#xA;- EntryLevelSystemCall&#xD;&#xA;- Delay&#xD;&#xA;- Start &#xD;&#xA;- Stop&#xD;&#xA;&#xD;&#xA;So far, ScenarioBehaviours do not include forks in the user flow (i.e., splitting the flow with an&#xD;&#xA;AND semantic), as it is assumed that users always act sequentially.&#xD;&#xA;&#xD;&#xA;As there are no random variables depending on other variables in the&#xD;&#xA;usage model, there are no equivalent actions to GuardedBranchTransitions or CollectionIteratorActions.&#xD;&#xA;"/>
      </eAnnotations>
      <eOperations name="Exactlyonestart" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.actions_ScenarioBehaviour->select(s|s.oclIsTypeOf(Start))->size() = 1"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="Exactlyonestop" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.actions_ScenarioBehaviour->select(s|s.oclIsTypeOf(Stop))->size() = 1"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="EachuseractionexceptStartandStopmusthaveapredecessorandsuccessor"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="not self.actions_ScenarioBehaviour->select(s|not s.oclIsTypeOf(Start) and not s.oclIsTypeOf(Stop))->exists(a|a.oclAsType(AbstractUserAction).predecessor.oclIsUndefined()) and not self.actions_ScenarioBehaviour->select(s|not s.oclIsTypeOf(Start) and not s.oclIsTypeOf(Stop))->exists(a|a.oclAsType(AbstractUserAction).successor.oclIsUndefined())"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="usageScenario_SenarioBehaviour"
          ordered="false" eType="#//usagemodel_pc_av/UsageScenario" eOpposite="#//usagemodel_pc_av/UsageScenario/scenarioBehaviour_UsageScenario"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="branchTransition_ScenarioBehaviour"
          ordered="false" eType="#//usagemodel_pc_av/BranchTransition" eOpposite="#//usagemodel_pc_av/BranchTransition/branchedBehaviour_BranchTransition"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="loop_ScenarioBehaviour"
          ordered="false" eType="#//usagemodel_pc_av/Loop" eOpposite="#//usagemodel_pc_av/Loop/bodyBehaviour_Loop"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="actions_ScenarioBehaviour"
          ordered="false" upperBound="-1" eType="#//usagemodel_pc_av/AbstractUserAction"
          containment="true" eOpposite="#//usagemodel_pc_av/AbstractUserAction/scenarioBehaviour_AbstractUserAction"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BranchTransition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The BranchTransition is an association class that realises the containment of ScenarioBehaviours in in the branches of a Branch action. It is a separate meta class because it has the additional attribute branchProbability that specifies how probably it is that the references ScenarioBehaviour is executed in the Branch action. &#xD;&#xA;&#xD;&#xA;See also Branch."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="branchProbability" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="branch_BranchTransition"
          ordered="false" eType="#//usagemodel_pc_av/Branch" eOpposite="#//usagemodel_pc_av/Branch/branchTransitions_Branch"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="branchedBehaviour_BranchTransition"
          ordered="false" eType="#//usagemodel_pc_av/ScenarioBehaviour" containment="true"
          eOpposite="#//usagemodel_pc_av/ScenarioBehaviour/branchTransition_ScenarioBehaviour"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Branch" eSuperTypes="#//usagemodel_pc_av/AbstractUserAction">
      <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&#xD;&#xA;is taken depending on the specified branch probabilities. Each BranchTransition contains a&#xD;&#xA;nested ScenarioBehaviour, which a user executes once this branch transition is chosen. After&#xD;&#xA;execution of the complete nested ScenarioBehaviour, the next action in the user flow after the&#xD;&#xA;Branch is its successor action.&#xD;&#xA;&#xD;&#xA;A constraint ensures that all branchProbabilities of the included BranchTransitions sum up to 1. "/>
      </eAnnotations>
      <eOperations name="AllBranchProbabilitiesMustSumUpTo1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self->collect(branchTransitions_Branch.branchProbability)->sum() > 0.999 and self->collect(branchTransitions_Branch.branchProbability)->sum() &lt;1.001"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="branchTransitions_Branch"
          ordered="false" upperBound="-1" eType="#//usagemodel_pc_av/BranchTransition"
          containment="true" eOpposite="#//usagemodel_pc_av/BranchTransition/branch_BranchTransition"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Loop" eSuperTypes="#//usagemodel_pc_av/AbstractUserAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Loop models a repeated sequence of actions in the user flow. It contains a nested ScenarioBehaviour specifying the loop body, and a RandomVariable specifying the number of iterations."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="loopIteration_Loop" ordered="false"
          eType="#//core_pc_av/PCMRandomVariable" containment="true" eOpposite="#//core_pc_av/PCMRandomVariable/loop_LoopIteration"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="bodyBehaviour_Loop" ordered="false"
          eType="#//usagemodel_pc_av/ScenarioBehaviour" containment="true" eOpposite="#//usagemodel_pc_av/ScenarioBehaviour/loop_ScenarioBehaviour"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Stop" eSuperTypes="#//usagemodel_pc_av/AbstractUserAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Each ScenarioBehaviour has exactly one Stop action which marks the action where the control flows ends. Stop actions have no successor."/>
      </eAnnotations>
      <eOperations name="StopHasNoSuccessor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.successor.oclIsUndefined()"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="Start" eSuperTypes="#//usagemodel_pc_av/AbstractUserAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Each ScenarioBehaviour has exactly one Start action which marks the action where the control flows begins. Start actions have no predecessor."/>
      </eAnnotations>
      <eOperations name="StartHasNoPredecessor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.predecessor.oclIsUndefined()"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="OpenWorkload" eSuperTypes="#//usagemodel_pc_av/Workload">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="OpenWorkload specifies usage intensity with an inter-arrival time (i.e., the time between two&#xD;&#xA;user arrivals at the system) as a RandomVariable with an arbitrary probability distribution. It&#xD;&#xA;models that an infinite stream of users arrives at a system. The users execute their scenario, and then&#xD;&#xA;leave the system. The user population (i.e., the number of users concurrently present in a system) is&#xD;&#xA;not fixed in an OpenWorkload."/>
      </eAnnotations>
      <eOperations name="InterArrivalTimeInOpenWorkloadNeedsToBeSpecified" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="not self.interArrivalTime_OpenWorkload.oclIsUndefined() and self.interArrivalTime_OpenWorkload.specification &lt;> ''"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="interArrivalTime_OpenWorkload"
          ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
          eOpposite="#//core_pc_av/PCMRandomVariable/openWorkload_PCMRandomVariable"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Delay" eSuperTypes="#//usagemodel_pc_av/AbstractUserAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Delay represents a timing delay as a RandomVariable between two user actions. The Delay&#xD;&#xA;is included into the usage model to express that users do not call system services in direct successions,&#xD;&#xA;but usually need some time to determine their next action. User delays are for example useful,&#xD;&#xA;if a performance analyst wants to determine the execution time for a complete scenario behaviour&#xD;&#xA;(instead of a single service), which needs to include user delays."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="timeSpecification_Delay"
          ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
          eOpposite="#//core_pc_av/PCMRandomVariable/delay_TimeSpecification"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ClosedWorkload" eSuperTypes="#//usagemodel_pc_av/Workload">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ClosedWorkload specifies directly the (constant) user population and a think time. It models&#xD;&#xA;that a fixed number of users execute their scenario, then wait (or think) for the specified amount&#xD;&#xA;of think time as a RandomVariable, and then reenter the system executing their scenario again.&#xD;&#xA;Performance analysts use closed workloads to model scenarios, where the number of users is known&#xD;&#xA;(e.g., a fixed number of users in a company)."/>
      </eAnnotations>
      <eOperations name="PopulationInClosedWorkloadNeedsToBeSpecified" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="not self.population.oclIsUndefined() and self.population &lt;> ''"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="ThinkTimeInClosedWorkloadNeedsToBeSpecified" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="not self.thinkTime_ClosedWorkload.oclIsUndefined() and self.thinkTime_ClosedWorkload.specification &lt;> ''"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="population" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="thinkTime_ClosedWorkload"
          ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
          eOpposite="#//core_pc_av/PCMRandomVariable/closedWorkload_PCMRandomVariable"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="repository_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/Repository/5.0_pointcut_advice"
      nsPrefix="repository_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="The main package contributing component types and interfaces."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="PassiveResource" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents a passive resource, e.g., a semaphore."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="capacity_PassiveResource"
          ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
          eOpposite="#//core_pc_av/PCMRandomVariable/passiveResource_capacity_PCMRandomVariable">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property holds the capacity of this passive resource."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="basicComponent_PassiveResource"
          ordered="false" eType="#//repository_pc_av/BasicComponent" eOpposite="#//repository_pc_av/BasicComponent/passiveResource_BasicComponent"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceTimeoutFailureType__PassiveResource"
          ordered="false" eType="#//reliability_pc_av/ResourceTimeoutFailureType"
          eOpposite="#//reliability_pc_av/ResourceTimeoutFailureType/passiveResource__ResourceTimeoutFailureType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The&amp;nbsp;failure type that represents a timeout&amp;nbsp;failure of an acquiring action for this passive resource&amp;nbsp;(see the&#xD;&#xA;documentation of the &quot;timeout&quot; attribute of the &quot;AcquireAction&quot; for further information)."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BasicComponent" eSuperTypes="#//repository_pc_av/ImplementationComponentType">
      <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>
      <eOperations name="NoSeffTypeUsedTwice" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.serviceEffectSpecifications__BasicComponent->forAll(p1, p2 |&#xD;&#xA;  p1 &lt;> p2 implies (p1.describedService__SEFF = p2.describedService__SEFF implies p1.seffTypeID &lt;> p2.seffTypeID))"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="ProvideSameInterfacesAsImplementationType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="-- BC has to provide the same interfaces like the implementationComponentType (if set) #&#xD;&#xA;if&#xD;&#xA;&#x9; -- apply constraint only for non-empty ImplementationComponentTypes of a BC #&#xD;&#xA;&#x9;self.parentCompleteComponentTypes->notEmpty()&#xD;&#xA;then&#xD;&#xA;&#x9;--own interface IDs:&#xD;&#xA;    self.providedRoles_InterfaceProvidingEntity->collect(pr : ProvidedRole | pr.providingEntity_ProvidedRole.id)->asSet()&#xD;&#xA;    =&#xD;&#xA;    --complete type interface IDs:&#xD;&#xA;    self.parentCompleteComponentTypes->collect(pr | pr.providedRoles_InterfaceProvidingEntity.providingEntity_ProvidedRole.id)->asSet()&#xD;&#xA;else&#xD;&#xA;&#x9;true&#xD;&#xA;endif"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="RequireSameInterfacesAsImplementationType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="-- BC has to require the same interfaces like the implementationComponentType (if set) #&#xD;&#xA;if&#xD;&#xA;&#x9; -- apply constraint only for non-empty ImplementationComponentTypes of a BC #&#xD;&#xA;&#x9;self.parentCompleteComponentTypes->notEmpty()&#xD;&#xA;then&#xD;&#xA;&#x9;--own interface IDs:&#xD;&#xA;    self.requiredRoles_InterfaceRequiringEntity->select(rr |rr.oclIsTypeOf(OperationRequiredRole))->collect(rr | rr.oclAsType (OperationRequiredRole).requiredInterface__OperationRequiredRole.id)->asSet()&#xD;&#xA;    =&#xD;&#xA;    --complete type interface IDs:&#xD;&#xA;    self.parentCompleteComponentTypes.requiredRoles_InterfaceRequiringEntity->select(rr |rr.oclIsTypeOf(OperationRequiredRole))->collect(rr | rr.oclAsType (OperationRequiredRole).requiredInterface__OperationRequiredRole.id)->asSet()&#xD;&#xA;else&#xD;&#xA;&#x9;true&#xD;&#xA;endif"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="serviceEffectSpecifications__BasicComponent"
          ordered="false" upperBound="-1" eType="#//seff_pc_av/ServiceEffectSpecification"
          containment="true" eOpposite="#//seff_pc_av/ServiceEffectSpecification/basicComponent_ServiceEffectSpecification">
        <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>
      <eStructuralFeatures xsi:type="ecore:EReference" name="passiveResource_BasicComponent"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/PassiveResource"
          containment="true" eOpposite="#//repository_pc_av/PassiveResource/basicComponent_PassiveResource">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the passive resources, e.g., semaphores, that are owned by this basic component."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ImplementationComponentType" eSuperTypes="#//repository_pc_av/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&#xD;&#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.&#xD;&#xA;&#xD;&#xA;TODO: ? Possibly add constraint that the VariableUsages must have unique names within one component. Maybe this constraint can even be added to the VariableUsage in general (for each containment of VariableUsages, each name inside must be unique, for example). "/>
      </eAnnotations>
      <eOperations name="RequiredInterfacesHaveToConformToCompleteType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="-- ImplementationTypes required Interfaces have to be a subset&#xD;&#xA;-- of CompleteComponentType required Interfaces #&#xD;&#xA;--&#xD;&#xA;-- ACCx are used to accumulate Sets/Bags; usually only the very inner ACCx is used at all.&#xD;&#xA;--&#xD;&#xA;-- Recursive Query for parent Interface IDs&#xD;&#xA;-- see 'lpar2005.pdf' (Second-order principles in specification languages for Object-Oriented Programs; Beckert, Tretelman) pp. 11 #&#xD;&#xA;--let parentInterfaces : Bag(Interface) =&#xD;&#xA;--&#x9;self.parentCompleteComponentTypes->iterate(pt : CompleteComponentType; acc1 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;acc1->union(pt.requiredRoles->iterate(r : RequiredRole; acc2 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;&#x9;acc2->union(r.requiredInterface.parentInterface->asBag()) -- asBag required to allow Set operations #&#xD;&#xA;--&#x9;&#x9;))&#xD;&#xA;--&#x9;) in&#xD;&#xA;--let anchestorInterfaces : Bag(Interface) =&#xD;&#xA;--&#x9;self.parentCompleteComponentTypes->iterate(pt : CompleteComponentType; acc3 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;acc3->union(pt.requiredRoles->iterate(r : RequiredRole; acc4 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;&#x9;acc4->union(r.requiredInterface.parentInterface->asBag()) -- asBag required to allow Set operations #&#xD;&#xA;--&#x9;&#x9;))&#xD;&#xA;--&#x9;)->union( -- union with anchestors found in former recursion #&#xD;&#xA;--&#x9;&#x9;self.parentCompleteComponentTypes->iterate(pt : CompleteComponentType; acc5 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;&#x9;acc5->union(pt.requiredRoles->iterate(r : RequiredRole; acc6 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;&#x9;&#x9;acc6->union(r.requiredInterface.parentInterface.anchestorInterfaces) --already Set/Bag&#xD;&#xA;--&#x9;&#x9;&#x9;))&#xD;&#xA;--&#x9;&#x9;)&#xD;&#xA;--&#x9;) in&#xD;&#xA;-- Directly required interfaces need to be a subset of required anchestorInterfaces of Supertype #&#xD;&#xA;--anchestorInterfaces.identifier.id->includesAll(&#xD;&#xA;--&#x9;self.requiredRoles->iterate(p : RequiredRole; acc7 : Bag(String) = Bag{} |&#xD;&#xA;--&#x9;&#x9;acc7->union(p.requiredInterface.identifier.id->asBag())&#xD;&#xA;--&#x9;)&#x9;&#xD;&#xA;--)&#xD;&#xA;true"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="providedInterfacesHaveToConformToCompleteType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="-- ### EXACT COPY FROM ABOVE ###&#xD;&#xA;-- ImplementationComponentTypes provided Interfaces have to be a superset&#xD;&#xA;-- of CompleteComponentType provided Interfaces #&#xD;&#xA;--&#xD;&#xA;-- ACCx are used to accumulate Sets/Bags; usually only the very inner ACCx is used at all.&#xD;&#xA;--&#xD;&#xA;-- Recursive Query for parent Interface IDs&#xD;&#xA;-- see 'lpar2005.pdf' (Second-order principles in specification languages for Object-Oriented Programs; Beckert, Tretelman) pp. 11 #&#xD;&#xA;--let parentInterfaces : Bag(Interface) =&#xD;&#xA;--&#x9;self.providedRoles->iterate(r : ProvidedRole; acc2 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;acc2->union(r.providedInterface.parentInterface->asBag()) -- asBag required to allow Set operations #&#xD;&#xA;--&#x9;) in&#xD;&#xA;--let anchestorInterfaces : Bag(Interface) =&#xD;&#xA;--&#x9;self.providedRoles->iterate(r : ProvidedRole; acc4 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;acc4->union(r.providedInterface.parentInterface->asBag()) -- asBag required to allow Set operations #&#xD;&#xA;--&#x9;)->union( -- union with anchestors found in former recursion #&#xD;&#xA;--&#x9;&#x9;self.providedRoles->iterate(r : ProvidedRole; acc6 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;&#x9;acc6->union(r.providedInterface.parentInterface.anchestorInterfaces) --already Set/Bag&#xD;&#xA;--&#x9;&#x9;)&#xD;&#xA;--&#x9;) in&#xD;&#xA;&#x9;-- Directly provided anchestorInterfaces need to be a superset of provided interfaces of Supertype #&#xD;&#xA;--&#x9;anchestorInterfaces.identifier.id->includesAll(&#xD;&#xA;--&#x9;&#x9;self.parentProvidesComponentTypes->iterate(pt : ProvidesComponentType; acc1 : Bag(String) = Bag{} |&#xD;&#xA;--&#x9;&#x9;&#x9;pt.providedRoles->iterate(r : ProvidedRole; acc2 : Bag(String) = Bag{} |&#xD;&#xA;--&#x9;&#x9;&#x9;&#x9;acc2->union(r.providedInterface.identifier.id->asBag()) -- asBag required to allow Set operations #&#xD;&#xA;--&#x9;&#x9;&#x9;)&#xD;&#xA;--&#x9;&#x9;)&#xD;&#xA;--&#x9;)&#xD;&#xA;true"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="ProvidedInterfaceHaveToConformToComponentType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="if self.componentType = ComponentType::INFRASTRUCTURE_COMPONENT then&#xD;&#xA;&#x9;self.providedRoles_InterfaceProvidingEntity->select(role | role.oclIsTypeOf(OperationInterface) or role.oclIsTypeOf(EventGroup))->size() = 0&#xD;&#xA;else if self.componentType = ComponentType::BUSINESS_COMPONENT then&#xD;&#xA;&#x9;self.providedRoles_InterfaceProvidingEntity->select(role | role.oclIsTypeOf(InfrastructureInterface))->size() = 0&#xD;&#xA;else&#xD;&#xA;&#x9;1 = 0&#xD;&#xA;endif&#xD;&#xA;endif"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="parentCompleteComponentTypes"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/CompleteComponentType"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="componentParameterUsage_ImplementationComponentType"
          ordered="false" upperBound="-1" eType="#//parameter_pc_av/VariableUsage"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property specified the variables of the component that are to be initialized using the assembly context to parametrize the component."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="componentType" ordered="false"
          lowerBound="1" eType="#//repository_pc_av/ComponentType" defaultValueLiteral="BUSINESS_COMPONENT"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RepositoryComponent" eSuperTypes="#//core_pc_av/entity_pc_av/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__RepositoryComponent"
          ordered="false" eType="#//repository_pc_av/Repository" eOpposite="#//repository_pc_av/Repository/components__Repository">
        <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="ProvidedRole" eSuperTypes="#//repository_pc_av/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_ProvidedRole"
          ordered="false" eType="#//core_pc_av/entity_pc_av/InterfaceProvidingEntity"
          eOpposite="#//core_pc_av/entity_pc_av/InterfaceProvidingEntity/providedRoles_InterfaceProvidingEntity">
        <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>
    </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__Parameter"
          ordered="false" eType="#//repository_pc_av/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="infrastructureSignature__Parameter"
          ordered="false" eType="#//repository_pc_av/InfrastructureSignature" eOpposite="#//repository_pc_av/InfrastructureSignature/parameters__InfrastructureSignature"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="operationSignature__Parameter"
          ordered="false" eType="#//repository_pc_av/OperationSignature" eOpposite="#//repository_pc_av/OperationSignature/parameters__OperationSignature">
        <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:EReference" name="eventType__Parameter"
          ordered="false" eType="#//repository_pc_av/EventType" eOpposite="#//repository_pc_av/EventType/parameter__EventType"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterName" 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>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="modifier__Parameter"
          ordered="false" lowerBound="1" eType="#//repository_pc_av/ParameterModifier">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the modifier of the parameter like known from C#."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceSignature__Parameter"
          ordered="false" eType="#//resourcetype_pc_av/ResourceSignature" eOpposite="#//resourcetype_pc_av/ResourceSignature/parameter__ResourceSignature"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DataType">
      <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__DataType"
          ordered="false" eType="#//repository_pc_av/Repository" eOpposite="#//repository_pc_av/Repository/dataTypes__Repository">
        <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="Repository" eSuperTypes="#//core_pc_av/entity_pc_av/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="repositoryDescription"
          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__Repository"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/RepositoryComponent"
          containment="true" eOpposite="#//repository_pc_av/RepositoryComponent/repository__RepositoryComponent">
        <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__Repository"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/Interface" containment="true"
          eOpposite="#//repository_pc_av/Interface/repository__Interface">
        <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="failureTypes__Repository"
          ordered="false" upperBound="-1" eType="#//reliability_pc_av/FailureType"
          containment="true" eOpposite="#//reliability_pc_av/FailureType/repository__FailureType"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="dataTypes__Repository"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/DataType" containment="true"
          eOpposite="#//repository_pc_av/DataType/repository__DataType">
        <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="#//core_pc_av/entity_pc_av/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.&#xD;&#xA;&#xD;&#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>
      <eOperations name="NoProtocolTypeIDUsedTwice" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.protocols__Interface->forAll(p1, p2 |&#xD;&#xA;p1.protocolTypeID &lt;> p2.protocolTypeID)&#xD;&#xA;"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="parentInterfaces__Interface"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/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="protocols__Interface"
          ordered="false" upperBound="-1" eType="#//protocol_pc_av/Protocol" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This property represents the protocol bound to this interfaces, i.e., the way, in the sense of the order, the services of this interfaces are allowed to be called."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="requiredCharacterisations"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/RequiredCharacterisation"
          containment="true" eOpposite="#//repository_pc_av/RequiredCharacterisation/interface_RequiredCharacterisation">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="documentation of required variable characterisations"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="repository__Interface"
          ordered="false" eType="#//repository_pc_av/Repository" eOpposite="#//repository_pc_av/Repository/interfaces__Repository">
        <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>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RequiredCharacterisation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specification of required variable characeterisations per parameter. Increases power of interfaces and lifts variable characterisations to the interface to enable extended interoperability checks."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
          lowerBound="1" eType="#//parameter_pc_av/VariableCharacterisationType"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" ordered="false"
          eType="#//repository_pc_av/Parameter"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="interface_RequiredCharacterisation"
          ordered="false" eType="#//repository_pc_av/Interface" eOpposite="#//repository_pc_av/Interface/requiredCharacterisations"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="EventGroup" eSuperTypes="#//repository_pc_av/Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An EventGroup combines a set of EventTypes that are supported by a Sink and/or a Source. This is comparable to an operation interface combining a set of operation signatures."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="eventTypes__EventGroup"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/EventType" containment="true"
          eOpposite="#//repository_pc_av/EventType/eventGroup__EventType"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="EventType" eSuperTypes="#//repository_pc_av/Signature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The EventType represents a single class of events that can be emited by a source or consumed by a sink. The characteristics of the event are defined by the variable included in the EventType.&#xD;&#xA;Due to the extension of the signature class, the EventType is also accessible for ServiceEffectSpecifications (SEFF). By this, a SEFF is able to represent an event handler for this type of events."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameter__EventType"
          ordered="false" eType="#//repository_pc_av/Parameter" containment="true"
          eOpposite="#//repository_pc_av/Parameter/eventType__Parameter"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="eventGroup__EventType"
          ordered="false" eType="#//repository_pc_av/EventGroup" eOpposite="#//repository_pc_av/EventGroup/eventTypes__EventGroup"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Signature" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    This&amp;nbsp;entity&amp;nbsp;represents&amp;nbsp;the&amp;nbsp;signature&amp;nbsp;of&amp;nbsp;a&amp;nbsp;method,&amp;nbsp;i.e.,&amp;nbsp;its&amp;nbsp;parameters,&amp;nbsp;exception&amp;nbsp;declarations,&amp;nbsp;return&amp;nbsp;type,&amp;nbsp;etc.&lt;br />&#xD;&#xA;    &lt;br />&#xD;&#xA;    Every&amp;nbsp;service&amp;nbsp;of&amp;nbsp;an&amp;nbsp;interface&amp;nbsp;has&amp;nbsp;a&amp;nbsp;unique&amp;nbsp;signature,&amp;nbsp;like&amp;nbsp;void&amp;nbsp;doSomething(int&amp;nbsp;a).&amp;nbsp;A&amp;nbsp;PCM&amp;nbsp;signature&amp;nbsp;is&amp;nbsp;comparable&amp;nbsp;to&amp;nbsp;a&amp;nbsp;method&amp;nbsp;signature&amp;nbsp;in&amp;nbsp;programming&amp;nbsp;languages&amp;nbsp;like&amp;nbsp;C#,&amp;nbsp;Java&amp;nbsp;or&amp;nbsp;the&amp;nbsp;OMG&amp;nbsp;IDL.&lt;br />&#xD;&#xA;    &lt;br />&#xD;&#xA;    It&amp;nbsp;contains:&lt;br />&#xD;&#xA;    &lt;br />&#xD;&#xA;    *&amp;nbsp;A&amp;nbsp;type&amp;nbsp;of&amp;nbsp;the&amp;nbsp;return&amp;nbsp;value&amp;nbsp;or&amp;nbsp;void&amp;nbsp;(no&amp;nbsp;return&amp;nbsp;value),&lt;br />&#xD;&#xA;    &lt;br />&#xD;&#xA;    *&amp;nbsp;an&amp;nbsp;identifier&amp;nbsp;naming&amp;nbsp;the&amp;nbsp;service,&lt;br />&#xD;&#xA;    &lt;br />&#xD;&#xA;    *&amp;nbsp;an&amp;nbsp;ordered&amp;nbsp;set&amp;nbsp;of&amp;nbsp;parameters&amp;nbsp;(0..*).Each&amp;nbsp;parameter&amp;nbsp;is&amp;nbsp;a&amp;nbsp;tuple&amp;nbsp;of&amp;nbsp;a&amp;nbsp;datatype&amp;nbsp;and&amp;nbsp;an&amp;nbsp;identifier&amp;nbsp;(which&amp;nbsp;is&amp;nbsp;unique&amp;nbsp;across&amp;nbsp;the&amp;nbsp;parameters).&amp;nbsp;Additionally,&amp;nbsp;the&amp;nbsp;modifiers&amp;nbsp;in,&amp;nbsp;out,&amp;nbsp;and&amp;nbsp;inout&amp;nbsp;(with&amp;nbsp;its&amp;nbsp;OMG&lt;br />&#xD;&#xA;    IDL&amp;nbsp;semantics)&amp;nbsp;can&amp;nbsp;be&amp;nbsp;used&amp;nbsp;for&amp;nbsp;parameters,&amp;nbsp;and&lt;br />&#xD;&#xA;    &lt;br />&#xD;&#xA;    *&amp;nbsp;an&amp;nbsp;unordered&amp;nbsp;set&amp;nbsp;of&amp;nbsp;exceptions.&lt;br />&#xD;&#xA;    &lt;br />&#xD;&#xA;    A&amp;nbsp;signature&amp;nbsp;has&amp;nbsp;to&amp;nbsp;be&amp;nbsp;unique&amp;nbsp;for&amp;nbsp;an&amp;nbsp;interface&amp;nbsp;through&amp;nbsp;the&amp;nbsp;tupel&amp;nbsp;(identifier,&amp;nbsp;order&amp;nbsp;of&amp;nbsp;parameters).&amp;nbsp;An&amp;nbsp;interface&amp;nbsp;has&amp;nbsp;a&amp;nbsp;list&amp;nbsp;of&amp;nbsp;1..*&amp;nbsp;signatures&amp;nbsp;(interfaces&amp;nbsp;associate&amp;nbsp;1..*&amp;nbsp;signatures,&amp;nbsp;not&amp;nbsp;the&amp;nbsp;other&amp;nbsp;way&amp;nbsp;around).&amp;nbsp;A&lt;br />&#xD;&#xA;    signature&amp;nbsp;is&amp;nbsp;assigned&amp;nbsp;to&amp;nbsp;exactly&amp;nbsp;one&amp;nbsp;interface.&amp;nbsp;However,&amp;nbsp;different&amp;nbsp;interfaces&amp;nbsp;can&amp;nbsp;define&amp;nbsp;equally&amp;nbsp;named&amp;nbsp;signatures.&amp;nbsp;If,&amp;nbsp;for&amp;nbsp;example,&amp;nbsp;void&amp;nbsp;doIt()&amp;nbsp;is&amp;nbsp;defined&amp;nbsp;for&amp;nbsp;interface&amp;nbsp;A&amp;nbsp;and&amp;nbsp;B,&amp;nbsp;void&amp;nbsp;doIt()&amp;nbsp;is&amp;nbsp;not&amp;nbsp;identical&amp;nbsp;in&amp;nbsp;both&amp;nbsp;interfaces.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    Failure that may occur inside external services must be specified at the service signatures. This way components that&#xD;&#xA;    use this services may implement failure handling without knowing the internal behaviour of the connected component.&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="exceptions__Signature"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/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="failureType" ordered="false"
          upperBound="-1" eType="#//reliability_pc_av/FailureType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Optional&amp;nbsp;specification&amp;nbsp;of&amp;nbsp;failure&amp;nbsp;types&amp;nbsp;that&amp;nbsp;can&amp;nbsp;happen&amp;nbsp;on&amp;nbsp;execution&amp;nbsp;of&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;service."/>
        </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="exceptionName" 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="exceptionMessage" 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="InfrastructureSignature" eSuperTypes="#//repository_pc_av/Signature">
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameters__InfrastructureSignature"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/Parameter" containment="true"
          eOpposite="#//repository_pc_av/Parameter/infrastructureSignature__Parameter"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="infrastructureInterface__InfrastructureSignature"
          ordered="false" eType="#//repository_pc_av/InfrastructureInterface" eOpposite="#//repository_pc_av/InfrastructureInterface/infrastructureSignatures__InfrastructureInterface"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InfrastructureInterface" eSuperTypes="#//repository_pc_av/Interface">
      <eStructuralFeatures xsi:type="ecore:EReference" name="infrastructureSignatures__InfrastructureInterface"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/InfrastructureSignature"
          containment="true" eOpposite="#//repository_pc_av/InfrastructureSignature/infrastructureInterface__InfrastructureSignature"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InfrastructureRequiredRole" eSuperTypes="#//repository_pc_av/RequiredRole">
      <eStructuralFeatures xsi:type="ecore:EReference" name="requiredInterface__InfrastructureRequiredRole"
          ordered="false" eType="#//repository_pc_av/InfrastructureInterface"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RequiredRole" eSuperTypes="#//repository_pc_av/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_RequiredRole"
          ordered="false" eType="#//core_pc_av/entity_pc_av/InterfaceRequiringEntity"
          eOpposite="#//core_pc_av/entity_pc_av/InterfaceRequiringEntity/requiredRoles_InterfaceRequiringEntity">
        <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>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OperationSignature" eSuperTypes="#//repository_pc_av/Signature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An interface specific to operations and a operation specific association to parameters and return values."/>
      </eAnnotations>
      <eOperations name="ParameterNamesHaveToBeUniqueForASignature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.parameters__OperationSignature->isUnique(p : Parameter |&#xD;&#xA;&#x9;p.parameterName&#xD;&#xA;)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="interface__OperationSignature"
          ordered="false" eType="#//repository_pc_av/OperationInterface" eOpposite="#//repository_pc_av/OperationInterface/signatures__OperationInterface">
        <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>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameters__OperationSignature"
          upperBound="-1" eType="#//repository_pc_av/Parameter" containment="true"
          eOpposite="#//repository_pc_av/Parameter/operationSignature__Parameter">
        <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__OperationSignature"
          ordered="false" eType="#//repository_pc_av/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>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OperationInterface" eSuperTypes="#//repository_pc_av/Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OperationInterface is a specific type of interface related to operation calls. For this, it also refereferences a set of operation interfaces. Operations can represent methods, functions or any comparable concept."/>
      </eAnnotations>
      <eOperations name="SignaturesHaveToBeUniqueForAnInterface" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="-- full signature has to be unique &#xD;&#xA;-- (use of ocl-tupels) #&#xD;&#xA;let sigs : Bag(&#xD;&#xA;&#x9;-- parameters: Sequence of DataType, NOT name #&#xD;&#xA;&#x9;-- exceptions have not to be considered #&#xD;&#xA;&#x9;Tuple(returnType : DataType, serviceName : String, parameters : Sequence(DataType) ) &#xD;&#xA;) = &#xD;&#xA;self.signatures__OperationInterface->collect(sig : OperationSignature |&#xD;&#xA;&#x9;Tuple{&#xD;&#xA;&#x9;&#x9;returnType : DataType = sig.returnType__OperationSignature,&#xD;&#xA;&#x9;&#x9;serviceName : String = sig.entityName,&#xD;&#xA;&#x9;&#x9;parameters : Sequence(DataType) = sig.parameters__OperationSignature.dataType__Parameter&#xD;&#xA;&#x9;}&#xD;&#xA;)&#xD;&#xA;in&#xD;&#xA;sigs->isUnique(s|s)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="signatures__OperationInterface"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/OperationSignature"
          containment="true" eOpposite="#//repository_pc_av/OperationSignature/interface__OperationSignature">
        <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="OperationRequiredRole" eSuperTypes="#//repository_pc_av/RequiredRole">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents the required operation interfaces. The PCM uses the association of an operation interface to a component to determine its role. "/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="requiredInterface__OperationRequiredRole"
          ordered="false" eType="#//repository_pc_av/OperationInterface">
        <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="SourceRole" eSuperTypes="#//repository_pc_av/RequiredRole">
      <eStructuralFeatures xsi:type="ecore:EReference" name="eventGroup__SourceRole"
          ordered="false" eType="#//repository_pc_av/EventGroup"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SinkRole" eSuperTypes="#//repository_pc_av/ProvidedRole">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A SinkRole, extending a ProvidedRole, identifies components that provide an event handler for specific EventTypes. As for SourceRoles, the EventTypes, a SinkRole is compatible with, are defined by the associated EventGroup."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="eventGroup__SinkRole"
          ordered="false" eType="#//repository_pc_av/EventGroup"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OperationProvidedRole" eSuperTypes="#//repository_pc_av/ProvidedRole">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This entity represents the provided operation interfaces. The PCM uses the association of an operation interface to a component to determine its role. "/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="providedInterface__OperationProvidedRole"
          ordered="false" eType="#//repository_pc_av/OperationInterface">
        <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="InfrastructureProvidedRole" eSuperTypes="#//repository_pc_av/ProvidedRole">
      <eStructuralFeatures xsi:type="ecore:EReference" name="providedInterface__InfrastructureProvidedRole"
          ordered="false" eType="#//repository_pc_av/InfrastructureInterface"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="ParameterModifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Parameter modifiers like known from C#."/>
      </eAnnotations>
      <eLiterals name="none">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Use this value if no parameter modifier shall be applied."/>
        </eAnnotations>
      </eLiterals>
      <eLiterals name="in" value="1">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="&quot;in&quot; according to C# semantics"/>
        </eAnnotations>
      </eLiterals>
      <eLiterals name="out" value="2">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="&quot;out&quot; according to C# semantics"/>
        </eAnnotations>
      </eLiterals>
      <eLiterals name="inout" value="3">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="ref&quot; according to C# semantics"/>
        </eAnnotations>
      </eLiterals>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CompleteComponentType" eSuperTypes="#//repository_pc_av/RepositoryComponent">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Complete (Component) types abstract from the realisation 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>
      <eOperations name="AtLeastOneInterfaceHasToBeProvidedOrRequiredByAUsefullCompleteComponentType"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="(&#xD;&#xA;&#x9;self.oclIsTypeOf(CompleteComponentType)&#xD;&#xA;&#x9;or&#xD;&#xA;&#x9;self.oclIsTypeOf(ImplementationComponentType)&#xD;&#xA;&#x9;or&#xD;&#xA;&#x9;self.oclIsTypeOf(CompositeComponent)&#xD;&#xA;&#x9;or&#xD;&#xA;&#x9;self.oclIsTypeOf(BasicComponent)&#xD;&#xA;)&#xD;&#xA;implies&#xD;&#xA;(&#xD;&#xA;&#x9;self.providedRoles_InterfaceProvidingEntity->size() >= 1&#xD;&#xA;&#x9;or&#xD;&#xA;&#x9;self.requiredRoles_InterfaceRequiringEntity->size() >= 1&#xD;&#xA;)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="providedInterfacesHaveToConformToProvidedType2" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="-- CompleteTypes provided Interfaces have to be a superset&#xD;&#xA;-- of ProvidesComponentType provided Interfaces #&#xD;&#xA;--&#xD;&#xA;-- ACCx are used to accumulate Sets/Bags; usually only the very inner ACCx is used at all.&#xD;&#xA;--&#xD;&#xA;-- Recursive Query for parent Interface IDs&#xD;&#xA;-- see &quot;lpar2005.pdf&quot; (Second-order principles in specification languages for Object-Oriented Programs; Beckert, Tretelman) pp. 11 #&#xD;&#xA;--let parentInterfaces : Bag(Interface) =&#xD;&#xA;--&#x9;self.providedRoles->iterate(r : ProvidedRole; acc2 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;acc2->union(r.providedInterface.parentInterface->asBag()) -- asBag required to allow Set operations #&#xD;&#xA;--&#x9;) in&#xD;&#xA;--let anchestorInterfaces : Bag(Interface) =&#xD;&#xA;--&#x9;self.providedRoles->iterate(r : ProvidedRole; acc4 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;acc4->union(r.providedInterface.parentInterface->asBag()) -- asBag required to allow Set operations #&#xD;&#xA;--&#x9;)->union( -- union with anchestors found in former recursion #&#xD;&#xA;--&#x9;&#x9;self.providedRoles->iterate(r : ProvidedRole; acc6 : Bag(Interface) = Bag{} |&#xD;&#xA;--&#x9;&#x9;&#x9;acc6->union(r.providedInterface.parentInterface.anchestorInterfaces) --already Set/Bag&#xD;&#xA;--&#x9;&#x9;)&#xD;&#xA;--&#x9;) in&#xD;&#xA;--&#x9;-- Directly provided anchestorInterfaces need to be a superset of provided interfaces of Supertype #&#xD;&#xA;--&#x9;anchestorInterfaces.identifier.id->includesAll(&#xD;&#xA;--&#x9;&#x9;self.parentProvidesComponentTypes->iterate(pt : ProvidesComponentType; acc1 : Bag(String) = Bag{} |&#xD;&#xA;--&#x9;&#x9;&#x9;pt.providedRoles->iterate(r : ProvidedRole; acc2 : Bag(String) = Bag{} |&#xD;&#xA;--&#x9;&#x9;&#x9;&#x9;acc2->union(r.providedInterface.identifier.id->asBag()) -- asBag required to allow Set operations #&#xD;&#xA;--&#x9;&#x9;&#x9;)&#xD;&#xA;--&#x9;&#x9;)&#xD;&#xA;--&#x9;)&#xD;&#xA;true"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="parentProvidesComponentTypes"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/ProvidesComponentType"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ProvidesComponentType" eSuperTypes="#//repository_pc_av/RepositoryComponent">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Provided (Component) Types abstract a component to its provided interfaces, leaving its requirements and implementation details open. So, provided types subsume components which offer the same functionality, but with different implementations. As different implementations might require different services from the environment, provided types omit required interfaces. Provided types allow software architects to focus on a component’s functionality and introduce weak substitutability to the PCM. Using provided types, software architects can draft ideas on how functionality can be partitioned among different components without worrying about their implementation. In the initial phases of architectural design, it often does not make sense to arrange all details of a component, since most of them depend on the actual implementation and thus need to be specified by component developers. As during this phase the actual implementation is unknown, also the required interfaces of a component cannot be stated. However, software architects can still pre-evaluate a software architecture containing provided-types. This gives rough estimates about the quality of the build software system and defines QoS requirements for the component implementation."/>
      </eAnnotations>
      <eOperations name="AtLeastOneInterfaceHasToBeProvidedByAUsefullProvidesComponentType"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.oclIsTypeOf(ProvidesComponentType)&#xD;&#xA;implies&#xD;&#xA;self.providedRoles_InterfaceProvidingEntity->size() >= 1"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="ComponentType">
      <eLiterals name="BUSINESS_COMPONENT"/>
      <eLiterals name="INFRASTRUCTURE_COMPONENT" value="1"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CompositeComponent" eSuperTypes="#//core_pc_av/entity_pc_av/ComposedProvidingRequiringEntity #//repository_pc_av/ImplementationComponentType">
      <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/uml2/1.1.0/GenModel">
          <details key="body" value="-- CC has to provide the same interfaces like the implementationComponentType (if set) (same OCL code like BC)#&#xD;&#xA;if&#xD;&#xA;&#x9; -- apply constraint only for non-empty ImplementationComponentTypes of a BC #&#xD;&#xA;&#x9;self.parentCompleteComponentTypes->notEmpty()&#xD;&#xA;then&#xD;&#xA;&#x9;--own interface IDs:&#xD;&#xA;    self.providedRoles_InterfaceProvidingEntity->select(pr|pr.oclIsTypeOf(OperationProvidedRole))->collect(pr : ProvidedRole | pr.oclAsType (OperationProvidedRole).providedInterface__OperationProvidedRole.id)->asSet()&#xD;&#xA;    =&#xD;&#xA;    --complete type interface IDs:&#xD;&#xA;    self.parentCompleteComponentTypes.providedRoles_InterfaceProvidingEntity->select(pr|pr.oclIsTypeOf(OperationProvidedRole))->collect(pr : ProvidedRole | pr.oclAsType (OperationProvidedRole).providedInterface__OperationProvidedRole.id)->asSet()&#xD;&#xA;else&#xD;&#xA;&#x9;true&#xD;&#xA;endif"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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/uml2/1.1.0/GenModel">
          <details key="body" value="-- CC has to require the same interfaces like the implementationComponentType (if set) (same OCL code like BC) #&#xD;&#xA;if&#xD;&#xA;&#x9; -- apply constraint only for non-empty ImplementationComponentTypes of a BC #&#xD;&#xA;&#x9;self.parentCompleteComponentTypes->notEmpty()&#xD;&#xA;then&#xD;&#xA;&#x9;--own interface IDs:&#xD;&#xA;    self.requiredRoles_InterfaceRequiringEntity->select(pr|pr.oclIsTypeOf(OperationRequiredRole))->collect(rr : RequiredRole | rr.oclAsType (OperationRequiredRole).requiredInterface__OperationRequiredRole.id)->asSet()&#xD;&#xA;    =&#xD;&#xA;    --complete type interface IDs:&#xD;&#xA;    self.parentCompleteComponentTypes.requiredRoles_InterfaceRequiringEntity->select(pr|pr.oclIsTypeOf(OperationRequiredRole))->collect(rr : RequiredRole | rr.oclAsType (OperationRequiredRole).requiredInterface__OperationRequiredRole.id)->asSet()&#xD;&#xA;else&#xD;&#xA;&#x9;true&#xD;&#xA;endif"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="PrimitiveDataType" eSuperTypes="#//repository_pc_av/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_pc_av/PrimitiveTypeEnum">
        <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:EEnum" name="PrimitiveTypeEnum">
      <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="CollectionDataType" eSuperTypes="#//core_pc_av/entity_pc_av/Entity #//repository_pc_av/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_CollectionDataType"
          ordered="false" eType="#//repository_pc_av/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="#//core_pc_av/entity_pc_av/Entity #//repository_pc_av/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_CompositeDataType"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/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_CompositeDataType"
          ordered="false" upperBound="-1" eType="#//repository_pc_av/InnerDeclaration"
          containment="true" eOpposite="#//repository_pc_av/InnerDeclaration/compositeDataType_InnerDeclaration">
        <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="#//core_pc_av/entity_pc_av/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_InnerDeclaration"
          ordered="false" eType="#//repository_pc_av/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_InnerDeclaration"
          ordered="false" eType="#//repository_pc_av/CompositeDataType" eOpposite="#//repository_pc_av/CompositeDataType/innerDeclaration_CompositeDataType"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Role" eSuperTypes="#//core_pc_av/entity_pc_av/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>
  </eSubpackages>
  <eSubpackages name="resourcetype_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/ResourceType/5.0_pointcut_advice"
      nsPrefix="resourcetype_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Package containing all resource types supported by the PCM"/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="ResourceSignature" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="TODO: This structure still has to be finalized by Henning. There is no influence on other model elements yet. so this can be done later on."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameter__ResourceSignature"
          ordered="false" eType="#//repository_pc_av/Parameter" containment="true"
          eOpposite="#//repository_pc_av/Parameter/resourceSignature__Parameter"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceServiceId" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceInterface__ResourceSignature"
          ordered="false" eType="#//resourcetype_pc_av/ResourceInterface" eOpposite="#//resourcetype_pc_av/ResourceInterface/resourceSignatures__ResourceInterface"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ProcessingResourceType" eSuperTypes="#//resourcetype_pc_av/ResourceType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    ResourceType representation of CPU.&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="hardwareInducedFailureType__ProcessingResourceType"
          ordered="false" eType="#//reliability_pc_av/HardwareInducedFailureType"
          eOpposite="#//reliability_pc_av/HardwareInducedFailureType/processingResourceType__HardwareInducedFailureType"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ResourceType" eSuperTypes="#//core_pc_av/entity_pc_av/Entity Units_pointcut_advice.ecore#//UnitCarryingElement #//core_pc_av/entity_pc_av/ResourceInterfaceProvidingEntity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract superclass of any resource"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceRepository_ResourceType"
          ordered="false" eType="#//resourcetype_pc_av/ResourceRepository" eOpposite="#//resourcetype_pc_av/ResourceRepository/availableResourceTypes_ResourceRepository"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ResourceRepository">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Extendable repository of resource types of the PCM. The resource type repository is intentionally left open to support&#xD;&#xA;arbitrary resources in the future"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceInterfaces__ResourceRepository"
          ordered="false" upperBound="-1" eType="#//resourcetype_pc_av/ResourceInterface"
          containment="true" eOpposite="#//resourcetype_pc_av/ResourceInterface/resourceRepository__ResourceInterface"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="schedulingPolicies__ResourceRepository"
          ordered="false" upperBound="-1" eType="#//resourcetype_pc_av/SchedulingPolicy"
          containment="true" eOpposite="#//resourcetype_pc_av/SchedulingPolicy/resourceRepository__SchedulingPolicy"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="availableResourceTypes_ResourceRepository"
          ordered="false" upperBound="-1" eType="#//resourcetype_pc_av/ResourceType"
          containment="true" eOpposite="#//resourcetype_pc_av/ResourceType/resourceRepository_ResourceType"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SchedulingPolicy" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceRepository__SchedulingPolicy"
          ordered="false" eType="#//resourcetype_pc_av/ResourceRepository" eOpposite="#//resourcetype_pc_av/ResourceRepository/schedulingPolicies__ResourceRepository"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CommunicationLinkResourceType" eSuperTypes="#//resourcetype_pc_av/ResourceType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ResourceType representing communication links like, LAN, WAN, WiFi etc."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="networkInducedFailureType__CommunicationLinkResourceType"
          ordered="false" eType="#//reliability_pc_av/NetworkInducedFailureType" eOpposite="#//reliability_pc_av/NetworkInducedFailureType/communicationLinkResourceType__NetworkInducedFailureType"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ResourceInterface" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="TODO: This structure still has to be finalized by Henning. There is no influence on other model elements yet. so this can be done later on."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceRepository__ResourceInterface"
          ordered="false" eType="#//resourcetype_pc_av/ResourceRepository" eOpposite="#//resourcetype_pc_av/ResourceRepository/resourceInterfaces__ResourceRepository"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceSignatures__ResourceInterface"
          ordered="false" upperBound="-1" eType="#//resourcetype_pc_av/ResourceSignature"
          containment="true" eOpposite="#//resourcetype_pc_av/ResourceSignature/resourceInterface__ResourceSignature"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="protocol_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/Protocol/5.0_pointcut_advice"
      nsPrefix="protocol_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="&lt;p>&#xD;&#xA;    The PCM is prepared to support interface protocols. This package contains a protocol stub. Multiple protocols following&#xD;&#xA;    different formalisms are supported by the PCM and distinguished by a protocol ID.&#xD;&#xA;&lt;/p>"/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="Protocol">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A protocol is a set of calling sequences and can be optionally added to an interface. Protocols of provided&#xD;&#xA;interfaces specify the order in which services have to be called by clients. Protocols of required interfaces&#xD;&#xA;specify the actual order in which the component calls required services.&#xD;&#xA;&#xD;&#xA;Besides finite state machines, different formalisms can be used to model protocols. The PCM does&#xD;&#xA;not restrict the protocol modelling formalisms. For example, Petri nets or regular expressions could&#xD;&#xA;model interface protocols. However, the choice of a formalism does influence possible analyses. For&#xD;&#xA;example, to check the interoperability of two components A and B, the language inclusion of the required&#xD;&#xA;protocol of A within the provided protocol of B has to be tested. The language inclusion is undecidable for&#xD;&#xA;Petri nets in the general case, so protocols modelled with Petri nets cannot be checked for interoperability.&#xD;&#xA;Notice, that although protocols are able to express the state of a component, interfaces themselves&#xD;&#xA;are stateless. The protocol state only depends on the component that implements the interface and is only&#xD;&#xA;present during component runtime. Components can provide/require multiple interfaces, but the PCM&#xD;&#xA;does not support protocols ranging over multiple interfaces (neither for provided nor required protocols).&#xD;&#xA;The complete state of a components consists of all its interface states. Restrictions on the complete state&#xD;&#xA;cannot be expressed in the PCM, as protocols can only be specified for single interfaces."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="protocolTypeID" 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="Multiple protocols following different formalisms are supported by the PCM and distinguished by a protocol ID."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="parameter_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/Parameter/5.0_pointcut_advice"
      nsPrefix="parameter_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="The parameter package allows to model data dependent performance characteristics of software systems. It is mainly used to specify performance dependencies on input and output parameters of single service calls. It can also be used to describe dependencies on the state of components by the use of component parameters. The latter describe stochastically a component state which does not change over time. &#xD;&#xA;&#xD;&#xA;Parameters are described by the use of variable usages which on the one side contain a performance abstraction of the variable's value and on the other side the name of the variable for refering to the variable. Characterisations available include Structure (information on the data's internal structure like &quot;sorted&quot; or &quot;unsorted&quot; for an array), Number of Elements (size of a collection), Value (the actuall variable value), Bytesize (the variable's memory footprint), or type (the type of the variable in polymorphic cases).&#xD;&#xA;&#xD;&#xA;Example for variable usages may be a.NUMBER_OF_ELEMENTS = 10 (array &quot;a&quot; contains 10 elements), tree.STRUCTURE = &quot;balanced&quot; (tree &quot;tree&quot; is a balanced tree), and so on."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="VariableUsage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Variable usages are used to characterise variables like input and output variables or component parameters. They contain the specification of the variable as VariableCharacterisation and also refer to the name of the characterised variable in its namedReference association. Note that it was an explicit design decision to refer to variable names instead of the actual variables (i.e., by refering to Parameter class). It eased the writing of transformations (DSolver as well as SimuCom) but put some complexity in the frontend for entering the variable usages."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="variableCharacterisation_VariableUsage"
          ordered="false" upperBound="-1" eType="#//parameter_pc_av/VariableCharacterisation"
          containment="true" eOpposite="#//parameter_pc_av/VariableCharacterisation/variableUsage_VariableCharacterisation">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This association contains the information which abstract information on a specific variable is available. For example, whether we know something on the variable's value, its structure or memory footprint. There can be multiple characterisations of the same variable if more than one type of information is available."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="userData_VariableUsage"
          ordered="false" eType="#//usagemodel_pc_av/UserData" eOpposite="#//usagemodel_pc_av/UserData/userDataParameterUsages_UserData"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="callAction__VariableUsage"
          ordered="false" eType="#//seff_pc_av/CallAction" eOpposite="#//seff_pc_av/CallAction/inputVariableUsages__CallAction"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="synchronisationPoint_VariableUsage"
          ordered="false" eType="#//seff_pc_av/SynchronisationPoint" eOpposite="#//seff_pc_av/SynchronisationPoint/outputParameterUsage_SynchronisationPoint"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="callReturnAction__VariableUsage"
          ordered="false" eType="#//seff_pc_av/CallReturnAction" eOpposite="#//seff_pc_av/CallReturnAction/returnVariableUsage__CallReturnAction"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="setVariableAction_VariableUsage"
          ordered="false" eType="#//seff_pc_av/SetVariableAction" eOpposite="#//seff_pc_av/SetVariableAction/localVariableUsages_SetVariableAction"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="specifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage"
          ordered="false" eType="#//qosannotations_pc_av/SpecifiedOutputParameterAbstraction"
          eOpposite="#//qosannotations_pc_av/SpecifiedOutputParameterAbstraction/expectedExternalOutputs_SpecifiedOutputParameterAbstraction"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext__VariableUsage"
          ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"
          eOpposite="#//core_pc_av/composition_pc_av/AssemblyContext/configParameterUsages__AssemblyContext"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="entryLevelSystemCall_InputParameterUsage"
          ordered="false" eType="#//usagemodel_pc_av/EntryLevelSystemCall" eOpposite="#//usagemodel_pc_av/EntryLevelSystemCall/inputParameterUsages_EntryLevelSystemCall"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="entryLevelSystemCall_OutputParameterUsage"
          ordered="false" eType="#//usagemodel_pc_av/EntryLevelSystemCall" eOpposite="#//usagemodel_pc_av/EntryLevelSystemCall/outputParameterUsages_EntryLevelSystemCall"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="namedReference__VariableUsage"
          ordered="false" eType="ecore:EClass stoex_pointcut_advice.ecore#//AbstractNamedReference"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="VariableCharacterisation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Variable characterisations store performance critical meta-information on a variable. For example, if a variable's value is used in a long running loop, the value of the variable is performance critical. Or as an other example, for Q-Sort it is performancewise important to know how much elements are in a given array and whether the array is sorted or not. Variable characterisations contain a type which tells what kind of meta-information is stored (STRUCTURE, NUMBER_OF_ELEMENTS, ...) and a PCMRandomVariable for storing the value of the characterisation.&#xD;&#xA;&#xD;&#xA;For example, in &quot;a.NUMBER_OF_ELEMENTS=10&quot; the a is the name of the variable, NUMBER_OF_ELEMENTS is the characterisation type and &quot;10&quot; would be the specification (as PCMRandomVariable) of the characterisation's value."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
          lowerBound="1" eType="#//parameter_pc_av/VariableCharacterisationType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type specifies the kind of the variable characterisation. There are 5 types available: STRUCTURE, NUMBER_OF_ELEMENTS, VALUE, BYTESIZE, and TYPE."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="specification_VariableCharacterisation"
          ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
          eOpposite="#//core_pc_av/PCMRandomVariable/variableCharacterisation_Specification">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The specification contains the value of a variable characterisation. It is a stoachastic expression which may also contain references to other variable characterisations (that is the reason why it is a PCMRandomVariable). "/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="variableUsage_VariableCharacterisation"
          ordered="false" eType="#//parameter_pc_av/VariableUsage" eOpposite="#//parameter_pc_av/VariableUsage/variableCharacterisation_VariableUsage"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CharacterisedVariable" eSuperTypes="stoex_pointcut_advice.ecore#//Variable">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A characterised variable is a special variable which contains a performance abstraction of a data type. It can be transformed in a named reference and a variable characterisation. It has to end always with a variable characterisation type. Examples are &quot;a.NUMBER_OF_ELEMENTS&quot; or &quot;array.STRUCTURE&quot;."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="characterisationType"
          ordered="false" lowerBound="1" eType="#//parameter_pc_av/VariableCharacterisationType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type of the characterisation of the characterised variable. The type can be any of the varibale characterisation types, i.e., STRUCTURE, NUMBER_OF_ELEMENTS, TYPE, VALUE, or BYTESIZE."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="VariableCharacterisationType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The variable characterisation types determine the set of available meta-informations on variables. Possible values are STRUCTURE, NUMBER_OF_ELEMENTS, VALUE, BYTESIZE, and TYPE."/>
      </eAnnotations>
      <eLiterals name="STRUCTURE">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The structure characterisation type is used to describe the structure of the data. With structure we refer to performance relevant properties of data like for example whether an array is sorted, a tree is balanced, a collection is indexed, and so on.... The allowed set of value of the structure characterisation has to be specified by the component developer for a particular component."/>
        </eAnnotations>
      </eLiterals>
      <eLiterals name="NUMBER_OF_ELEMENTS" value="1">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The number of elements of a collection data type describe the amount of data objects contained in the collection."/>
        </eAnnotations>
      </eLiterals>
      <eLiterals name="VALUE" value="2">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The value characterisation can be used to specify the actual value of a parameter. It is only available for parameters having a primitive type. The value characterisation should be used with care as it increased the complexity of the resulting analysis model significantly. It should be only used in performance-critical cases."/>
        </eAnnotations>
      </eLiterals>
      <eLiterals name="BYTESIZE" value="3">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The bytesize characterisation specifies the memory footprint of a data object."/>
        </eAnnotations>
      </eLiterals>
      <eLiterals name="TYPE" value="4">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type characterisation specifies the actual data type of polymorphic data objects in cases where the actual type has an impact on performance. For example in a shape drawing application the actual shape of a geometric object has an impact on the performance as drawing a circle is much more time consuming than drawing a simple line."/>
        </eAnnotations>
      </eLiterals>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="reliability_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/Reliability/5.0_pointcut_advice"
      nsPrefix="reliability_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="This package contains reliability-relevant classes such as the definition of failure types."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="FailureOccurrenceDescription">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    Abstract superclass that connects a failure type definition to an occurrence probability. Used to describe the failure&#xD;&#xA;    potential of certain points of failure within the control and data flow (i.e. Actions within&#xD;&#xA;    ResourceDemandingBehaviours).&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eOperations name="EnsureValidFailureProbabilityRange" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="(self.failureProbability.oclAsType(Real) &lt;= 1.0) and (self.failureProbability.oclAsType(Real) >= 0.0)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="failureProbability" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="HardwareInducedFailureType" eSuperTypes="#//reliability_pc_av/FailureType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    Type definition for a hardware-induced failure, i.e. a failure-on-demand occurrence&amp;nbsp;due to an unavailable&#xD;&#xA;    resource. Standard types&amp;nbsp;are pre-defined according to the pre-defined ProcessingResourceTypes: CPU, HDD, DELAY.&#xD;&#xA;    Further types may be defined by the modeller for a certain PCM instance, together with a custom ProcessingResourceType.&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eOperations name="HardwareInducedFailureTypeHasProcessingResourceType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="( self.processingResourceType__HardwareInducedFailureType &lt;> null ) and ( not ( self.processingResourceType__HardwareInducedFailureType.oclIsTypeOf( pcm::resourcetype::CommunicationLinkResourceType ) ) )"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="processingResourceType__HardwareInducedFailureType"
          ordered="false" eType="#//resourcetype_pc_av/ProcessingResourceType" eOpposite="#//resourcetype_pc_av/ProcessingResourceType/hardwareInducedFailureType__ProcessingResourceType"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SoftwareInducedFailureType" eSuperTypes="#//reliability_pc_av/FailureType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    Type definition for a software-induced failure, i.e. a failure-on-demand occurrence&amp;nbsp;due to a software fault. Type&#xD;&#xA;    definitions are created by modellers for a certain PCM instance to distinguish&amp;nbsp;different types of software&#xD;&#xA;    failure-on-demand occurrences. Possible examples are: &quot;EncryptionFailure&quot;, &quot;ProtocolFailure&quot;, &quot;WebServerFailure&quot;.&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="internalFailureOccurrenceDescriptions__SoftwareInducedFailureType"
          ordered="false" upperBound="-1" eType="#//reliability_pc_av/InternalFailureOccurrenceDescription"
          eOpposite="#//reliability_pc_av/InternalFailureOccurrenceDescription/softwareInducedFailureType__InternalFailureOccurrenceDescription"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InternalFailureOccurrenceDescription"
        eSuperTypes="#//reliability_pc_av/FailureOccurrenceDescription">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Special&amp;nbsp;case&amp;nbsp;of&amp;nbsp;a&amp;nbsp;FailureOccurenceDescription&amp;nbsp;specifying the software-induced failure potential of&#xD;&#xA;InternalActions."/>
      </eAnnotations>
      <eOperations name="NoResourceTimeoutFailureAllowedForInternalFailureOccurrenceDescription"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="not self.softwareInducedFailureType__InternalFailureOccurrenceDescription.oclIsTypeOf(ResourceTimeoutFailureType)"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="ResourceTimeoutFailures are software-induced failure types, but are not annotated to InternalActions (they are only meant&#xD;&#xA;for passive resource timeouts)."/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="internalAction__InternalFailureOccurrenceDescription"
          ordered="false" eType="#//seff_pc_av/InternalAction" eOpposite="#//seff_pc_av/InternalAction/internalFailureOccurrenceDescriptions__InternalAction"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="softwareInducedFailureType__InternalFailureOccurrenceDescription"
          ordered="false" eType="#//reliability_pc_av/SoftwareInducedFailureType"
          eOpposite="#//reliability_pc_av/SoftwareInducedFailureType/internalFailureOccurrenceDescriptions__SoftwareInducedFailureType"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NetworkInducedFailureType" eSuperTypes="#//reliability_pc_av/FailureType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    Type definition for a network-induced failure, i.e. a failure-on-demand occurrence&amp;nbsp;due to a communication link&#xD;&#xA;    fault. One standard type&amp;nbsp;is pre-defined according to the pre-defined CommunicationLinkResourceType: LAN.&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eOperations name="NetworkInducedFailureTypeHasCommunicationLinkResourceType"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.communicationLinkResourceType__NetworkInducedFailureType &lt;> null"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="communicationLinkResourceType__NetworkInducedFailureType"
          ordered="false" eType="#//resourcetype_pc_av/CommunicationLinkResourceType"
          eOpposite="#//resourcetype_pc_av/CommunicationLinkResourceType/networkInducedFailureType__CommunicationLinkResourceType"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ExternalFailureOccurrenceDescription"
        eSuperTypes="#//reliability_pc_av/FailureOccurrenceDescription">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Special&amp;nbsp;case&amp;nbsp;of&amp;nbsp;a&amp;nbsp;FailureOccurenceDescription&amp;nbsp;specifying&amp;nbsp;the&amp;nbsp;failure&amp;nbsp;potential&amp;nbsp;of&amp;nbsp;system-external&amp;nbsp;calls.&amp;nbsp;Can&amp;nbsp;relate&amp;nbsp;to&#xD;&#xA;any FailureType."/>
      </eAnnotations>
      <eOperations name="NoResourceTimeoutFailureAllowedForExternalFailureOccurrenceDescription"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="not self.failureType__ExternalFailureOccurrenceDescription.oclIsTypeOf(ResourceTimeoutFailureType)"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="ResourceTimeoutFailures&amp;nbsp;are&amp;nbsp;software-induced&amp;nbsp;failure&amp;nbsp;types,&amp;nbsp;but&amp;nbsp;are&amp;nbsp;not&amp;nbsp;annotated&amp;nbsp;to&amp;nbsp;system-external&#xD;&#xA;calls&amp;nbsp;(they&amp;nbsp;are&amp;nbsp;only&amp;nbsp;meant&lt;br />&#xD;&#xA;for&amp;nbsp;passive&amp;nbsp;resource&amp;nbsp;timeouts)."/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="specifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription"
          ordered="false" eType="#//qosannotations_pc_av/qos_reliability_pc_av/SpecifiedReliabilityAnnotation"
          eOpposite="#//qosannotations_pc_av/qos_reliability_pc_av/SpecifiedReliabilityAnnotation/externalFailureOccurrenceDescriptions__SpecifiedReliabilityAnnotation"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="failureType__ExternalFailureOccurrenceDescription"
          ordered="false" eType="#//reliability_pc_av/FailureType"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ResourceTimeoutFailureType" eSuperTypes="#//reliability_pc_av/SoftwareInducedFailureType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    Type definition for a timeout failure-on-demand related to an AcquireAction for a certain PassiveResource (see the&#xD;&#xA;    documentation of the &quot;timeout&quot; attribute of the &quot;AcquireAction&quot; for further information).&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="passiveResource__ResourceTimeoutFailureType"
          ordered="false" eType="#//repository_pc_av/PassiveResource" eOpposite="#//repository_pc_av/PassiveResource/resourceTimeoutFailureType__PassiveResource">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The passive resource&amp;nbsp;whose&amp;nbsp;acquiring timeout is represented by this failure type&amp;nbsp;(see the documentation of&#xD;&#xA;the &quot;timeout&quot; attribute of the &quot;AcquireAction&quot; for further information)."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="FailureType" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    Abstract super class that&amp;nbsp;provides a type definition for&amp;nbsp;any failure-on-demand occurrence during service&#xD;&#xA;    execution.&amp;nbsp;&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="repository__FailureType"
          ordered="false" eType="#//repository_pc_av/Repository" eOpposite="#//repository_pc_av/Repository/failureTypes__Repository"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="seff_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/SEFF/5.0_pointcut_advice"
      nsPrefix="seff_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Package containing the abstract behaviour model of components"/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="StopAction" eSuperTypes="#//seff_pc_av/AbstractInternalControlFlowAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="StopActions end a scenario behaviour and contain only a predecessor."/>
      </eAnnotations>
      <eOperations name="StopActionSuccessorMustNotBeDefined" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.successor_AbstractAction.oclIsUndefined()"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="AbstractInternalControlFlowAction"
        eSuperTypes="#//seff_pc_av/AbstractAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    Abstract parent class of any internal control flow (e.g. InternalAction)&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceDemand_Action"
          ordered="false" upperBound="-1" eType="#//seff_pc_av/seff_performance_pc_av/ParametricResourceDemand"
          containment="true" eOpposite="#//seff_pc_av/seff_performance_pc_av/ParametricResourceDemand/action_ParametricResourceDemand"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="infrastructureCall__Action"
          ordered="false" upperBound="-1" eType="#//seff_pc_av/seff_performance_pc_av/InfrastructureCall"
          containment="true" eOpposite="#//seff_pc_av/seff_performance_pc_av/InfrastructureCall/action__InfrastructureCall"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceCall__Action"
          ordered="false" upperBound="-1" eType="#//seff_pc_av/seff_performance_pc_av/ResourceCall"
          containment="true" eOpposite="#//seff_pc_av/seff_performance_pc_av/ResourceCall/action__ResourceCall"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="AbstractAction" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="AbstractActions&amp;nbsp;model&amp;nbsp;either&amp;nbsp;a&amp;nbsp;service's&amp;nbsp;internal&amp;nbsp;computations&amp;nbsp;or&amp;nbsp;calls&amp;nbsp;to&amp;nbsp;external&amp;nbsp;(i.e.,&amp;nbsp;required)&amp;nbsp;services,&amp;nbsp;or&amp;nbsp;describe&amp;nbsp;some&amp;nbsp;form&amp;nbsp;of&amp;nbsp;control&amp;nbsp;flow&amp;nbsp;alteration&amp;nbsp;(i.e.,&amp;nbsp;branching,&amp;nbsp;loop,&amp;nbsp;or&amp;nbsp;fork).&amp;nbsp;The&amp;nbsp;following&amp;nbsp;first&amp;nbsp;clarifies&amp;nbsp;the&amp;nbsp;notions&amp;nbsp;of&amp;nbsp;internal&amp;nbsp;and&amp;nbsp;external&amp;nbsp;actions,&amp;nbsp;whose&amp;nbsp;meta-classes&amp;nbsp;both&amp;nbsp;inherit&amp;nbsp;from&amp;nbsp;AbstractAction.&lt;br />&#xD;&#xA;The&amp;nbsp;RDSEFF&amp;nbsp;defines&amp;nbsp;the&amp;nbsp;control&amp;nbsp;flow&amp;nbsp;between&amp;nbsp;internal&amp;nbsp;and&amp;nbsp;external&amp;nbsp;actions&amp;nbsp;with&amp;nbsp;the&amp;nbsp;predecessor/successor&amp;nbsp;relationship&amp;nbsp;between&amp;nbsp;AbstractActions&amp;nbsp;to&amp;nbsp;model&amp;nbsp;sequential&amp;nbsp;executions.&amp;nbsp;Additionally,&amp;nbsp;special&amp;nbsp;actions&amp;nbsp;for&amp;nbsp;branching,&amp;nbsp;loops,&amp;nbsp;and&amp;nbsp;forks&amp;nbsp;allow&amp;nbsp;other&amp;nbsp;kinds&amp;nbsp;of&amp;nbsp;control&amp;nbsp;flow.&amp;nbsp;Other&amp;nbsp;than&amp;nbsp;flowcharts&amp;nbsp;or&amp;nbsp;UML&amp;nbsp;activity&amp;nbsp;diagrams,&amp;nbsp;the&amp;nbsp;RDSEFF&amp;nbsp;language&amp;nbsp;(as&amp;nbsp;well&amp;nbsp;as&amp;nbsp;the&amp;nbsp;usage&amp;nbsp;model&amp;nbsp;language)&amp;nbsp;requires&amp;nbsp;developers&amp;nbsp;to&amp;nbsp;make&amp;nbsp;the&amp;nbsp;branching,&amp;nbsp;loop,&amp;nbsp;fork&amp;nbsp;bodies&amp;nbsp;explicit&amp;nbsp;using&amp;nbsp;nested&amp;nbsp;ResourceDemandingBehaviours.&amp;nbsp;It&amp;nbsp;disallows&amp;nbsp;backward&amp;nbsp;references&amp;nbsp;in&amp;nbsp;the&amp;nbsp;chain&amp;nbsp;of&amp;nbsp;AbstractActions,&amp;nbsp;which&amp;nbsp;are&amp;nbsp;basically&lt;br />&#xD;&#xA;goto&amp;nbsp;statements&amp;nbsp;and&amp;nbsp;can&amp;nbsp;lead&amp;nbsp;to&amp;nbsp;ambiguities&amp;nbsp;and&amp;nbsp;difficult&amp;nbsp;maintainability.&amp;nbsp;For&amp;nbsp;example,&amp;nbsp;this&amp;nbsp;might&amp;nbsp;lead&amp;nbsp;to&amp;nbsp;intertwined&amp;nbsp;control&amp;nbsp;flows&amp;nbsp;as&amp;nbsp;in&amp;nbsp;the&amp;nbsp;example&amp;nbsp;in&amp;nbsp;Fig.&amp;nbsp;4.9(a),&amp;nbsp;where&amp;nbsp;both&amp;nbsp;the&amp;nbsp;sequences&amp;nbsp;'abcabcdbcd'&amp;nbsp;and&amp;nbsp;'abcdbcabcd'&amp;nbsp;could&amp;nbsp;be&amp;nbsp;occur&amp;nbsp;if&amp;nbsp;each&amp;nbsp;backward&amp;nbsp;reference&amp;nbsp;is&amp;nbsp;executed&amp;nbsp;once,&amp;nbsp;which&amp;nbsp;might&amp;nbsp;lead&amp;nbsp;to&amp;nbsp;different&amp;nbsp;execution&amp;nbsp;times.&amp;nbsp;Backward&amp;nbsp;references&amp;nbsp;also&amp;nbsp;allow&amp;nbsp;the&amp;nbsp;specification&amp;nbsp;of&amp;nbsp;loops&amp;nbsp;with&amp;nbsp;multiple&amp;nbsp;entry&amp;nbsp;points&amp;nbsp;as&amp;nbsp;in&amp;nbsp;Fig.&amp;nbsp;4.9(b).&amp;nbsp;This&amp;nbsp;is&amp;nbsp;not&amp;nbsp;desirable,&amp;nbsp;as&amp;nbsp;the&amp;nbsp;number&amp;nbsp;of&amp;nbsp;loop&amp;nbsp;iterations&amp;nbsp;cannot&amp;nbsp;be&amp;nbsp;specified&amp;nbsp;directly&amp;nbsp;in&amp;nbsp;these&amp;nbsp;cases,&amp;nbsp;which&amp;nbsp;is&amp;nbsp;however&amp;nbsp;necessary&amp;nbsp;for&amp;nbsp;accurate&amp;nbsp;performance&amp;nbsp;prediction.&amp;nbsp;If&amp;nbsp;a&amp;nbsp;developer&amp;nbsp;would&amp;nbsp;specify&amp;nbsp;that&amp;nbsp;each&amp;nbsp;backward&amp;nbsp;link&amp;nbsp;in&amp;nbsp;Fig.&amp;nbsp;4.9(b)&amp;nbsp;is&amp;nbsp;executed&amp;nbsp;only&amp;nbsp;once,&amp;nbsp;both&amp;nbsp;sequences&amp;nbsp;'ababc'&amp;nbsp;and&amp;nbsp;'abcababc'&amp;nbsp;would&amp;nbsp;be&amp;nbsp;possible&amp;nbsp;although&amp;nbsp;they&amp;nbsp;would&amp;nbsp;have&amp;nbsp;different&amp;nbsp;execution&amp;nbsp;times,&amp;nbsp;as&amp;nbsp;'a'&amp;nbsp;is&amp;nbsp;executed&amp;nbsp;three&amp;nbsp;times&amp;nbsp;in&amp;nbsp;the&amp;nbsp;latter&amp;nbsp;case.&amp;nbsp;To&amp;nbsp;avoid&amp;nbsp;such&amp;nbsp;ambiguities,&amp;nbsp;control&amp;nbsp;flow&amp;nbsp;in&amp;nbsp;the&amp;nbsp;PCM&amp;nbsp;RDSEFF&amp;nbsp;and&amp;nbsp;usage&amp;nbsp;model&amp;nbsp;must&amp;nbsp;be&amp;nbsp;specified&amp;nbsp;without&amp;nbsp;backward&amp;nbsp;references&amp;nbsp;in&amp;nbsp;the&amp;nbsp;chain&amp;nbsp;of&amp;nbsp;AbstractActions.&amp;nbsp;Branches,&amp;nbsp;loops,&amp;nbsp;forks,&amp;nbsp;and&amp;nbsp;their&amp;nbsp;respective&amp;nbsp;bodies&amp;nbsp;have&amp;nbsp;to&amp;nbsp;be&amp;nbsp;made&amp;nbsp;explicit&amp;nbsp;in&amp;nbsp;the&amp;nbsp;specification&amp;nbsp;using&amp;nbsp;nested&amp;nbsp;ResourceDemandingBehaviours."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="predecessor_AbstractAction"
          ordered="false" eType="#//seff_pc_av/AbstractAction" eOpposite="#//seff_pc_av/AbstractAction/successor_AbstractAction"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="successor_AbstractAction"
          ordered="false" eType="#//seff_pc_av/AbstractAction" eOpposite="#//seff_pc_av/AbstractAction/predecessor_AbstractAction"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceDemandingBehaviour_AbstractAction"
          ordered="false" eType="#//seff_pc_av/ResourceDemandingBehaviour" eOpposite="#//seff_pc_av/ResourceDemandingBehaviour/steps_Behaviour"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ResourceDemandingBehaviour" eSuperTypes="identifier_pointcut_advice.ecore#//Identifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Models the behaviour of a component service as a sequence of internal actions with resource demands, control flow constructs, and external&#xD;&#xA;calls. Therefore, the class contains a chain of AbstractActions. The emphasis in this type of behaviour is on the resource demands attached to internal actions, which mainly influence performance analysis.&#xD;&#xA;Each action in a ResourceDemandingBehaviour references a predecessor and a successor action. Exceptions are the first and last action, which do not reference a predecessor and a successor respectively. A behaviour is valid, if there is a continuous path from the first to last action, which includes all actions. The chain must not include cycles. To specify control flow branches, loops, or forks, component developers need to use special types of actions, which contain nested inner ResourceDemandingBehaviours to specify the behaviour inside branches or loop bodies. Any ResourceDemandingBehaviour can have at most one starting and one finishing action."/>
      </eAnnotations>
      <eOperations name="ExactlyOneStopAction" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.steps_Behaviour->select(s|s.oclIsTypeOf(StopAction))->size() = 1"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="ExactlyOneStartAction" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.steps_Behaviour->select(s|s.oclIsTypeOf(StartAction))->size() = 1"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="not self.steps_Behaviour->select(s|not s.oclIsTypeOf(StartAction) and not s.oclIsTypeOf(StopAction))->exists(a|a.oclAsType(AbstractAction).predecessor_AbstractAction.oclIsUndefined()) and not self.steps_Behaviour->select(s|not s.oclIsTypeOf(StartAction) and not s.oclIsTypeOf(StopAction))->exists(a|a.oclAsType(AbstractAction).successor_AbstractAction.oclIsUndefined())"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="abstractLoopAction_ResourceDemandingBehaviour"
          ordered="false" eType="#//seff_pc_av/AbstractLoopAction" eOpposite="#//seff_pc_av/AbstractLoopAction/bodyBehaviour_Loop"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="abstractBranchTransition_ResourceDemandingBehaviour"
          ordered="false" eType="#//seff_pc_av/AbstractBranchTransition" eOpposite="#//seff_pc_av/AbstractBranchTransition/branchBehaviour_BranchTransition"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="steps_Behaviour" ordered="false"
          upperBound="-1" eType="#//seff_pc_av/AbstractAction" containment="true"
          eOpposite="#//seff_pc_av/AbstractAction/resourceDemandingBehaviour_AbstractAction"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="AbstractLoopAction" eSuperTypes="#//seff_pc_av/AbstractInternalControlFlowAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    Abstract parent class of any loop (e.g. LoopAction)&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="bodyBehaviour_Loop" ordered="false"
          eType="#//seff_pc_av/ResourceDemandingBehaviour" containment="true" eOpposite="#//seff_pc_av/ResourceDemandingBehaviour/abstractLoopAction_ResourceDemandingBehaviour"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="AbstractBranchTransition" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Two types of branch transitions exist which correspond to the two types of branches. The types cannot be mixed. Either all branch transitions of one BranchAction are probabilistic or guarded."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="branchAction_AbstractBranchTransition"
          ordered="false" eType="#//seff_pc_av/BranchAction" eOpposite="#//seff_pc_av/BranchAction/branches_Branch"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="branchBehaviour_BranchTransition"
          ordered="false" eType="#//seff_pc_av/ResourceDemandingBehaviour" containment="true"
          eOpposite="#//seff_pc_av/ResourceDemandingBehaviour/abstractBranchTransition_ResourceDemandingBehaviour"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BranchAction" eSuperTypes="#//seff_pc_av/AbstractInternalControlFlowAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The BranchAction splits the RDSEFF control flow with an XOR-semantic, meaning that the control flow continues on exactly one of its attached AbstractBranchTransitions. The RDSEFF supports two different kinds of branch transitions, GuardedBranchTransitions, and  ProbabilisticBranchTransitions. RDSEFFs do not allow to use both kinds of transitions on a single BranchAction. Analysis or simulation tools must select exactly one transition based on the included guard or probability, before continuing at a BranchAction."/>
      </eAnnotations>
      <eOperations name="EitherGuardedBranchesOrProbabilisiticBranchTransitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.branches_Branch->forAll(bt|bt.oclIsTypeOf(ProbabilisticBranchTransition)) &#xD;&#xA;or self.branches_Branch->forAll(bt|bt.oclIsTypeOf(GuardedBranchTransition))"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="AllProbabilisticBranchProbabilitiesMustSumUpTo1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="if self.branches_Branch->forAll(oclIsTypeOf(ProbabilisticBranchTransition)) then &#xD;&#xA;&#x9;self.branches_Branch->select(pbt|pbt.oclIsTypeOf(ProbabilisticBranchTransition))->collect(pbt|pbt.oclAsType(ProbabilisticBranchTransition).branchProbability)->sum() > 0.9999 &#xD;&#xA;&#x9;and self.branches_Branch->select(pbt|pbt.oclIsTypeOf(ProbabilisticBranchTransition))->collect(pbt|pbt.oclAsType(ProbabilisticBranchTransition).branchProbability)->sum() &lt; 1.0001 &#xD;&#xA;&#x9;else true &#xD;&#xA;endif"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="branches_Branch" ordered="false"
          upperBound="-1" eType="#//seff_pc_av/AbstractBranchTransition" containment="true"
          eOpposite="#//seff_pc_av/AbstractBranchTransition/branchAction_AbstractBranchTransition"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CallAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Generic class realising call relations between behaviours (e.g. method call)."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="inputVariableUsages__CallAction"
          ordered="false" upperBound="-1" eType="#//parameter_pc_av/VariableUsage"
          containment="true" eOpposite="#//parameter_pc_av/VariableUsage/callAction__VariableUsage"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StartAction" eSuperTypes="#//seff_pc_av/AbstractInternalControlFlowAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="StartActions initiate a scenario behaviour and contain only a successor."/>
      </eAnnotations>
      <eOperations name="StartActionPredecessorMustNotBeDefined" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.predecessor_AbstractAction.oclIsUndefined()"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="ServiceEffectSpecification">
      <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.&#xD;&#xA;While different SEFF types have been proposed, the only type currently included in the meta-model 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 modelling sequences of such calls if the modelling 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 characterisations."/>
      </eAnnotations>
      <eOperations name="ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="if self.describedService__SEFF.oclIsKindOf(pcm::repository::OperationSignature) then&#xD;&#xA;&#x9;self.basicComponent_ServiceEffectSpecification.providedRoles_InterfaceProvidingEntity->exists(p | p.oclIsKindOf(pcm::repository::OperationProvidedRole) and (p.oclAsType(pcm::repository::OperationProvidedRole).providedInterface__OperationProvidedRole = self.describedService__SEFF.oclAsType(pcm::repository::OperationSignature).interface__OperationSignature))&#xD;&#xA;else&#xD;&#xA;&#x9;if self.describedService__SEFF.oclIsKindOf(pcm::repository::EventType) then&#xD;&#xA;&#x9;&#x9;self.basicComponent_ServiceEffectSpecification.providedRoles_InterfaceProvidingEntity->exists(p | p.oclIsKindOf(pcm::repository::SinkRole) and (p.oclAsType(pcm::repository::SinkRole).eventGroup__SinkRole = self.describedService__SEFF.oclAsType(pcm::repository::EventType).eventGroup__EventType))&#xD;&#xA;&#x9;else&#xD;&#xA;&#x9;&#x9;true&#xD;&#xA;&#x9;endif&#xD;&#xA;endif"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="seffTypeID" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
          defaultValueLiteral="1"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="describedService__SEFF"
          ordered="false" eType="#//repository_pc_av/Signature"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="basicComponent_ServiceEffectSpecification"
          ordered="false" eType="#//repository_pc_av/BasicComponent" eOpposite="#//repository_pc_av/BasicComponent/serviceEffectSpecifications__BasicComponent"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ResourceDemandingSEFF" eSuperTypes="identifier_pointcut_advice.ecore#//Identifier #//seff_pc_av/ServiceEffectSpecification #//seff_pc_av/ResourceDemandingBehaviour">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A resource demanding service effect specification (RDSEFF) is a special type of SEFF designed for performance and reliability predictions. Besides dependencies between provided and required services of a component, it additionally includes notions of resource usage, data flow, and parametric dependencies for more accurate predictions. Its control flow is hierarchically structured and can be enhanced with transition probabilities on branches and numbers of iterations on loops.&#xD;&#xA;A ResourceDemandingSEFF is a ServiceEffectSpecification and a Resource-DemandingBehaviour at the same time inheriting from both classes. The reason for this construct lies in the fact, that ResourceDemandingBehaviours can be used recursively inside themselves to describe loop bodies or branched behaviours (explained later), and these inner behaviours should not be RDSEFFs themselves"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceDemandingInternalBehaviours"
          ordered="false" upperBound="-1" eType="#//seff_pc_av/ResourceDemandingInternalBehaviour"
          containment="true" eOpposite="#//seff_pc_av/ResourceDemandingInternalBehaviour/resourceDemandingSEFF_ResourceDemandingInternalBehaviour"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ResourceDemandingInternalBehaviour"
        eSuperTypes="#//seff_pc_av/ResourceDemandingBehaviour">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Class representing component-internal behaviour not accessible from the component's interface. Comparable to internal method in object-oriented programming. This behaviour can be called from within a resource demanding behaviour using an InternalCallAction."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceDemandingSEFF_ResourceDemandingInternalBehaviour"
          ordered="false" eType="#//seff_pc_av/ResourceDemandingSEFF" eOpposite="#//seff_pc_av/ResourceDemandingSEFF/resourceDemandingInternalBehaviours"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ReleaseAction" eSuperTypes="#//seff_pc_av/AbstractInternalControlFlowAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ReleaseAction increases the number of available item for the given passive resource type, before the current request&#xD;&#xA;can continue. It should be to execute by one of the other concurrent requests.&#xD;&#xA;Acquisition and release of passive resources happen instantaneously and do not consume any time except for waiting delays before actual acquisition. Resource locking may introduce deadlocks when simulating the model, however, for performance analysis with the PCM it is assumed that no deadlocks occur. Otherwise, the model first needs to be fixed accordingly before carrying out the performance prediction."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="passiveResource_ReleaseAction"
          ordered="false" eType="#//repository_pc_av/PassiveResource"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LoopAction" eSuperTypes="#//seff_pc_av/AbstractLoopAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Models the repeated execution of its inner ResourceDemandingBehaviour for the loop body. The number of repetitions is specified by a random variable evaluating to integer or an IntPMF. The number of iterations specified by the random variable always needs to be bounded, i.e., the probabilities in an IntPMF for iteration numbers above a certain threshold must be zero. Otherwise, it would be possible that certain requests do not terminate, which would complicate performance analyses. The stochastic expression defining the iteration random variable may include references to input or component parameters to model dependencies between the usage profile and the number of loop iterations. Notice, that loop actions should only be modelled if the loop body contains either external service calls or resource demands directed at special resources. Otherwise, control flow loops in component behaviour should be abstracted by subsuming them in InternalAction, which combine a number of instructions. The influence of different iterations length of such internal loops need to be reflected stochastically by the random variable specifying the ParametricResource-Demand of that InternalAction.&#xD;&#xA;Other than Markov chains, RDSEFFs do not specify control flow loops with an reentrance and exit probability on each iteration. Such a specification binds the number of loop iterations to a geometrical distribution, which reflects reality only in very seldom cases. But in many practical cases, the number of iterations is a constant, or the probability for higher iteration numbers is higher than for lower ones. This cannot be expressed directly via a Markov chain (also see [DG00]). &#xD;&#xA;Inside the ResourceDemandingBehaviour of LoopActions, it is assumed that random variables are stochastically independent. This is not true in reality, and for example leads to wrong predictions if the same random variable is used twice in succession inside a loop body. In this case, the second occurrence is stochastically dependent to the first occurrence, as the value does not change between two occurrences. Therefore, component developers should be aware of such inaccuracies when using random variables twice inside the body behaviour of a LoopAction."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="iterationCount_LoopAction"
          ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
          eOpposite="#//core_pc_av/PCMRandomVariable/loopAction_PCMRandomVariable"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ForkAction" eSuperTypes="#//seff_pc_av/AbstractInternalControlFlowAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Fork Action Splits the RDSEFF control flow with an AND-semantic, meaning that it invokes several ForkedBehaviours concurrently.  ForkActions&#xD;&#xA;allow both asynchronously and synchronously forked behaviours. Synchronously ForkedBehaviours execute concurrently and the control flow waits for each of these behaviours to terminate before continuing. Each ForkedBehaviour can be considered as a program thread. All parameter characterisations from the surrounding RDSEFF are also valid inside the ForkedBehaviours and can be used to parameterise resource demands or control flow constructs. The parameter characterisations are the same in each ForkedBehaviour. Component developers can use a SynchronisationPoint to join synchronously ForkedBehaviours and specify a result of the computations with its attached VariableUsages. Asynchronously ForkedBehaviours also execute concurrently, but the control flow does not wait for them to terminate and continues immediately after their invocation with the successor action of the ForkAction. Therefore, there is no need for a SynchronisationPoint in this case. It is furthermore not possible to refer to results or output parameters of asynchronously ForkedBehaviours in the rest of the RDSEFF, as it is unclear when these results will be available. The same Fork Action can contain asynchronous and synchronousForkedbehaviours at the same time. In that case, all forked behaviours are started. The control flow waits for all synchronous behaviours to finish execution and only then continues. "/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="asynchronousForkedBehaviours_ForkAction"
          ordered="false" upperBound="-1" eType="#//seff_pc_av/ForkedBehaviour" containment="true"
          eOpposite="#//seff_pc_av/ForkedBehaviour/forkAction_ForkedBehaivour"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="synchronisingBehaviours_ForkAction"
          ordered="false" eType="#//seff_pc_av/SynchronisationPoint" containment="true"
          eOpposite="#//seff_pc_av/SynchronisationPoint/forkAction_SynchronisationPoint"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ForkedBehaviour" eSuperTypes="#//seff_pc_av/ResourceDemandingBehaviour">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ForkedBehaviour can be considered as a program thread. All parameter characterisations from the surrounding RDSEFF are also valid inside the ForkedBehaviours and can be used to parameterise resource demands or control flow constructs. The parameter characterisations are the same in each ForkedBehaviour."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="synchronisationPoint_ForkedBehaviour"
          ordered="false" eType="#//seff_pc_av/SynchronisationPoint" eOpposite="#//seff_pc_av/SynchronisationPoint/synchronousForkedBehaviours_SynchronisationPoint"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="forkAction_ForkedBehaivour"
          ordered="false" eType="#//seff_pc_av/ForkAction" eOpposite="#//seff_pc_av/ForkAction/asynchronousForkedBehaviours_ForkAction"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SynchronisationPoint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Component developers can use a SynchronisationPoint to join synchronously ForkedBehaviours and specify a result of the computations with its attached VariableUsages."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="outputParameterUsage_SynchronisationPoint"
          ordered="false" upperBound="-1" eType="#//parameter_pc_av/VariableUsage"
          containment="true" eOpposite="#//parameter_pc_av/VariableUsage/synchronisationPoint_VariableUsage"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="forkAction_SynchronisationPoint"
          ordered="false" eType="#//seff_pc_av/ForkAction" eOpposite="#//seff_pc_av/ForkAction/synchronisingBehaviours_ForkAction"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="synchronousForkedBehaviours_SynchronisationPoint"
          ordered="false" upperBound="-1" eType="#//seff_pc_av/ForkedBehaviour" containment="true"
          eOpposite="#//seff_pc_av/ForkedBehaviour/synchronisationPoint_ForkedBehaviour"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ExternalCallAction" eSuperTypes="#//seff_pc_av/AbstractAction #//seff_pc_av/CallReturnAction #//seff_pc_av/seff_reliability_pc_av/FailureHandlingEntity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ExternalCallAction&amp;nbsp;models&amp;nbsp;the&amp;nbsp;invocation&amp;nbsp;of&amp;nbsp;a&amp;nbsp;service&amp;nbsp;specified&amp;nbsp;in&amp;nbsp;a&amp;nbsp;required&amp;nbsp;interface.&amp;nbsp;Therefore,&amp;nbsp;it&amp;nbsp;references&amp;nbsp;a&amp;nbsp;Role,&amp;nbsp;from&amp;nbsp;which&amp;nbsp;the&amp;nbsp;providing&amp;nbsp;component&amp;nbsp;can&amp;nbsp;be&amp;nbsp;derived,&amp;nbsp;and&amp;nbsp;a&amp;nbsp;Signature&amp;nbsp;to&amp;nbsp;specify&amp;nbsp;the&amp;nbsp;called&amp;nbsp;service.&amp;nbsp;ExternalCallActions&amp;nbsp;model&amp;nbsp;synchronous&amp;nbsp;calls&amp;nbsp;to&amp;nbsp;required&amp;nbsp;services,&amp;nbsp;i.e.,&amp;nbsp;the&amp;nbsp;caller&amp;nbsp;waits&amp;nbsp;until&amp;nbsp;the&amp;nbsp;called&amp;nbsp;service&amp;nbsp;finishes&amp;nbsp;execution&amp;nbsp;before&amp;nbsp;continuing&amp;nbsp;execution&amp;nbsp;itself.&amp;nbsp;The&amp;nbsp;PCM&amp;nbsp;allows&amp;nbsp;modelling&amp;nbsp;asynchronous&amp;nbsp;calls&amp;nbsp;to&amp;nbsp;required&amp;nbsp;services&amp;nbsp;by&amp;nbsp;using&amp;nbsp;an&amp;nbsp;ExternalCallAction&amp;nbsp;inside&amp;nbsp;a&amp;nbsp;ForkedBehaviour.&lt;br />&#xD;&#xA;ExternalCallActions&amp;nbsp;do&amp;nbsp;not&amp;nbsp;have&amp;nbsp;resource&amp;nbsp;demands&amp;nbsp;by&amp;nbsp;themselves.&amp;nbsp;Component&amp;nbsp;developers&amp;nbsp;need&amp;nbsp;to&amp;nbsp;specify&amp;nbsp;the&amp;nbsp;resource&amp;nbsp;demand&amp;nbsp;of&amp;nbsp;the&amp;nbsp;called&amp;nbsp;service&amp;nbsp;in&amp;nbsp;the&amp;nbsp;RDSEFF&amp;nbsp;of&amp;nbsp;that&amp;nbsp;service.&amp;nbsp;The&amp;nbsp;resource&amp;nbsp;demand&amp;nbsp;can&amp;nbsp;also&amp;nbsp;be&amp;nbsp;calculated&amp;nbsp;by&amp;nbsp;analysing&amp;nbsp;the&amp;nbsp;providing&amp;nbsp;component.&amp;nbsp;This&amp;nbsp;keeps&amp;nbsp;the&amp;nbsp;RDSEFF&amp;nbsp;specification&amp;nbsp;of&amp;nbsp;different&amp;nbsp;component&amp;nbsp;developers&amp;nbsp;independent&amp;nbsp;from&amp;nbsp;each&amp;nbsp;other&amp;nbsp;and&amp;nbsp;makes&amp;nbsp;them&amp;nbsp;replaceable&amp;nbsp;in&amp;nbsp;an&amp;nbsp;architectural&amp;nbsp;model.&lt;br />&#xD;&#xA;ExternalCallActions&amp;nbsp;may&amp;nbsp;contain&amp;nbsp;two&amp;nbsp;sets&amp;nbsp;of&amp;nbsp;VariableUsages&amp;nbsp;specifying&amp;nbsp;input&amp;nbsp;parameter&amp;nbsp;characterisations&amp;nbsp;and&amp;nbsp;output&amp;nbsp;parameter&amp;nbsp;characterisations&amp;nbsp;respectively.&amp;nbsp;VariableUsages&amp;nbsp;for&amp;nbsp;input&amp;nbsp;parameters&amp;nbsp;may&amp;nbsp;only&amp;nbsp;reference&amp;nbsp;IN&amp;nbsp;or&amp;nbsp;INOUT&amp;nbsp;parameters&amp;nbsp;of&amp;nbsp;the&amp;nbsp;call's&amp;nbsp;referenced&amp;nbsp;signature.&amp;nbsp;The&amp;nbsp;random&amp;nbsp;variable&amp;nbsp;characterisation&amp;nbsp;inside&amp;nbsp;such&amp;nbsp;a&amp;nbsp;VariableUsage&amp;nbsp;may&amp;nbsp;be&amp;nbsp;constants,&amp;nbsp;probability&amp;nbsp;distribution&amp;nbsp;functions,&amp;nbsp;or&amp;nbsp;include&amp;nbsp;a&amp;nbsp;stochastic&amp;nbsp;expression&amp;nbsp;involving&amp;nbsp;for&amp;nbsp;example&amp;nbsp;arithmetic&amp;nbsp;operations.&amp;nbsp;The&amp;nbsp;latter&amp;nbsp;models&amp;nbsp;a&amp;nbsp;dependency&amp;nbsp;between&amp;nbsp;the&amp;nbsp;current&amp;nbsp;service's&amp;nbsp;own&amp;nbsp;input&amp;nbsp;parameters&amp;nbsp;and&amp;nbsp;the&amp;nbsp;input&amp;nbsp;parameters&amp;nbsp;of&amp;nbsp;the&amp;nbsp;required&amp;nbsp;service."/>
      </eAnnotations>
      <eOperations name="SignatureBelongsToRole" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.role_ExternalService.requiredInterface__OperationRequiredRole.signatures__OperationInterface->includes(self.calledService_ExternalService)"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="&lt;pre id=&quot;comment_text_0&quot; class=&quot;bz_comment_text&quot;>&#xD;&#xA;check if the signature&#xD;&#xA;(declared in calledService_ExternalService attribute) belongs to the role&#xD;&#xA;(declared in role_ExternalService attribute)&#xD;&#xA;&lt;/pre>"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="OperationRequiredRoleMustBeReferencedByContainer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.oclAsType(ecore::EObject)->closure(eContainer())->select( entity | entity.oclIsKindOf(pcm::core::entity::InterfaceRequiringEntity)).oclAsType(pcm::core::entity::InterfaceRequiringEntity).requiredRoles_InterfaceRequiringEntity->includes(self.role_ExternalService)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="calledService_ExternalService"
          ordered="false" eType="#//repository_pc_av/OperationSignature"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="role_ExternalService"
          ordered="false" eType="#//repository_pc_av/OperationRequiredRole"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="retryCount" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Specifies&amp;nbsp;the&amp;nbsp;number of&amp;nbsp;retries this ExternalCallAction shoul be re-executed&amp;nbsp; in case of failure&#xD;&#xA;occurence."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CallReturnAction" eSuperTypes="#//seff_pc_av/CallAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Generic class realising call relations between behaviours (e.g. method call) for calls with parameters send to the called signature and return values."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="returnVariableUsage__CallReturnAction"
          ordered="false" upperBound="-1" eType="#//parameter_pc_av/VariableUsage"
          containment="true" eOpposite="#//parameter_pc_av/VariableUsage/callReturnAction__VariableUsage"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ProbabilisticBranchTransition" eSuperTypes="#//seff_pc_av/AbstractBranchTransition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a GuardedBranchTransition, this transition provides a link between a BranchAction and a nested ResourceDemandingBehaviour, which includes the actions executed inside the branch. But instead of using a guard, it specifies a branching probability without parameter dependencies. Analysis tools may directly use it to determine the transition where the control flow continues. The probabilities of all ProbabilisticBranchTransitions belonging to a single BranchAction must sum up to 1.0. &#xD;&#xA;Although a probabilistic choice at a branch usually does not happen in a computer program, ProbabilisticBranchTransitions provide a convenient way of modelling in case the actual parameter dependency is too hard to determine or too complex to integrate into a guard. It can also be useful for newly designed components, where the parameter dependency on the control flow guard is still be unknown. However, this construct potentially introduces inaccuracies into the performance model, because it does not reflect the influence of input parameters. Therefore, predictions based on this model can be misleading, if the used input parameters would result in different branching probabilities. The component developer cannot foresee this, when specifying the RDSEFF using ProbabilisticBranchTransitions."/>
      </eAnnotations>
      <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="AcquireAction" eSuperTypes="#//seff_pc_av/AbstractInternalControlFlowAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    In&amp;nbsp;an&amp;nbsp;RDSEFF,&amp;nbsp;component&amp;nbsp;developers&amp;nbsp;can&amp;nbsp;specify&amp;nbsp;an&amp;nbsp;AcquireAction,&amp;nbsp;which&amp;nbsp;references&amp;nbsp;a&amp;nbsp;passive&amp;nbsp;resource&amp;nbsp;types.&amp;nbsp;Once&amp;nbsp;analysis&amp;nbsp;tools&amp;nbsp;execute&amp;nbsp;this&amp;nbsp;action,&amp;nbsp;they&amp;nbsp;decrease&amp;nbsp;the&amp;nbsp;amount&amp;nbsp;of&amp;nbsp;items&amp;nbsp;available&amp;nbsp;from&amp;nbsp;the&amp;nbsp;referenced&amp;nbsp;passive&amp;nbsp;resource&amp;nbsp;type&amp;nbsp;by&amp;nbsp;one,&amp;nbsp;if&amp;nbsp;at&amp;nbsp;least&amp;nbsp;one&amp;nbsp;item&amp;nbsp;is&amp;nbsp;available.&amp;nbsp;If&amp;nbsp;none&amp;nbsp;item&amp;nbsp;is&amp;nbsp;available,&amp;nbsp;because&amp;nbsp;other,&amp;nbsp;concurrently&amp;nbsp;executed&amp;nbsp;requests&amp;nbsp;have&amp;nbsp;acquired&amp;nbsp;all&amp;nbsp;of&amp;nbsp;them,&amp;nbsp;analysis&amp;nbsp;tools&amp;nbsp;enqueue&amp;nbsp;the&amp;nbsp;current&amp;nbsp;request&amp;nbsp;(first-come-first-serve&amp;nbsp;scheduling&amp;nbsp;policy)&amp;nbsp;and&amp;nbsp;block&amp;nbsp;it's&amp;nbsp;further&amp;nbsp;execution.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    Acquisition&amp;nbsp;and&amp;nbsp;release&amp;nbsp;of&amp;nbsp;passive&amp;nbsp;resources&amp;nbsp;happen&amp;nbsp;instantaneously&amp;nbsp;and&amp;nbsp;do&amp;nbsp;not&amp;nbsp;consume&amp;nbsp;any&amp;nbsp;time&amp;nbsp;except&amp;nbsp;for&amp;nbsp;waiting&amp;nbsp;delays&amp;nbsp;before&amp;nbsp;actual&amp;nbsp;acquisition.&amp;nbsp;Resource&amp;nbsp;locking&amp;nbsp;may&amp;nbsp;introduce&amp;nbsp;deadlocks&amp;nbsp;when&amp;nbsp;simulating&amp;nbsp;the&amp;nbsp;model,&amp;nbsp;however,&amp;nbsp;for&amp;nbsp;performance&amp;nbsp;analysis&amp;nbsp;with&amp;nbsp;the&amp;nbsp;PCM&amp;nbsp;it&amp;nbsp;is&amp;nbsp;assumed&amp;nbsp;that&amp;nbsp;no&amp;nbsp;deadlocks&amp;nbsp;occur.&amp;nbsp;Otherwise,&amp;nbsp;the&amp;nbsp;model&amp;nbsp;first&amp;nbsp;needs&amp;nbsp;to&amp;nbsp;be&amp;nbsp;fixed&amp;nbsp;accordingly&amp;nbsp;before&amp;nbsp;carrying&amp;nbsp;out&amp;nbsp;the&amp;nbsp;performance&amp;nbsp;prediction.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    A reliability-related extension is the timeout mechanism that may be associated to an AcquireAction through the&#xD;&#xA;    &quot;timeout&quot; and &quot;timeoutValue&quot; attributes. See the documentation of the &quot;timeout&quot; attribute for further information.&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eOperations name="TimeoutValueOfAcquireActionMustNotBeNegative" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.timeoutValue.oclAsType(Real) >= 0.0"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="passiveresource_AcquireAction"
          ordered="false" eType="#//repository_pc_av/PassiveResource"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="timeout" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="&lt;p>&#xD;&#xA;    Indicates&amp;nbsp;if&amp;nbsp;the&amp;nbsp;AcquireAction&amp;nbsp;has&amp;nbsp;a&amp;nbsp;timeout.&amp;nbsp;If&amp;nbsp;yes, a simulation through&#xD;&#xA;    SimuCom with the &quot;simulate failures&quot; option switched on will consider the timeout as follows:&#xD;&#xA;    Any&amp;nbsp;acquiring&amp;nbsp;thread&amp;nbsp;waits&amp;nbsp;no&amp;nbsp;longer&amp;nbsp;than&amp;nbsp;the&amp;nbsp;duration&amp;nbsp;specified&amp;nbsp;in&#xD;&#xA;    &quot;timeoutValue&quot;.&amp;nbsp;If&amp;nbsp;the&amp;nbsp;maximum&amp;nbsp;waiting&amp;nbsp;time&amp;nbsp;is&amp;nbsp;reached,&amp;nbsp;the&amp;nbsp;thread&amp;nbsp;is&amp;nbsp;removed&amp;nbsp;from&amp;nbsp;the&amp;nbsp;waiting&amp;nbsp;queue&amp;nbsp;and&amp;nbsp;cancelled&amp;nbsp;by&amp;nbsp;a&#xD;&#xA;    timeout&amp;nbsp;failure.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    The reliability Markov analysis does not consider AcquireAction timeouts.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    As&amp;nbsp;any&amp;nbsp;failure-on-demand&amp;nbsp;occurrence,&amp;nbsp;timeout&amp;nbsp;failures&amp;nbsp;can&amp;nbsp;be&amp;nbsp;handled&amp;nbsp;by&amp;nbsp;&quot;RecoveryBlockActions&quot;&amp;nbsp;at&amp;nbsp;any&amp;nbsp;higher&amp;nbsp;level&#xD;&#xA;    in&amp;nbsp;the&amp;nbsp;caller&amp;nbsp;hierarchy. To achieve this, the modeller must specify a &quot;ResourceTimeoutFailureType&quot;&#xD;&#xA;    pointing to the &quot;PassiveResource&quot; that the AcquireAction is related to. The specified &quot;ResourceTimeoutFailureType&quot; can&#xD;&#xA;    then be added to the list of handled failure types of any &quot;RecoveryBlockAlternativeBehaviour&quot;.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    Please notice the following limitation of the current implementation of timeout handling: Timeouts are only considered&#xD;&#xA;    by SimuCom if the executing software component is allocated to a resource container with an operating system set to&#xD;&#xA;    &quot;ABSTRACT&quot; (i.e. no specific OS schedulers are supported). The timeout handling implementation can be found in&#xD;&#xA;    de.uka.ipd.sdq.simucomframework.resources.SimSimpleFairPassiveResource.&#xD;&#xA;&lt;/p>"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="timeoutValue" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="&lt;p>&#xD;&#xA;    Specifies a timeout value, in case the AcquireAction has a timeout (see the documentation of the &quot;timeout&quot; attribute&#xD;&#xA;    for further information).&#xD;&#xA;&lt;/p>"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionIteratorAction" eSuperTypes="#//seff_pc_av/AbstractLoopAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Collection&amp;nbsp;Iterator&amp;nbsp;Action&amp;nbsp;Models&amp;nbsp;the&amp;nbsp;repeated&amp;nbsp;execution&amp;nbsp;of&amp;nbsp;its&amp;nbsp;inner&amp;nbsp;ResourceDemandingBehaviour&amp;nbsp;for&amp;nbsp;each&amp;nbsp;element&amp;nbsp;of&amp;nbsp;a&amp;nbsp;collection&amp;nbsp;data&amp;nbsp;type.&amp;nbsp;Therefore&amp;nbsp;it&amp;nbsp;contains&amp;nbsp;a&amp;nbsp;reference&amp;nbsp;to&amp;nbsp;an&amp;nbsp;input&amp;nbsp;parameter&amp;nbsp;of&amp;nbsp;the&amp;nbsp;service's&amp;nbsp;signature,&amp;nbsp;which&amp;nbsp;must&amp;nbsp;be&amp;nbsp;of&amp;nbsp;type&amp;nbsp;CollectionDataType.&amp;nbsp;The&amp;nbsp;NUMBER&amp;nbsp;OF&amp;nbsp;ELEMENTS&amp;nbsp;must&amp;nbsp;be&amp;nbsp;specified&amp;nbsp;from&amp;nbsp;the&amp;nbsp;outside&amp;nbsp;of&amp;nbsp;the&amp;nbsp;component,&amp;nbsp;either&amp;nbsp;by&amp;nbsp;another&amp;nbsp;RDSEFF&amp;nbsp;or&amp;nbsp;by&amp;nbsp;an&amp;nbsp;usage&amp;nbsp;model&amp;nbsp;calling&amp;nbsp;this&amp;nbsp;service.&amp;nbsp;It&amp;nbsp;can&amp;nbsp;be&amp;nbsp;of&amp;nbsp;type&amp;nbsp;integer&amp;nbsp;or&amp;nbsp;IntPMF.&amp;nbsp;Besides&amp;nbsp;the&amp;nbsp;source&amp;nbsp;of&amp;nbsp;the&amp;nbsp;number&amp;nbsp;of&amp;nbsp;iterations,&amp;nbsp;CollectionIteratorActions&amp;nbsp;differ&amp;nbsp;from&amp;nbsp;LoopAction&amp;nbsp;only&amp;nbsp;in&amp;nbsp;their&amp;nbsp;allowed&amp;nbsp;stochastic&amp;nbsp;dependence&amp;nbsp;of&amp;nbsp;random&amp;nbsp;variables&amp;nbsp;inside&amp;nbsp;the&amp;nbsp;loop&amp;nbsp;body's&amp;nbsp;ResourceDemandingBehaviour.&amp;nbsp;If&amp;nbsp;the&amp;nbsp;same&amp;nbsp;random&amp;nbsp;variable&amp;nbsp;occurs&amp;nbsp;twice&amp;nbsp;in&amp;nbsp;such&amp;nbsp;a&amp;nbsp;loop&amp;nbsp;body,&amp;nbsp;analysis&amp;nbsp;tools&amp;nbsp;must&amp;nbsp;evaluate&amp;nbsp;the&amp;nbsp;second&amp;nbsp;occurrence&amp;nbsp;in&amp;nbsp;stochastic&amp;nbsp;dependence&amp;nbsp;to&amp;nbsp;the&amp;nbsp;first&amp;nbsp;occurrence.&amp;nbsp;This&amp;nbsp;complicates&amp;nbsp;the&amp;nbsp;involved&amp;nbsp;calculation&amp;nbsp;and&amp;nbsp;might&amp;nbsp;lead&amp;nbsp;to&amp;nbsp;the&amp;nbsp;intractability&amp;nbsp;of&amp;nbsp;the&amp;nbsp;model,&amp;nbsp;therefore&amp;nbsp;component&amp;nbsp;developers&amp;nbsp;should&amp;nbsp;use&amp;nbsp;CollectionIteratorActions&amp;nbsp;with&amp;nbsp;care&amp;nbsp;and&amp;nbsp;only&amp;nbsp;include&amp;nbsp;them&amp;nbsp;if&amp;nbsp;they&amp;nbsp;expect&amp;nbsp;that&amp;nbsp;the&amp;nbsp;prediction&amp;nbsp;results&amp;nbsp;would&amp;nbsp;be&amp;nbsp;vastly&amp;nbsp;inaccurate&amp;nbsp;without&amp;nbsp;it."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameter_CollectionIteratorAction"
          ordered="false" eType="#//repository_pc_av/Parameter"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="GuardedBranchTransition" eSuperTypes="#//seff_pc_av/AbstractBranchTransition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Guarded&amp;nbsp;Branch&amp;nbsp;Transition&amp;nbsp;Provides&amp;nbsp;a&amp;nbsp;link&amp;nbsp;between&amp;nbsp;a&amp;nbsp;BranchAction&amp;nbsp;and&amp;nbsp;a&amp;nbsp;nested&amp;nbsp;ResourceDemandingBehaviour,&amp;nbsp;which&amp;nbsp;includes&amp;nbsp;the&amp;nbsp;actions&amp;nbsp;executed&amp;nbsp;inside&amp;nbsp;the&amp;nbsp;branch.&amp;nbsp;It&amp;nbsp;uses&amp;nbsp;a&amp;nbsp;guard,&amp;nbsp;i.e.&amp;nbsp;a&amp;nbsp;boolean&amp;nbsp;expression&amp;nbsp;specified&amp;nbsp;by&amp;nbsp;a&amp;nbsp;RandomVariable,&amp;nbsp;to&amp;nbsp;determine&amp;nbsp;whether&amp;nbsp;the&amp;nbsp;transition&amp;nbsp;is&amp;nbsp;chosen.&amp;nbsp;If&amp;nbsp;the&amp;nbsp;guard&amp;nbsp;evaluates&amp;nbsp;to&amp;nbsp;true,&amp;nbsp;the&amp;nbsp;branch&amp;nbsp;is&amp;nbsp;chosen,&amp;nbsp;otherwise&amp;nbsp;if&amp;nbsp;the&amp;nbsp;guard&amp;nbsp;evaluates&amp;nbsp;to&amp;nbsp;false&amp;nbsp;another&amp;nbsp;branch&amp;nbsp;transition&amp;nbsp;must&amp;nbsp;be&amp;nbsp;chosen.&lt;br />&#xD;&#xA;The&amp;nbsp;guard&amp;nbsp;may&amp;nbsp;contain&amp;nbsp;references&amp;nbsp;to&amp;nbsp;the&amp;nbsp;service's&amp;nbsp;input&amp;nbsp;parameters&amp;nbsp;or&amp;nbsp;component&amp;nbsp;parameters.&amp;nbsp;A&amp;nbsp;component&amp;nbsp;developer&amp;nbsp;can&amp;nbsp;specify&amp;nbsp;complex&amp;nbsp;boolean&amp;nbsp;expressions&amp;nbsp;by&amp;nbsp;using&amp;nbsp;the&amp;nbsp;AND,&amp;nbsp;OR,&amp;nbsp;and&amp;nbsp;NOT&amp;nbsp;operations&amp;nbsp;provided&amp;nbsp;by&amp;nbsp;the&amp;nbsp;StoEx&amp;nbsp;framework.&amp;nbsp;As&amp;nbsp;the&amp;nbsp;domain&amp;nbsp;expert&amp;nbsp;may&amp;nbsp;have&amp;nbsp;characterised&amp;nbsp;the&amp;nbsp;parameters&amp;nbsp;used&amp;nbsp;in&amp;nbsp;a&amp;nbsp;guard&amp;nbsp;with&amp;nbsp;probability&amp;nbsp;distributions,&amp;nbsp;it&amp;nbsp;might&amp;nbsp;happen&amp;nbsp;that&amp;nbsp;a&amp;nbsp;guard&amp;nbsp;does&amp;nbsp;not&amp;nbsp;evaluate&amp;nbsp;to&amp;nbsp;true&amp;nbsp;or&amp;nbsp;false&amp;nbsp;with&amp;nbsp;a&amp;nbsp;probability&amp;nbsp;of&amp;nbsp;1.0.&amp;nbsp;For&amp;nbsp;example,&amp;nbsp;the&amp;nbsp;specification&amp;nbsp;can&amp;nbsp;express&amp;nbsp;that&amp;nbsp;a&amp;nbsp;guard&amp;nbsp;evaluates&amp;nbsp;to&amp;nbsp;true&amp;nbsp;with&amp;nbsp;a&amp;nbsp;probability&amp;nbsp;of&amp;nbsp;0.3,&amp;nbsp;and&amp;nbsp;to&amp;nbsp;false&amp;nbsp;with&amp;nbsp;a&amp;nbsp;probability&amp;nbsp;of&amp;nbsp;0.7.&amp;nbsp;In&amp;nbsp;any&amp;nbsp;case,&amp;nbsp;the&amp;nbsp;probabilities&amp;nbsp;of&amp;nbsp;the&amp;nbsp;individual&amp;nbsp;guards&amp;nbsp;attached&amp;nbsp;to&amp;nbsp;all&amp;nbsp;GuardedBranchTransitions&amp;nbsp;contained&amp;nbsp;in&amp;nbsp;a&amp;nbsp;BranchAction&amp;nbsp;must&amp;nbsp;sum&amp;nbsp;up&amp;nbsp;to&amp;nbsp;1.0.&lt;br />&#xD;&#xA;There&amp;nbsp;is&amp;nbsp;no&amp;nbsp;predefined&amp;nbsp;order&amp;nbsp;in&amp;nbsp;evaluating&amp;nbsp;the&amp;nbsp;guards&amp;nbsp;attached&amp;nbsp;to&amp;nbsp;a&amp;nbsp;BranchAction.&amp;nbsp;This&amp;nbsp;differs&amp;nbsp;from&amp;nbsp;programming&amp;nbsp;languages&amp;nbsp;such&amp;nbsp;as&amp;nbsp;C&amp;nbsp;or&amp;nbsp;Java,&amp;nbsp;where&amp;nbsp;the&amp;nbsp;conditions&amp;nbsp;on&amp;nbsp;if/then/else&amp;nbsp;statements&amp;nbsp;are&amp;nbsp;evaluated&amp;nbsp;in&amp;nbsp;the&amp;nbsp;order&amp;nbsp;of&amp;nbsp;their&amp;nbsp;appearance&amp;nbsp;in&amp;nbsp;the&amp;nbsp;code.&amp;nbsp;Such&amp;nbsp;programming&amp;nbsp;languages&amp;nbsp;allow&amp;nbsp;overlapping&amp;nbsp;branching&amp;nbsp;conditions&amp;nbsp;(for&amp;nbsp;example,&amp;nbsp;if&amp;nbsp;(X&amp;lt;10)&amp;nbsp;//...&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(X&amp;lt;20)&amp;nbsp;//&amp;nbsp;...),&amp;nbsp;which&amp;nbsp;are&amp;nbsp;not&amp;nbsp;allowed&amp;nbsp;for&amp;nbsp;the&amp;nbsp;guards&amp;nbsp;in&amp;nbsp;GuardedBranchTransitions,&amp;nbsp;because&amp;nbsp;the&amp;nbsp;missing&amp;nbsp;order&amp;nbsp;specification&amp;nbsp;would&amp;nbsp;lead&amp;nbsp;to&amp;nbsp;ambiguous&amp;nbsp;boolean&amp;nbsp;expressions&amp;nbsp;and&amp;nbsp;enable&amp;nbsp;more&amp;nbsp;than&amp;nbsp;one&amp;nbsp;guard&amp;nbsp;to&amp;nbsp;become&amp;nbsp;true.&amp;nbsp;If&amp;nbsp;X&amp;nbsp;would&amp;nbsp;have&amp;nbsp;the&amp;nbsp;value&amp;nbsp;5,&amp;nbsp;both&amp;nbsp;conditions&amp;nbsp;would&amp;nbsp;evaluate&amp;nbsp;to&amp;nbsp;true&amp;nbsp;if&amp;nbsp;they&amp;nbsp;would&amp;nbsp;be&amp;nbsp;used&amp;nbsp;directly&amp;nbsp;as&amp;nbsp;guards&amp;nbsp;in&amp;nbsp;GuardedBranchTransitions.&amp;nbsp;The&amp;nbsp;correct&amp;nbsp;specification&amp;nbsp;of&amp;nbsp;the&amp;nbsp;guards&amp;nbsp;in&amp;nbsp;this&amp;nbsp;case&amp;nbsp;would&amp;nbsp;be&amp;nbsp;X.VALUE&amp;nbsp;10&amp;nbsp;and&amp;nbsp;X.VALUE&amp;nbsp;10&amp;nbsp;AND&amp;nbsp;X.VALUE&amp;nbsp;20.&amp;nbsp;Guards&amp;nbsp;might&amp;nbsp;lead&amp;nbsp;to&amp;nbsp;stochastic&amp;nbsp;dependencies&amp;nbsp;when&amp;nbsp;evaluating&amp;nbsp;variable&amp;nbsp;characterisations&amp;nbsp;inside&amp;nbsp;a&amp;nbsp;branched&amp;nbsp;behaviour.&amp;nbsp;For&amp;nbsp;example,&amp;nbsp;if&amp;nbsp;the&amp;nbsp;guard&amp;nbsp;X.VALUE&amp;nbsp;&amp;nbsp;&amp;nbsp;10&amp;nbsp;had&amp;nbsp;formerly&amp;nbsp;evaluated&amp;nbsp;to&amp;nbsp;true,&amp;nbsp;and&amp;nbsp;the&amp;nbsp;RDSEFF&amp;nbsp;uses&amp;nbsp;X.VALUE&amp;nbsp;inside&amp;nbsp;the&amp;nbsp;branched&amp;nbsp;behaviour,&amp;nbsp;the&amp;nbsp;sample&amp;nbsp;space&amp;nbsp;of&amp;nbsp;the&amp;nbsp;random&amp;nbsp;variable&amp;nbsp;specifying&amp;nbsp;the&amp;nbsp;characterisation&amp;nbsp;must&amp;nbsp;be&amp;nbsp;restricted,&amp;nbsp;as&amp;nbsp;the&amp;nbsp;event&amp;nbsp;that&amp;nbsp;X&amp;nbsp;takes&amp;nbsp;a&amp;nbsp;values&amp;nbsp;greater&amp;nbsp;than&amp;nbsp;10&amp;nbsp;cannot&amp;nbsp;occur&amp;nbsp;anymore.&amp;nbsp;Therefore&amp;nbsp;its&amp;nbsp;probability&amp;nbsp;is&amp;nbsp;zero.&amp;nbsp;Any&amp;nbsp;variable&amp;nbsp;characterisation&amp;nbsp;always&amp;nbsp;needs&amp;nbsp;to&amp;nbsp;be&amp;nbsp;evaluated&amp;nbsp;under&amp;nbsp;the&amp;nbsp;condition&amp;nbsp;that&amp;nbsp;all&amp;nbsp;guards&amp;nbsp;in&amp;nbsp;the&amp;nbsp;usage&amp;nbsp;scenario’s&amp;nbsp;path&amp;nbsp;to&amp;nbsp;it&amp;nbsp;have&amp;nbsp;evaluated&amp;nbsp;to&amp;nbsp;true."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="branchCondition_GuardedBranchTransition"
          ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
          eOpposite="#//core_pc_av/PCMRandomVariable/guardedBranchTransition_PCMRandomVariable"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SetVariableAction" eSuperTypes="#//seff_pc_av/AbstractInternalControlFlowAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Set Variable Action Assigns a variable characterisation to an OUT parameter, INOUT parameter, or return value of the service. It ensures that performance-relevant output parameter characterisations of a component service are specified to use them to parameterise the calling RDSEFF. A SetVariableAction must only use output parameters on the left hand side of the assignment and must not use input parameter or local variable&#xD;&#xA;names, because input parameters cannot be returned and local names should not be exposed to adhere the black box principle. The action is only intended to allow proper data flow modelling (i.e., output parameter passing) between different component services, but not to reveal additional internals of the service the current RDSEFF models. Thus, the assigned characterisation is not accessible in subsequent actions of the current RDSEFF. Notice, that the stochastic expression used in this assignment must characterise the result of the whole computation of the current service. For non-trivial components, this requires a substantial stochastic approximation based on manual abstraction. However, recall that not the actual result of a component service needs to be specified, but only its performance-relevant attributes. For example, to model the return value of a component service compressing a file, using its file size divided by the compression factor as the stochastic expression is usually sufficient, while the value of the compressed file is not of interest in a performance model.&#xD;&#xA;Multiple SetVariableActions assigning to the same output parameter might occur at different locations of the control flow in an RDSEFF. In the case of sequences, loops, and fork, the last assignment overwrites the former assignments and gets transferred back to the calling RDSEFF. Therefore, analysis tools may ignore the former assignments. In the case of using a SetVariableAction in two different branches of a BranchAction, only the assignment in the chosen branch is valid and gets transferred back to the caller."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="localVariableUsages_SetVariableAction"
          ordered="false" upperBound="-1" eType="#//parameter_pc_av/VariableUsage"
          containment="true" eOpposite="#//parameter_pc_av/VariableUsage/setVariableAction_VariableUsage"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InternalCallAction" eSuperTypes="#//seff_pc_av/CallAction #//seff_pc_av/AbstractInternalControlFlowAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A &quot;SubSEFF&quot;-Action: Realises an internal method call within a SEFF."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="calledResourceDemandingInternalBehaviour"
          ordered="false" eType="#//seff_pc_av/ResourceDemandingInternalBehaviour"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="EmitEventAction" eSuperTypes="#//seff_pc_av/AbstractAction #//seff_pc_av/CallAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="EmitEventAction specifies when a component emits an event during its processing. To enable the specification of the EventType characteristics, the EmitEventAction extends the CallAction. The EmitEventAction defines which type of events are emited, their characteristics and the SourceRole that triggered. Each EmitEventAction is limited to one type of events. To support multiple types of events, multiple EmitEventActions have to be used."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="eventType__EmitEventAction"
          ordered="false" eType="#//repository_pc_av/EventType"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRole__EmitEventAction"
          ordered="false" eType="#//repository_pc_av/SourceRole"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InternalAction" eSuperTypes="#//seff_pc_av/AbstractInternalControlFlowAction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Internal Action Combines the execution of a number of internal computations by a component service in a single model entity. It models calculations inside a component service, which do not include calls to required services. For a desired high abstraction level, an RDSEFF has only one InternalAction for all instructions between two calls to required services. A high abstraction level is needed to keep the model tractable for mathematical analysis methods. However, in principle it is also possible to use multiple InternalActions in direct succession to model on a lower abstraction level and enable more accurate predictions.&#xD;&#xA;InternalActions provide an abstraction from the complete behaviour (i.e., control and data flow) of a component service, as they can hide different possible control and data flows not affecting external service calls and express their resource demands as a single stochastic expression. This abstraction underlies the assumption that the resource demands of a number of instruction can be captured sufficiently accurate enough in one such expression"/>
      </eAnnotations>
      <eOperations name="MultipleInternalOccurrenceDescriptionsPerFailureTypeNotAllowed"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.internalFailureOccurrenceDescriptions__InternalAction->forAll(x:pcm::reliability::InternalFailureOccurrenceDescription,y:pcm::reliability::InternalFailureOccurrenceDescription  | x&lt;>y implies x.softwareInducedFailureType__InternalFailureOccurrenceDescription &lt;> y.softwareInducedFailureType__InternalFailureOccurrenceDescription )&#xD;&#xA;"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="SumOfInternalActionFailureProbabilitiesMustNotExceed1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.internalFailureOccurrenceDescriptions__InternalAction.failureProbability.oclAsType(Real)->sum()&lt;=1.0&#xD;&#xA;"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="internalFailureOccurrenceDescriptions__InternalAction"
          ordered="false" upperBound="-1" eType="#//reliability_pc_av/InternalFailureOccurrenceDescription"
          containment="true" eOpposite="#//reliability_pc_av/InternalFailureOccurrenceDescription/internalAction__InternalFailureOccurrenceDescription"/>
    </eClassifiers>
    <eSubpackages name="seff_performance_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/SEFF/SEFF_Performance/5.0_pointcut_advice"
        nsPrefix="seff_performance_pc_av">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Package capturing performance aspects of an RDSEFF"/>
      </eAnnotations>
      <eClassifiers xsi:type="ecore:EClass" name="InfrastructureCall" eSuperTypes="#//seff_pc_av/CallAction">
        <eOperations name="SignatureMustBelongToUsedRequiredRole" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="signature__InfrastructureCall.infrastructureInterface__InfrastructureSignature = requiredRole__InfrastructureCall.requiredInterface__InfrastructureRequiredRole"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="ReferencedRequiredRoleMustBeRequiredByComponent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.oclAsType(ecore::EObject)->closure(eContainer())->select( entity | entity.oclIsKindOf(pcm::core::entity::InterfaceRequiringEntity)).oclAsType(pcm::core::entity::InterfaceRequiringEntity).requiredRoles_InterfaceRequiringEntity->includes(self.requiredRole__InfrastructureCall)"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="SignatureRoleCombinationMustBeUniqueWithinAbstractInternalControlFlowAction"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.action__InfrastructureCall.infrastructureCall__Action->select(call | call.requiredRole__InfrastructureCall = self.requiredRole__InfrastructureCall and call.signature__InfrastructureCall=self.signature__InfrastructureCall)->size() = 1"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="signature__InfrastructureCall"
            ordered="false" eType="#//repository_pc_av/InfrastructureSignature"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="numberOfCalls__InfrastructureCall"
            ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
            eOpposite="#//core_pc_av/PCMRandomVariable/infrastructureCall__PCMRandomVariable"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="action__InfrastructureCall"
            ordered="false" eType="#//seff_pc_av/AbstractInternalControlFlowAction"
            eOpposite="#//seff_pc_av/AbstractInternalControlFlowAction/infrastructureCall__Action"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="requiredRole__InfrastructureCall"
            ordered="false" eType="#//repository_pc_av/InfrastructureRequiredRole"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ResourceCall" eSuperTypes="#//seff_pc_av/CallAction">
        <eOperations name="ResourceSignatureBelongsToResourceRequiredRole" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.resourceRequiredRole__ResourceCall.requiredResourceInterface__ResourceRequiredRole.resourceSignatures__ResourceInterface->includes(self.signature__ResourceCall)"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="ResourceRequiredRoleMustBeReferencedByComponent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.oclAsType(ecore::EObject)->closure(eContainer())->select( entity | entity.oclIsKindOf(pcm::core::entity::ResourceInterfaceRequiringEntity)).oclAsType(pcm::core::entity::ResourceInterfaceRequiringEntity).resourceRequiredRoles__ResourceInterfaceRequiringEntity->includes(self.resourceRequiredRole__ResourceCall)"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="SignatureRoleCombinationMustBeUniqueWithinAbstractInternalControlFlowAction"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.action__ResourceCall.resourceCall__Action->select(call | call.resourceRequiredRole__ResourceCall=self.resourceRequiredRole__ResourceCall and call.signature__ResourceCall=self.signature__ResourceCall)->size() = 1"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="action__ResourceCall"
            ordered="false" eType="#//seff_pc_av/AbstractInternalControlFlowAction"
            eOpposite="#//seff_pc_av/AbstractInternalControlFlowAction/resourceCall__Action"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="resourceRequiredRole__ResourceCall"
            ordered="false" eType="#//core_pc_av/entity_pc_av/ResourceRequiredRole"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="signature__ResourceCall"
            ordered="false" eType="#//resourcetype_pc_av/ResourceSignature"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="numberOfCalls__ResourceCall"
            ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
            eOpposite="#//core_pc_av/PCMRandomVariable/resourceCall__PCMRandomVariable"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ParametricResourceDemand">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="TODO&amp;nbsp;(Überarbeitung&amp;nbsp;durch&amp;nbsp;MH)&lt;br />&#xD;&#xA;Parametric&amp;nbsp;Resource&amp;nbsp;Demand&amp;nbsp;Specifies&amp;nbsp;the&amp;nbsp;amount&amp;nbsp;of&amp;nbsp;processing&amp;nbsp;requested&amp;nbsp;from&amp;nbsp;a&amp;nbsp;certain&amp;nbsp;type&amp;nbsp;of&amp;nbsp;resource&amp;nbsp;in&amp;nbsp;a&amp;nbsp;parametrised&amp;nbsp;way.&amp;nbsp;It&amp;nbsp;assigns&amp;nbsp;the&amp;nbsp;demand&amp;nbsp;specified&amp;nbsp;as&amp;nbsp;a&amp;nbsp;Random-Variable&amp;nbsp;to&amp;nbsp;an&amp;nbsp;abstract&amp;nbsp;ProcessingResourceType&amp;nbsp;(e.g.,&amp;nbsp;CPU,&amp;nbsp;hard&amp;nbsp;disk)&amp;nbsp;instead&amp;nbsp;of&amp;nbsp;a&amp;nbsp;concrete&amp;nbsp;ProcessingResourceSpecification&amp;nbsp;(e.g.,&amp;nbsp;5&amp;nbsp;Ghz&amp;nbsp;CPU,&amp;nbsp;20&amp;nbsp;MByte/s&amp;nbsp;hard&amp;nbsp;disk).&amp;nbsp;This&amp;nbsp;keeps&amp;nbsp;the&amp;nbsp;RDSEFF&amp;nbsp;independent&amp;nbsp;from&amp;nbsp;a&amp;nbsp;specific&amp;nbsp;resource&amp;nbsp;environment,&amp;nbsp;and&amp;nbsp;makes&amp;nbsp;the&amp;nbsp;concrete&amp;nbsp;resources&amp;nbsp;replaceable&amp;nbsp;to&amp;nbsp;answer&amp;nbsp;sizing&amp;nbsp;questions.&lt;br />&#xD;&#xA;The&amp;nbsp;demand's&amp;nbsp;unit&amp;nbsp;is&amp;nbsp;equal&amp;nbsp;for&amp;nbsp;all&amp;nbsp;ProcessingResourceSpecifications&amp;nbsp;referencing&lt;br />&#xD;&#xA;the&amp;nbsp;same&amp;nbsp;ProcessingResourceType.&amp;nbsp;It&amp;nbsp;can&amp;nbsp;for&amp;nbsp;example&amp;nbsp;be&amp;nbsp;&quot;WorkUnits&quot;&lt;br />&#xD;&#xA;for&amp;nbsp;CPUs&amp;nbsp;[Smi02]&amp;nbsp;or&amp;nbsp;&quot;BytesRead&quot;&amp;nbsp;for&amp;nbsp;hard&amp;nbsp;disks.&amp;nbsp;Each&amp;nbsp;ProcessingResource-&lt;br />&#xD;&#xA;Specification&amp;nbsp;contains&amp;nbsp;a&amp;nbsp;processing&amp;nbsp;rate&amp;nbsp;for&amp;nbsp;demands&amp;nbsp;(e.g.,&amp;nbsp;1000&amp;nbsp;WorkUnits/s,&amp;nbsp;20&lt;br />&#xD;&#xA;MB/s),&amp;nbsp;which&amp;nbsp;analysis&amp;nbsp;tools&amp;nbsp;use&amp;nbsp;to&amp;nbsp;compute&amp;nbsp;an&amp;nbsp;actual&amp;nbsp;timing&amp;nbsp;value&amp;nbsp;in&amp;nbsp;seconds.&amp;nbsp;They&lt;br />&#xD;&#xA;use&amp;nbsp;this&amp;nbsp;timing&amp;nbsp;value&amp;nbsp;for&amp;nbsp;example&amp;nbsp;as&amp;nbsp;the&amp;nbsp;service&amp;nbsp;demand&amp;nbsp;on&amp;nbsp;a&amp;nbsp;service&amp;nbsp;center&amp;nbsp;in&amp;nbsp;a&amp;nbsp;queueing&lt;br />&#xD;&#xA;network&amp;nbsp;or&amp;nbsp;the&amp;nbsp;firing&amp;nbsp;delay&amp;nbsp;of&amp;nbsp;a&amp;nbsp;transition&amp;nbsp;in&amp;nbsp;a&amp;nbsp;Petri&amp;nbsp;net.&amp;nbsp;As&amp;nbsp;multiple&amp;nbsp;component&amp;nbsp;services&lt;br />&#xD;&#xA;might&amp;nbsp;request&amp;nbsp;processing&amp;nbsp;on&amp;nbsp;the&amp;nbsp;same&amp;nbsp;resource,&amp;nbsp;these&amp;nbsp;analytical&amp;nbsp;or&amp;nbsp;simulation&amp;nbsp;models&lt;br />&#xD;&#xA;allow&amp;nbsp;determining&amp;nbsp;the&amp;nbsp;waiting&amp;nbsp;delay&amp;nbsp;induced&amp;nbsp;by&amp;nbsp;this&amp;nbsp;contention&amp;nbsp;effect.&lt;br />&#xD;&#xA;Besides&amp;nbsp;this&amp;nbsp;parameterisation&amp;nbsp;over&amp;nbsp;different&amp;nbsp;resource&amp;nbsp;environments,&amp;nbsp;Parametric-&lt;br />&#xD;&#xA;ResourceDemands&amp;nbsp;also&amp;nbsp;parameterise&amp;nbsp;over&amp;nbsp;the&amp;nbsp;usage&amp;nbsp;profile.&amp;nbsp;For&amp;nbsp;this,&amp;nbsp;the&amp;nbsp;stochastic&amp;nbsp;expression&lt;br />&#xD;&#xA;specifying&amp;nbsp;the&amp;nbsp;resource&amp;nbsp;demand&amp;nbsp;can&amp;nbsp;contain&amp;nbsp;references&amp;nbsp;to&amp;nbsp;the&amp;nbsp;service's&amp;nbsp;input&lt;br />&#xD;&#xA;parameters&amp;nbsp;or&amp;nbsp;the&amp;nbsp;component&amp;nbsp;parameters.&amp;nbsp;Upon&amp;nbsp;evaluating&amp;nbsp;the&amp;nbsp;resource&amp;nbsp;demand,&amp;nbsp;analysis&lt;br />&#xD;&#xA;tools&amp;nbsp;use&amp;nbsp;the&amp;nbsp;current&amp;nbsp;characterisation&amp;nbsp;of&amp;nbsp;the&amp;nbsp;referenced&amp;nbsp;input&amp;nbsp;or&amp;nbsp;component&amp;nbsp;parameter&lt;br />&#xD;&#xA;and&amp;nbsp;substitute&amp;nbsp;the&amp;nbsp;reference&amp;nbsp;with&amp;nbsp;this&amp;nbsp;characterisation&amp;nbsp;in&amp;nbsp;the&amp;nbsp;stochastic&amp;nbsp;expression.&lt;br />&#xD;&#xA;Solving&amp;nbsp;the&amp;nbsp;stochastic&amp;nbsp;expression,&amp;nbsp;which&amp;nbsp;can&amp;nbsp;be&amp;nbsp;a&amp;nbsp;function&amp;nbsp;involving&amp;nbsp;arithmetic&amp;nbsp;operators&lt;br />&#xD;&#xA;(Chapter&amp;nbsp;3.3.6),&amp;nbsp;then&amp;nbsp;yields&amp;nbsp;a&amp;nbsp;constant&amp;nbsp;or&amp;nbsp;probability&amp;nbsp;function&amp;nbsp;for&amp;nbsp;the&amp;nbsp;resource&amp;nbsp;demand.&lt;br />&#xD;&#xA;As&amp;nbsp;an&amp;nbsp;example&amp;nbsp;for&amp;nbsp;solving&amp;nbsp;the&amp;nbsp;parameterisation&amp;nbsp;over&amp;nbsp;resource&amp;nbsp;environment&amp;nbsp;and&amp;nbsp;usage&lt;br />&#xD;&#xA;profile,&amp;nbsp;consider&amp;nbsp;an&amp;nbsp;RDSEFF&amp;nbsp;for&amp;nbsp;a&amp;nbsp;service&amp;nbsp;implementing&amp;nbsp;the&amp;nbsp;bubblesort&amp;nbsp;algorithm.&amp;nbsp;It&lt;br />&#xD;&#xA;might&amp;nbsp;include&amp;nbsp;a&amp;nbsp;CPU&amp;nbsp;demand&amp;nbsp;specification&amp;nbsp;of&amp;nbsp;n22000WorkUnits&amp;nbsp;derived&amp;nbsp;from&amp;nbsp;complexity&lt;br />&#xD;&#xA;theory&amp;nbsp;(n2)&amp;nbsp;and&amp;nbsp;empirical&amp;nbsp;measurements&amp;nbsp;(2000).&amp;nbsp;In&amp;nbsp;this&amp;nbsp;case&amp;nbsp;n&amp;nbsp;refers&amp;nbsp;to&amp;nbsp;the&amp;nbsp;length&amp;nbsp;of&lt;br />&#xD;&#xA;the&amp;nbsp;list&amp;nbsp;the&amp;nbsp;algorithm&amp;nbsp;shall&amp;nbsp;sort,&amp;nbsp;which&amp;nbsp;is&amp;nbsp;an&amp;nbsp;input&amp;nbsp;parameter&amp;nbsp;of&amp;nbsp;the&amp;nbsp;service.&amp;nbsp;If&amp;nbsp;the&amp;nbsp;current&lt;br />&#xD;&#xA;characterisation&amp;nbsp;of&amp;nbsp;the&amp;nbsp;list's&amp;nbsp;length&amp;nbsp;is&amp;nbsp;100&amp;nbsp;(as&amp;nbsp;the&amp;nbsp;modelled&amp;nbsp;usage&amp;nbsp;profile),&amp;nbsp;analysis&amp;nbsp;tools&lt;br />&#xD;&#xA;derive&amp;nbsp;1002&amp;nbsp;&amp;nbsp;2000&amp;nbsp;&amp;nbsp;12000&amp;nbsp;WorkUnits&amp;nbsp;from&amp;nbsp;the&amp;nbsp;specification,&amp;nbsp;thus&amp;nbsp;resolving&amp;nbsp;the&amp;nbsp;usage&lt;br />&#xD;&#xA;profile&amp;nbsp;dependency.&amp;nbsp;If&amp;nbsp;the&amp;nbsp;CPU&amp;nbsp;ProcessingResourceSpecification&amp;nbsp;the&amp;nbsp;service's&lt;br />&#xD;&#xA;126&lt;br />&#xD;&#xA;4.3.&amp;nbsp;Resource&amp;nbsp;Demanding&amp;nbsp;Service&amp;nbsp;Effect&amp;nbsp;Specification&lt;br />&#xD;&#xA;component&amp;nbsp;is&amp;nbsp;allocated&amp;nbsp;on&amp;nbsp;then&amp;nbsp;contains&amp;nbsp;a&amp;nbsp;processing&amp;nbsp;rate&amp;nbsp;of&amp;nbsp;10000WorkUnits/s,&amp;nbsp;analysis&lt;br />&#xD;&#xA;tools&amp;nbsp;derive&amp;nbsp;an&amp;nbsp;execution&amp;nbsp;time&amp;nbsp;of&amp;nbsp;12000&amp;nbsp;WorkUnits&amp;nbsp;{10000&amp;nbsp;WorkUnits/s&amp;nbsp;=&amp;nbsp;1:2&amp;nbsp;s&amp;nbsp;from&amp;nbsp;the&lt;br />&#xD;&#xA;specification,&amp;nbsp;thus&amp;nbsp;resolving&amp;nbsp;the&amp;nbsp;resource&amp;nbsp;environment&amp;nbsp;dependency.&lt;br />&#xD;&#xA;The&amp;nbsp;stochastic&amp;nbsp;expression&amp;nbsp;for&amp;nbsp;a&amp;nbsp;ParametricResourceDemand&amp;nbsp;depends&amp;nbsp;on&amp;nbsp;the&amp;nbsp;implementation&lt;br />&#xD;&#xA;of&amp;nbsp;the&amp;nbsp;service.&amp;nbsp;Component&amp;nbsp;developers&amp;nbsp;can&amp;nbsp;specify&amp;nbsp;it&amp;nbsp;using&amp;nbsp;complexity&amp;nbsp;theory,&lt;br />&#xD;&#xA;estimations,&amp;nbsp;or&amp;nbsp;measurements.&amp;nbsp;However,&amp;nbsp;how&amp;nbsp;to&amp;nbsp;get&amp;nbsp;data&amp;nbsp;to&amp;nbsp;define&amp;nbsp;such&amp;nbsp;expressions&lt;br />&#xD;&#xA;accurately&amp;nbsp;is&amp;nbsp;beyond&amp;nbsp;of&amp;nbsp;the&amp;nbsp;scope&amp;nbsp;of&amp;nbsp;this&amp;nbsp;thesis.&amp;nbsp;Woodside&amp;nbsp;et&amp;nbsp;al.&amp;nbsp;[WVCB01]&amp;nbsp;and&amp;nbsp;Krogmann&lt;br />&#xD;&#xA;[Kro07]&amp;nbsp;present&amp;nbsp;approaches&amp;nbsp;for&amp;nbsp;measuring&amp;nbsp;resource&amp;nbsp;demands&amp;nbsp;in&amp;nbsp;dependency&amp;nbsp;to&amp;nbsp;input&amp;nbsp;parameters.&lt;br />&#xD;&#xA;Meyerhoefer&amp;nbsp;et&amp;nbsp;al.&amp;nbsp;[ML05]&amp;nbsp;and&amp;nbsp;Kuperberg&amp;nbsp;et&amp;nbsp;al.&amp;nbsp;[KB07]&amp;nbsp;propose&amp;nbsp;methods&amp;nbsp;to&lt;br />&#xD;&#xA;establish&amp;nbsp;resource&amp;nbsp;demands&amp;nbsp;independent&amp;nbsp;from&amp;nbsp;concrete&amp;nbsp;resources.&amp;nbsp;For&amp;nbsp;the&amp;nbsp;scope&amp;nbsp;of&amp;nbsp;this&lt;br />&#xD;&#xA;thesis,&amp;nbsp;it&amp;nbsp;is&amp;nbsp;assumed&amp;nbsp;that&amp;nbsp;these&amp;nbsp;methods&amp;nbsp;have&amp;nbsp;been&amp;nbsp;applied&amp;nbsp;and&amp;nbsp;an&amp;nbsp;accurate&amp;nbsp;specification&lt;br />&#xD;&#xA;of&amp;nbsp;the&amp;nbsp;ParametricResourceDemand&amp;nbsp;is&amp;nbsp;available."/>
        </eAnnotations>
        <eOperations name="DemandedProcessingResourceMustBeUniqueWithinAbstractInternalControlFlowAction"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.action_ParametricResourceDemand.resourceDemand_Action->select(prd | prd.requiredResource_ParametricResourceDemand=self.requiredResource_ParametricResourceDemand)->size() = 1"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="specification_ParametericResourceDemand"
            ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
            eOpposite="#//core_pc_av/PCMRandomVariable/parametricResourceDemand_PCMRandomVariable"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="requiredResource_ParametricResourceDemand"
            ordered="false" eType="#//resourcetype_pc_av/ProcessingResourceType"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="action_ParametricResourceDemand"
            ordered="false" eType="#//seff_pc_av/AbstractInternalControlFlowAction"
            eOpposite="#//seff_pc_av/AbstractInternalControlFlowAction/resourceDemand_Action"/>
      </eClassifiers>
    </eSubpackages>
    <eSubpackages name="seff_reliability_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/SEFF/SEFF_Reliability/5.0_pointcut_advice"
        nsPrefix="seff_reliability_pc_av">
      <eClassifiers xsi:type="ecore:EClass" name="RecoveryActionBehaviour" eSuperTypes="#//seff_pc_av/seff_reliability_pc_av/FailureHandlingEntity #//seff_pc_av/ResourceDemandingBehaviour">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="&lt;p>&#xD;&#xA;    Recovery block alternative haviours represent alternatives of recovery blocks. They are resource demanding behaviours,&#xD;&#xA;    thus any behaviour can be defined as an alternative.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    The alternatives of a recovery block form a chain. They are failure handling entities, i.e.&amp;nbsp;they can handle&#xD;&#xA;    failures that occur in previous alternatives. If one alternative fails, the next alternative is executed that can&#xD;&#xA;    handle the failure type.&#xD;&#xA;&lt;/p>"/>
        </eAnnotations>
        <eOperations name="RecoveryActionBehaviourHasOnlyOnePredecessor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="not self.recoveryAction__RecoveryActionBehaviour.recoveryActionBehaviours__RecoveryAction->&#xD;&#xA;&#x9;exists(x,y:RecoveryActionBehaviour | x&lt;>y&#xD;&#xA;&#x9;&#x9;and x.failureHandlingAlternatives__RecoveryActionBehaviour->includes(self)&#xD;&#xA;&#x9;&#x9;and y.failureHandlingAlternatives__RecoveryActionBehaviour->includes(self))"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="RecoveryActionBehaviourIsNotSuccessorOfItself" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="not self.failureHandlingAlternatives__RecoveryActionBehaviour->includes(self)"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="SuccessorsOfRecoveryActionBehaviourHandleDisjointFailureTypes"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="not self.failureHandlingAlternatives__RecoveryActionBehaviour->&#xD;&#xA;&#x9;exists(x,y:RecoveryActionBehaviour | x&lt;>y and&#xD;&#xA;&#x9;x.failureTypes_FailureHandlingEntity->&#xD;&#xA;&#x9;&#x9;exists(f:pcm::reliability::FailureType |&#xD;&#xA;&#x9;&#x9;y.failureTypes_FailureHandlingEntity->includes(f)))"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="failureHandlingAlternatives__RecoveryActionBehaviour"
            ordered="false" upperBound="-1" eType="#//seff_pc_av/seff_reliability_pc_av/RecoveryActionBehaviour"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="recoveryAction__RecoveryActionBehaviour"
            ordered="false" eType="#//seff_pc_av/seff_reliability_pc_av/RecoveryAction"
            eOpposite="#//seff_pc_av/seff_reliability_pc_av/RecoveryAction/recoveryActionBehaviours__RecoveryAction"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="RecoveryAction" eSuperTypes="#//seff_pc_av/AbstractInternalControlFlowAction">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Recover block actions are a generic failure handling technique. A recovery block consists of a a primary algorithm and one&#xD;&#xA;or more alternatives that can be used in case of failure. If the primary algorithm fails, the next alternative is chosen.&#xD;&#xA;Here the alternatives also support failure types. Alternatives may specify which kind of failures they can handle."/>
        </eAnnotations>
        <eOperations name="PrimaryBehaviourOfRecoveryActionMustBeSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.primaryBehaviour__RecoveryAction &lt;> null"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="primaryBehaviour__RecoveryAction"
            ordered="false" eType="#//seff_pc_av/seff_reliability_pc_av/RecoveryActionBehaviour"/>
        <eStructuralFeatures xsi:type="ecore:EReference" name="recoveryActionBehaviours__RecoveryAction"
            ordered="false" upperBound="-1" eType="#//seff_pc_av/seff_reliability_pc_av/RecoveryActionBehaviour"
            containment="true" eOpposite="#//seff_pc_av/seff_reliability_pc_av/RecoveryActionBehaviour/recoveryAction__RecoveryActionBehaviour"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="FailureHandlingEntity" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="&lt;p>&#xD;&#xA;    Failure handling entities are any program constructs that can handle failures. Instances of failure handling entities&#xD;&#xA;    specify any number of failure types that can be handled.&#xD;&#xA;&lt;/p>"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="failureTypes_FailureHandlingEntity"
            ordered="false" upperBound="-1" eType="#//reliability_pc_av/FailureType"/>
      </eClassifiers>
    </eSubpackages>
  </eSubpackages>
  <eSubpackages name="qosannotations_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/QoSAnnotations/5.0_pointcut_advice"
      nsPrefix="qosannotations_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="This package contains elements to specify fixed QoS attributes of system-external services."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="SpecifiedQoSAnnotation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    SpecifiedQoSAnnotations&amp;nbsp;(as&amp;nbsp;an&amp;nbsp;abstract&amp;nbsp;class)&amp;nbsp;associate&amp;nbsp;specified&amp;nbsp;(see&amp;nbsp;QoSAnnotation)&amp;nbsp;QoS&amp;nbsp;properties&amp;nbsp;to&amp;nbsp;services&amp;nbsp;of&amp;nbsp;components.&amp;nbsp;A&amp;nbsp;service&amp;nbsp;is&amp;nbsp;thereby&amp;nbsp;determined&amp;nbsp;by&amp;nbsp;a&amp;nbsp;Signature&amp;nbsp;and&amp;nbsp;a&amp;nbsp;Role&amp;nbsp;(i.e.,&amp;nbsp;an&amp;nbsp;interface&amp;nbsp;bound&amp;nbsp;to&amp;nbsp;a&amp;nbsp;component).&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="signature_SpecifiedQoSAnnation"
          ordered="false" eType="#//repository_pc_av/Signature"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="role_SpecifiedQoSAnnotation"
          ordered="false" eType="#//repository_pc_av/Role"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="qosAnnotations_SpecifiedQoSAnnotation"
          ordered="false" eType="#//qosannotations_pc_av/QoSAnnotations" eOpposite="#//qosannotations_pc_av/QoSAnnotations/specifiedQoSAnnotations_QoSAnnotations"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="QoSAnnotations" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="QoSAnnotations allow software architects and performance analysts to annotate Quality of Service (QoS) attributes to services (i.e., signatures of an interface). It is important to note that these annotations are specified and not derived. Usually the PCM uses the internal specification of a components behaviour (i.e., its RD-SEFFs) to determine its QoS. However, in a mixed top down and bottom up approach as favoured by the PCM, software architects have to combine components whose internals are not yet known with fully specified components. QoSAnnotations provide a first perforamnce (or reliability) abstraction of the services offered by a component using the SpecifiedQoSAnnotation. They furthermore define the output parameters of the services without describing its internal behviour.&#xD;&#xA;&#xD;&#xA;Notes:&#xD;&#xA;- Should the association of QoSAnnotations to services not be in the class QoSAnnotation instead of SpecifiedQoSAnnotation and SpecifiedOutputParameterAbstraction separately?"/>
      </eAnnotations>
      <eOperations name="MultipleReliabilityAnnotationsPerExternalCallNotAllowed"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.specifiedQoSAnnotations_QoSAnnotations->select(oclIsTypeOf(pcm::qosannotations::qos_reliability::SpecifiedReliabilityAnnotation))->forAll( x, y | ( x&lt;>y ) implies ( ( x.role_SpecifiedQoSAnnotation &lt;> y.role_SpecifiedQoSAnnotation )  or ( x.signature_SpecifiedQoSAnnation &lt;> y.signature_SpecifiedQoSAnnation ) ) )"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="specifiedOutputParameterAbstractions_QoSAnnotations"
          ordered="false" upperBound="-1" eType="#//qosannotations_pc_av/SpecifiedOutputParameterAbstraction"
          containment="true" eOpposite="#//qosannotations_pc_av/SpecifiedOutputParameterAbstraction/qosAnnotations_SpecifiedOutputParameterAbstraction"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="system_QoSAnnotations"
          ordered="false" eType="#//system_pc_av/System" eOpposite="#//system_pc_av/System/qosAnnotations_System"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="specifiedQoSAnnotations_QoSAnnotations"
          ordered="false" upperBound="-1" eType="#//qosannotations_pc_av/SpecifiedQoSAnnotation"
          containment="true" eOpposite="#//qosannotations_pc_av/SpecifiedQoSAnnotation/qosAnnotations_SpecifiedQoSAnnotation"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SpecifiedOutputParameterAbstraction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="To specify the output parameters of a service (without associated RD-SEFF), software architects can associate a SpecifiedOutputParameterAbstraction to services (signature + role). SpecifiedOutputParameterAbstractions assign a single VariableUsage to that service that determines the output parameters in depency of its input parameters. Software architects can use stochastic expressions (package StoEx) to define the dependencies.&#xD;&#xA;&#xD;&#xA;Note:&#xD;&#xA;- Is it actually possible to define the output in dependency on the input parameters?&#xD;&#xA;&#xD;&#xA;"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="signature_SpecifiedOutputParameterAbstraction"
          ordered="false" eType="#//repository_pc_av/Signature"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="role_SpecifiedOutputParameterAbstraction"
          ordered="false" eType="#//repository_pc_av/Role"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="expectedExternalOutputs_SpecifiedOutputParameterAbstraction"
          ordered="false" upperBound="-1" eType="#//parameter_pc_av/VariableUsage"
          containment="true" eOpposite="#//parameter_pc_av/VariableUsage/specifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="qosAnnotations_SpecifiedOutputParameterAbstraction"
          ordered="false" eType="#//qosannotations_pc_av/QoSAnnotations" eOpposite="#//qosannotations_pc_av/QoSAnnotations/specifiedOutputParameterAbstractions_QoSAnnotations"/>
    </eClassifiers>
    <eSubpackages name="qos_performance_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/QoSAnnotations/QoS_Performance/5.0_pointcut_advice"
        nsPrefix="_pc_av">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Performance aspects of QoS annotations."/>
      </eAnnotations>
      <eClassifiers xsi:type="ecore:EClass" name="SystemSpecifiedExecutionTime" eSuperTypes="#//qosannotations_pc_av/qos_performance_pc_av/SpecifiedExecutionTime">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The SystemSpecifiedExecutionTime allows software architect and performance analysts to specify the response time (distribution) of services called at the system boundaries. This allows abstracting from the system externals and restricts the focus to the software architecture under consideration.&#xD;&#xA;&#xD;&#xA;Note:&#xD;&#xA;- That's the starting point for Performance-Kennlinien I guess..."/>
        </eAnnotations>
        <eOperations name="SystemSpecifiedExecutionTimeMustReferenceRequiredRoleOfASystem"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="(self.role_SpecifiedQoSAnnotation.oclIsTypeOf(pcm::repository::OperationRequiredRole)) and (self.role_SpecifiedQoSAnnotation.oclAsType(pcm::repository::OperationRequiredRole).requiringEntity_RequiredRole.oclIsTypeOf(pcm::system::System))&#xD;&#xA;"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="SpecifiedExecutionTime" eSuperTypes="#//qosannotations_pc_av/SpecifiedQoSAnnotation">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="&lt;p>&#xD;&#xA;    Specifies an execution time&#xD;&#xA;    in&amp;nbsp;terms&amp;nbsp;of&amp;nbsp;a&amp;nbsp;PCMRandomVariable&amp;nbsp;which&amp;nbsp;may&amp;nbsp;depend&amp;nbsp;on&amp;nbsp;component&amp;nbsp;or&amp;nbsp;input&amp;nbsp;parameters&amp;nbsp;of&amp;nbsp;the&#xD;&#xA;    referenced&amp;nbsp;service.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    Notes:&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    -&amp;nbsp;Is&amp;nbsp;it&amp;nbsp;correct&amp;nbsp;that&amp;nbsp;the&amp;nbsp;PCMRandomvariable&amp;nbsp;can&amp;nbsp;depend&amp;nbsp;on&amp;nbsp;parameters?&lt;br />&#xD;&#xA;    -&amp;nbsp;How&amp;nbsp;is&amp;nbsp;the&amp;nbsp;relation&amp;nbsp;of&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;QoS&amp;nbsp;to&amp;nbsp;the&amp;nbsp;input&amp;nbsp;parameters&amp;nbsp;established?&lt;br />&#xD;&#xA;&lt;/p>"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="specification_SpecifiedExecutionTime"
            ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
            eOpposite="#//core_pc_av/PCMRandomVariable/specifiedExecutionTime_PCMRandomVariable"/>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ComponentSpecifiedExecutionTime"
          eSuperTypes="#//qosannotations_pc_av/qos_performance_pc_av/SpecifiedExecutionTime">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The ComponentSpecifiedExecutionTime allows software architects (and performance analysts) to specify the response time of a service (signature + role) of a component. However, the response time is not given for the considered component in general, but the component in a specific context (i.e., in a specific hardware environment with specific external components connected) determined by the AssemblyContext. This allows software architects to include Provided- and CompleteComponentTypes into their software architecuture that still miss a description of their internals. Even though the internals are missing, performance predictions are still possible.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;Note:&#xD;&#xA;- Is it actually the response time or total service demand specified here? -> I guess it should be response time. Otherwise, we would require also an assignment to resources.&#xD;&#xA;- I guess it's necessary to replace the association  to the AssemblyContext by an association to an AllocationContext, since the Response time is heavily determined by the underlying hardware...&#xD;&#xA;&#xD;&#xA;"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext_ComponentSpecifiedExecutionTime"
            ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
      </eClassifiers>
    </eSubpackages>
    <eSubpackages name="qos_reliability_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/QoSAnnotations/QoS_Reliability/5.0_pointcut_advice"
        nsPrefix="_pc_av">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Reliability&amp;nbsp;aspects&amp;nbsp;of&amp;nbsp;QoS&amp;nbsp;annotations."/>
      </eAnnotations>
      <eClassifiers xsi:type="ecore:EClass" name="SpecifiedReliabilityAnnotation"
          eSuperTypes="#//qosannotations_pc_av/SpecifiedQoSAnnotation">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A SpecifiedFailureProbability of a service resembles its &quot;Probability of Failure on Demand&quot; (POFOD). Whenever the service is called, this values states the probability that it returns successfully. For reliability prediction, the PCMRandomVariable specified in its superclass SpecifiedQoSAnnotation must evaluate to a real number between 0 and 1.&#xD;&#xA;&#xD;&#xA;"/>
        </eAnnotations>
        <eOperations name="SpecifiedReliabilityAnnotationMustReferenceRequiredRoleOfASystem"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="(self.role_SpecifiedQoSAnnotation.oclIsTypeOf(pcm::repository::OperationRequiredRole)) and (self.role_SpecifiedQoSAnnotation.oclAsType(pcm::repository::OperationRequiredRole).requiringEntity_RequiredRole.oclIsTypeOf(pcm::system::System))&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="SumOfReliabilityAnnotationFailureProbabilitiesMustNotExceed1"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.externalFailureOccurrenceDescriptions__SpecifiedReliabilityAnnotation.failureProbability.oclAsType(Real)->sum()&lt;=1.0"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="MultipleExternalOccurrenceDescriptionsPerFailureTypeNotAllowed"
            eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
            <details key="body" value="self.externalFailureOccurrenceDescriptions__SpecifiedReliabilityAnnotation->forAll(x:pcm::reliability::ExternalFailureOccurrenceDescription,y:pcm::reliability::ExternalFailureOccurrenceDescription  | x&lt;>y implies x.failureType__ExternalFailureOccurrenceDescription &lt;> y.failureType__ExternalFailureOccurrenceDescription )"/>
          </eAnnotations>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <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="externalFailureOccurrenceDescriptions__SpecifiedReliabilityAnnotation"
            ordered="false" upperBound="-1" eType="#//reliability_pc_av/ExternalFailureOccurrenceDescription"
            containment="true" eOpposite="#//reliability_pc_av/ExternalFailureOccurrenceDescription/specifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription"/>
      </eClassifiers>
    </eSubpackages>
  </eSubpackages>
  <eSubpackages name="system_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/System/5.0_pointcut_advice"
      nsPrefix="system_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="The system package holds only the System meta class. A system is the most high-level and out-most compositional entity of the PCM. It defines the boundaries of a modelled application. Only systems (more precisely provided services of a system) can be accessed from usage profile. Systems also can carry QoS-Annotations, a special means to express fixed QoS properties of services that are required at the system boundary."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="System" eSuperTypes="#//core_pc_av/entity_pc_av/Entity #//core_pc_av/entity_pc_av/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 modelled within the PCM.&#xD;&#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.&#xD;&#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.&#xD;&#xA;&#xD;&#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.&#xD;&#xA;&#xD;&#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.&#xD;&#xA;&#xD;&#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/uml2/1.1.0/GenModel">
          <details key="body" value="not self.providedRoles_InterfaceProvidingEntity->isEmpty()"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="qosAnnotations_System"
          ordered="false" upperBound="-1" eType="#//qosannotations_pc_av/QoSAnnotations"
          containment="true" eOpposite="#//qosannotations_pc_av/QoSAnnotations/system_QoSAnnotations">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="QoS Annotations allow for specifing fixed (non-parameterised) QoS properties at the system boundary level for required services. For example, for a required service it can be specified that its response time is fixed &quot;3 ms&quot;. See the QoS Annotations package for more details."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="resourceenvironment_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/ResourceEnvironment/5.0_pointcut_advice"
      nsPrefix="resourceenvironment_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Package of entities representing the execution environment of a component based software system"/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="ResourceEnvironment" eSuperTypes="#//core_pc_av/entity_pc_av/NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="&lt;p>&#xD;&#xA;    Repository element of&amp;nbsp;the resource environment&#xD;&#xA;&lt;/p>"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="linkingResources__ResourceEnvironment"
          ordered="false" upperBound="-1" eType="#//resourceenvironment_pc_av/LinkingResource"
          containment="true" eOpposite="#//resourceenvironment_pc_av/LinkingResource/resourceEnvironment_LinkingResource"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceContainer_ResourceEnvironment"
          ordered="false" upperBound="-1" eType="#//resourceenvironment_pc_av/ResourceContainer"
          containment="true" eOpposite="#//resourceenvironment_pc_av/ResourceContainer/resourceEnvironment_ResourceContainer"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LinkingResource" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Model&amp;nbsp;element&amp;nbsp;representing&amp;nbsp;communication&amp;nbsp;links&amp;nbsp;like&amp;nbsp;LAN,&amp;nbsp;WAN,&amp;nbsp;WiFi&amp;nbsp;etc."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="connectedResourceContainers_LinkingResource"
          ordered="false" upperBound="-1" eType="#//resourceenvironment_pc_av/ResourceContainer"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="communicationLinkResourceSpecifications_LinkingResource"
          ordered="false" eType="#//resourceenvironment_pc_av/CommunicationLinkResourceSpecification"
          containment="true" eOpposite="#//resourceenvironment_pc_av/CommunicationLinkResourceSpecification/linkingResource_CommunicationLinkResourceSpecification"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceEnvironment_LinkingResource"
          ordered="false" eType="#//resourceenvironment_pc_av/ResourceEnvironment"
          eOpposite="#//resourceenvironment_pc_av/ResourceEnvironment/linkingResources__ResourceEnvironment"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ResourceContainer" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="UML-like&amp;nbsp;container&amp;nbsp;of&amp;nbsp;a&amp;nbsp;number&amp;nbsp;of&amp;nbsp;processing&amp;nbsp;resources (e.g. hardware server)"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="activeResourceSpecifications_ResourceContainer"
          ordered="false" upperBound="-1" eType="#//resourceenvironment_pc_av/ProcessingResourceSpecification"
          containment="true" eOpposite="#//resourceenvironment_pc_av/ProcessingResourceSpecification/resourceContainer_ProcessingResourceSpecification"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceEnvironment_ResourceContainer"
          ordered="false" eType="#//resourceenvironment_pc_av/ResourceEnvironment"
          eOpposite="#//resourceenvironment_pc_av/ResourceEnvironment/resourceContainer_ResourceEnvironment"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="nestedResourceContainers__ResourceContainer"
          ordered="false" upperBound="-1" eType="#//resourceenvironment_pc_av/ResourceContainer"
          containment="true" eOpposite="#//resourceenvironment_pc_av/ResourceContainer/parentResourceContainer__ResourceContainer"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parentResourceContainer__ResourceContainer"
          ordered="false" eType="#//resourceenvironment_pc_av/ResourceContainer" eOpposite="#//resourceenvironment_pc_av/ResourceContainer/nestedResourceContainers__ResourceContainer"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ProcessingResourceSpecification" eSuperTypes="identifier_pointcut_advice.ecore#//Identifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Performance specification of processing resources (e.g. processing rate, scheduling policy)"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="MTTR" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
          defaultValueLiteral="0.0">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The Mean Time To Repair (MTTR) of a physical resource is the expected timespan from breakdown of this physical resource to its repair or replacement."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="MTTF" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
          defaultValueLiteral="0.0">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The Mean Time To Failure (MTTF) of a physical resource is the expected timespan from the start of its usage until breakdown."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="requiredByContainer"
          ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="&lt;p>&#xD;&#xA;    This attribute controls the handling of the resource&amp;nbsp;by the&amp;nbsp;reliability prediction.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    If set to TRUE, the unavailability of the resource automatically leads to the unavailability of the surrounding&#xD;&#xA;    resource container. Every attempt to execute a SEFF on an unavailable resource container leads to a corresponding&#xD;&#xA;    resource failure.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    If set to FALSE, the unavailability of the resource does not make the container unavailable. An attempt to execute a&#xD;&#xA;    SEFF on a container with an unavailable resource leads to a resource failure ONLY IF the SEFF contains an&#xD;&#xA;    InternalAction that accesses&amp;nbsp;the resource.&#xD;&#xA;&lt;/p>"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="schedulingPolicy" ordered="false"
          eType="#//resourcetype_pc_av/SchedulingPolicy"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="activeResourceType_ActiveResourceSpecification"
          ordered="false" eType="#//resourcetype_pc_av/ProcessingResourceType"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="processingRate_ProcessingResourceSpecification"
          ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
          eOpposite="#//core_pc_av/PCMRandomVariable/processingResourceSpecification_processingRate_PCMRandomVariable"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberOfReplicas" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
          defaultValueLiteral="1">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="&lt;p>&#xD;&#xA;    Specifies the actual number of processors of the processing resource.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA;    In terms of the queueing theory, the number of processors corresponds to the number of servers&amp;nbsp;of a service&#xD;&#xA;    center. Thus, the attribute allows to specify a&amp;nbsp;multi-server queue, i.e., one queue with multiple servers.&lt;br />&#xD;&#xA;&lt;/p>"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resourceContainer_ProcessingResourceSpecification"
          ordered="false" eType="#//resourceenvironment_pc_av/ResourceContainer" eOpposite="#//resourceenvironment_pc_av/ResourceContainer/activeResourceSpecifications_ResourceContainer"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CommunicationLinkResourceSpecification"
        eSuperTypes="identifier_pointcut_advice.ecore#//Identifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Throughput and performance specification of linking resources"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="linkingResource_CommunicationLinkResourceSpecification"
          ordered="false" eType="#//resourceenvironment_pc_av/LinkingResource" eOpposite="#//resourceenvironment_pc_av/LinkingResource/communicationLinkResourceSpecifications_LinkingResource"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="failureProbability" ordered="false"
          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
          defaultValueLiteral="0.0">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Specifies the probability that a service call over this communication link fails. The failure could be due to message loss or overload, for example."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="communicationLinkResourceType_CommunicationLinkResourceSpecification"
          ordered="false" eType="#//resourcetype_pc_av/CommunicationLinkResourceType"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="latency_CommunicationLinkResourceSpecification"
          ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
          eOpposite="#//core_pc_av/PCMRandomVariable/communicationLinkResourceSpecification_latency_PCMRandomVariable">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Specifies the latency of this linking resource in the simulated time unit. The latency is the time that a message on this linking resource takes to receive the receiver. In synchronous communication (call and return), the latency is added twice to the duration, once for the call and once for the response. "/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="throughput_CommunicationLinkResourceSpecification"
          ordered="false" eType="#//core_pc_av/PCMRandomVariable" containment="true"
          eOpposite="#//core_pc_av/PCMRandomVariable/communicationLinkResourceSpecifcation_throughput_PCMRandomVariable">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Specifies the maximum throughput of this linking resource in byte per simulated time unit. "/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="allocation_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/Allocation/5.0_pointcut_advice"
      nsPrefix="allocation_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="All PCM entities related to model allocation"/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="AllocationContext" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Mapping between AssemblyContext and Resource. Sometimes referred to as &quot;Deployment&quot;."/>
      </eAnnotations>
      <eOperations name="OneAssemblyContextOrOneEventChannelShouldBeReferred" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="not(self.assemblyContext_AllocationContext.oclIsUndefined()) xor not(self.eventChannel__AllocationContext.oclIsUndefined())"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="resourceContainer_AllocationContext"
          ordered="false" eType="#//resourceenvironment_pc_av/ResourceContainer"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="assemblyContext_AllocationContext"
          ordered="false" eType="#//core_pc_av/composition_pc_av/AssemblyContext"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="allocation_AllocationContext"
          ordered="false" eType="#//allocation_pc_av/Allocation" eOpposite="#//allocation_pc_av/Allocation/allocationContexts_Allocation"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="eventChannel__AllocationContext"
          ordered="false" eType="#//core_pc_av/composition_pc_av/EventChannel"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Allocation" eSuperTypes="#//core_pc_av/entity_pc_av/Entity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The allocation repository holding all available allocation contexts of a model."/>
      </eAnnotations>
      <eOperations name="EachAssemblyContextWithinSystemHasToBeAllocatedExactlyOnce"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="-- Get all AssemblyContexts used by this system, that is &#xD;&#xA;-- 1) the AssemblyContexts directly used in the system and &#xD;&#xA;self.system_Allocation.assemblyContexts__ComposedStructure&#xD;&#xA;-- 2) the AssemblyContexts used by SubSystems in the System. Note that if a SubSystem also contains other Subsystems,&#xD;&#xA;-- we need to get those AssemblyContexts too: Thus, we use a closure here&#xD;&#xA;->union(self.system_Allocation.assemblyContexts__ComposedStructure->closure(&#xD;&#xA;encapsulatedComponent__AssemblyContext->select(composites|composites.oclIsTypeOf(pcm::subsystem::SubSystem)).oclAsType(pcm::subsystem::SubSystem)&#xD;&#xA;.assemblyContexts__ComposedStructure))&#xD;&#xA;--Now, after we collected all AssemblyContexts somehow used, we check whether they need to be allocated &#xD;&#xA;--and if yes, if they are allocated.&#xD;&#xA;->forAll(assemblyCtx|&#xD;&#xA;--AssemblyContexts that contain SubSystems do not need to be allocated&#xD;&#xA;assemblyCtx.encapsulatedComponent__AssemblyContext.oclIsTypeOf(pcm::subsystem::SubSystem) or&#xD;&#xA;--All others need to be allocated. &#xD;&#xA;self.allocationContexts_Allocation->select(allocationCtx|&#xD;&#xA;allocationCtx.assemblyContext_AllocationContext = assemblyCtx)->size() = 1)"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Each Assembly of BasicComponents and CompositeComponents used in the referenced System must be allocated. &#xD;&#xA;&#xD;&#xA;Things are complicated by the introduction of SubSystems. Here, the Assembly of the SubSystem itself does not have to be allocated. If it is not allocated, all BasicComponents and CompositeComponents contained in this SubSystem (also transitively over several nested and not-allocated SubSystems) need to be allocated. &#xD;&#xA;&#xD;&#xA;The constraint is realised wth a closure over the AssemblyContext contained in a ComposedStructure. "/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="CommunicatingServersHaveToBeConnectedByLinkingResource" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
          <details key="body" value="self.allocationContexts_Allocation->forAll(a | self.allocationContexts_Allocation->forAll(b | &#xD;&#xA;    --- if a and b are not on the same server&#xD;&#xA;    (a.resourceContainer_AllocationContext &lt;> b.resourceContainer_AllocationContext &#xD;&#xA;    and&#xD;&#xA;    --  and if the assembly contexts of a and b are connected&#xD;&#xA;      self.system_Allocation.connectors__ComposedStructure->select(conn | conn.oclIsTypeOf(pcm::core::composition::AssemblyConnector)).oclAsType(pcm::core::composition::AssemblyConnector)->exists(conn | &#xD;&#xA;         (conn.providingAssemblyContext_AssemblyConnector = a.assemblyContext_AllocationContext  &#xD;&#xA;         and &#xD;&#xA;         conn.requiringAssemblyContext_AssemblyConnector = b.assemblyContext_AllocationContext )&#xD;&#xA;         or &#xD;&#xA;          (conn.providingAssemblyContext_AssemblyConnector = b.assemblyContext_AllocationContext  &#xD;&#xA;         and &#xD;&#xA;         conn.requiringAssemblyContext_AssemblyConnector = a.assemblyContext_AllocationContext )&#xD;&#xA;       )&#xD;&#xA;     )&#xD;&#xA;     -- then the servers have to be connected by a linking resource&#xD;&#xA;     implies &#xD;&#xA;     self.targetResourceEnvironment_Allocation.linkingResources__ResourceEnvironment->exists(l | &#xD;&#xA;        -- l connects the two&#xD;&#xA;        l.connectedResourceContainers_LinkingResource->includes(a.resourceContainer_AllocationContext)&#xD;&#xA;        and &#xD;&#xA;        l.connectedResourceContainers_LinkingResource->includes(b.resourceContainer_AllocationContext)&#xD;&#xA;     )&#xD;&#xA;  ))"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <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="targetResourceEnvironment_Allocation"
          ordered="false" eType="#//resourceenvironment_pc_av/ResourceEnvironment"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="system_Allocation" ordered="false"
          eType="#//system_pc_av/System"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="allocationContexts_Allocation"
          ordered="false" upperBound="-1" eType="#//allocation_pc_av/AllocationContext"
          containment="true" eOpposite="#//allocation_pc_av/AllocationContext/allocation_AllocationContext"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="subsystem_pc_av" nsURI="http://sdq.ipd.uka.de/PalladioComponentModel/SubSystem/5.0_pointcut_advice"
      nsPrefix="subsystem_pc_av">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Package capturing the subsystem entity"/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="SubSystem" eSuperTypes="#//core_pc_av/entity_pc_av/ComposedProvidingRequiringEntity #//repository_pc_av/RepositoryComponent">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A SubSystem is structually comparable to a CompositeComponent. The major difference is the white-blox 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).&#xD;&#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.&#xD;&#xA;&#xD;&#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.&#xD;&#xA;&#xD;&#xA;Remark 2: Structurally, SubSytem can be converted into CompositeComponents and vice versa.&#xD;&#xA;&#xD;&#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>
  </eSubpackages>
  <eSubpackages name="completions_pc_av" nsURI="http://sdq.ipd.uka.de/Completions/1.0_pointcut_advice"
      nsPrefix="completions_pc_av">
    <eClassifiers xsi:type="ecore:EClass" name="Completion" eSuperTypes="#//core_pc_av/entity_pc_av/ComposedProvidingRequiringEntity #//repository_pc_av/ImplementationComponentType"/>
    <eClassifiers xsi:type="ecore:EClass" name="CompletionRepository">
      <eStructuralFeatures xsi:type="ecore:EReference" name="completions_CompletionRepository"
          ordered="false" upperBound="-1" eType="#//completions_pc_av/Completion"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DelegatingExternalCallAction" eSuperTypes="#//seff_pc_av/ExternalCallAction"/>
    <eClassifiers xsi:type="ecore:EClass" name="NetworkDemandParametricResourceDemand"
        eSuperTypes="#//seff_pc_av/seff_performance_pc_av/ParametricResourceDemand">
      <eStructuralFeatures xsi:type="ecore:EReference" name="requiredCommunicationLinkResource_ParametricResourceDemand"
          ordered="false" eType="#//resourcetype_pc_av/CommunicationLinkResourceType"/>
    </eClassifiers>
  </eSubpackages>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"de.uka.ipd.sdq.pcm_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/5.0_pointcut_advice","name":"pcm_pc_av","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DummyClass","instanceClass":null,"abstract":false,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Pointcut","instanceClass":null,"abstract":false,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Advice","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"GlobalScope","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PerJoinPointScope","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"nsPrefix":"core_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/Core/5.0_pointcut_advice","name":"core_pc_av","id":6,"eClass":"EPackage"},{"nsPrefix":"usagemodel_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/UsageModel/5.0_pointcut_advice","name":"usagemodel_pc_av","id":7,"eClass":"EPackage"},{"nsPrefix":"repository_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/Repository/5.0_pointcut_advice","name":"repository_pc_av","id":8,"eClass":"EPackage"},{"nsPrefix":"resourcetype_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/ResourceType/5.0_pointcut_advice","name":"resourcetype_pc_av","id":9,"eClass":"EPackage"},{"nsPrefix":"protocol_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/Protocol/5.0_pointcut_advice","name":"protocol_pc_av","id":10,"eClass":"EPackage"},{"nsPrefix":"parameter_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/Parameter/5.0_pointcut_advice","name":"parameter_pc_av","id":11,"eClass":"EPackage"},{"nsPrefix":"reliability_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/Reliability/5.0_pointcut_advice","name":"reliability_pc_av","id":12,"eClass":"EPackage"},{"nsPrefix":"seff_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/SEFF/5.0_pointcut_advice","name":"seff_pc_av","id":13,"eClass":"EPackage"},{"nsPrefix":"qosannotations_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/QoSAnnotations/5.0_pointcut_advice","name":"qosannotations_pc_av","id":14,"eClass":"EPackage"},{"nsPrefix":"system_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/System/5.0_pointcut_advice","name":"system_pc_av","id":15,"eClass":"EPackage"},{"nsPrefix":"resourceenvironment_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/ResourceEnvironment/5.0_pointcut_advice","name":"resourceenvironment_pc_av","id":16,"eClass":"EPackage"},{"nsPrefix":"allocation_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/Allocation/5.0_pointcut_advice","name":"allocation_pc_av","id":17,"eClass":"EPackage"},{"nsPrefix":"subsystem_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/SubSystem/5.0_pointcut_advice","name":"subsystem_pc_av","id":18,"eClass":"EPackage"},{"nsPrefix":"completions_pc_av","nsURI":"http://sdq.ipd.uka.de/Completions/1.0_pointcut_advice","name":"completions_pc_av","id":19,"eClass":"EPackage"},{"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":"children","changeable":true,"resolveProxies":true,"lowerBound":0,"id":20,"derived":false},{"id":21,"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":"children","changeable":true,"resolveProxies":true,"lowerBound":0,"id":22,"derived":false},{"id":23,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"scopedObject","changeable":true,"resolveProxies":true,"lowerBound":1,"id":24,"derived":false},{"id":25,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"scopedObject","changeable":true,"resolveProxies":true,"lowerBound":1,"id":26,"derived":false},{"id":27,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PCMRandomVariable","instanceClass":null,"abstract":false,"id":28,"interface":false,"eClass":"EClass"},{"nsPrefix":"entity_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/Core/Entity/5.0_pointcut_advice","name":"entity_pc_av","id":29,"eClass":"EPackage"},{"nsPrefix":"composition_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/Core/Composition/5.0_pointcut_advice","name":"composition_pc_av","id":30,"eClass":"EPackage"},{"ordered":true,"upperBound":1,"unique":true,"name":"SpecificationMustNotBeNULL","lowerBound":0,"id":31,"many":false,"required":false,"eClass":"EOperation"},{"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":"closedWorkload_PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":32,"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":"passiveResource_capacity_PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":33,"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":"variableCharacterisation_Specification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":34,"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":"infrastructureCall__PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":35,"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":"resourceCall__PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":36,"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":"parametricResourceDemand_PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":37,"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":"loopAction_PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":38,"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":"guardedBranchTransition_PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":39,"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":"specifiedExecutionTime_PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":40,"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":"eventChannelSinkConnector__FilterCondition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":41,"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":"assemblyEventConnector__FilterCondition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":42,"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":"loop_LoopIteration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":43,"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":"openWorkload_PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"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":"delay_TimeSpecification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":45,"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":"communicationLinkResourceSpecifcation_throughput_PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":46,"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":"processingResourceSpecification_processingRate_PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":47,"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":"communicationLinkResourceSpecification_latency_PCMRandomVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":48,"derived":false},{"id":49,"eClass":"EGenericType"},{"id":50,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":51,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":52,"many":false,"required":false,"eClass":"EParameter"},{"id":53,"eClass":"EGenericType"},{"id":54,"eClass":"EGenericType"},{"id":55,"eClass":"EGenericType"},{"id":56,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ClosedWorkload","instanceClass":null,"abstract":false,"id":57,"interface":false,"eClass":"EClass"},{"id":58,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"thinkTime_ClosedWorkload","changeable":true,"resolveProxies":true,"lowerBound":0,"id":59,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PassiveResource","instanceClass":null,"abstract":false,"id":60,"interface":false,"eClass":"EClass"},{"id":61,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"capacity_PassiveResource","changeable":true,"resolveProxies":true,"lowerBound":0,"id":62,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VariableCharacterisation","instanceClass":null,"abstract":false,"id":63,"interface":false,"eClass":"EClass"},{"id":64,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"specification_VariableCharacterisation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":65,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InfrastructureCall","instanceClass":null,"abstract":false,"id":66,"interface":false,"eClass":"EClass"},{"id":67,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"numberOfCalls__InfrastructureCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":68,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceCall","instanceClass":null,"abstract":false,"id":69,"interface":false,"eClass":"EClass"},{"id":70,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"numberOfCalls__ResourceCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":71,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ParametricResourceDemand","instanceClass":null,"abstract":false,"id":72,"interface":false,"eClass":"EClass"},{"id":73,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"specification_ParametericResourceDemand","changeable":true,"resolveProxies":true,"lowerBound":0,"id":74,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LoopAction","instanceClass":null,"abstract":false,"id":75,"interface":false,"eClass":"EClass"},{"id":76,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"iterationCount_LoopAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":77,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"GuardedBranchTransition","instanceClass":null,"abstract":false,"id":78,"interface":false,"eClass":"EClass"},{"id":79,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"branchCondition_GuardedBranchTransition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":80,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SpecifiedExecutionTime","instanceClass":null,"abstract":false,"id":81,"interface":false,"eClass":"EClass"},{"id":82,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"specification_SpecifiedExecutionTime","changeable":true,"resolveProxies":true,"lowerBound":0,"id":83,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EventChannelSinkConnector","instanceClass":null,"abstract":false,"id":84,"interface":false,"eClass":"EClass"},{"id":85,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"filterCondition__EventChannelSinkConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":86,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssemblyEventConnector","instanceClass":null,"abstract":false,"id":87,"interface":false,"eClass":"EClass"},{"id":88,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"filterCondition__AssemblyEventConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":89,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Loop","instanceClass":null,"abstract":false,"id":90,"interface":false,"eClass":"EClass"},{"id":91,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"loopIteration_Loop","changeable":true,"resolveProxies":true,"lowerBound":0,"id":92,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OpenWorkload","instanceClass":null,"abstract":false,"id":93,"interface":false,"eClass":"EClass"},{"id":94,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"interArrivalTime_OpenWorkload","changeable":true,"resolveProxies":true,"lowerBound":0,"id":95,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Delay","instanceClass":null,"abstract":false,"id":96,"interface":false,"eClass":"EClass"},{"id":97,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"timeSpecification_Delay","changeable":true,"resolveProxies":true,"lowerBound":0,"id":98,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CommunicationLinkResourceSpecification","instanceClass":null,"abstract":false,"id":99,"interface":false,"eClass":"EClass"},{"id":100,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"throughput_CommunicationLinkResourceSpecification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":101,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProcessingResourceSpecification","instanceClass":null,"abstract":false,"id":102,"interface":false,"eClass":"EClass"},{"id":103,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"processingRate_ProcessingResourceSpecification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":104,"derived":false},{"id":105,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"latency_CommunicationLinkResourceSpecification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":106,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceProvidedRole","instanceClass":null,"abstract":false,"id":107,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InterfaceProvidingRequiringEntity","instanceClass":null,"abstract":false,"id":108,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InterfaceProvidingEntity","instanceClass":null,"abstract":false,"id":109,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InterfaceRequiringEntity","instanceClass":null,"abstract":false,"id":110,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceInterfaceRequiringEntity","instanceClass":null,"abstract":false,"id":111,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceRequiredRole","instanceClass":null,"abstract":false,"id":112,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceInterfaceProvidingEntity","instanceClass":null,"abstract":false,"id":113,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ComposedProvidingRequiringEntity","instanceClass":null,"abstract":false,"id":114,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NamedElement","instanceClass":null,"abstract":false,"id":115,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceInterfaceProvidingRequiringEntity","instanceClass":null,"abstract":false,"id":116,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Entity","instanceClass":null,"abstract":false,"id":117,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Role","instanceClass":null,"abstract":false,"id":118,"interface":false,"eClass":"EClass"},{"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":"resourceInterfaceProvidingEntity__ResourceProvidedRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":119,"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":"providedResourceInterface__ResourceProvidedRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":120,"derived":false},{"id":121,"eClass":"EGenericType"},{"id":122,"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":"resourceProvidedRoles__ResourceInterfaceProvidingEntity","changeable":true,"resolveProxies":true,"lowerBound":0,"id":123,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceInterface","instanceClass":null,"abstract":false,"id":124,"interface":false,"eClass":"EClass"},{"id":125,"eClass":"EGenericType"},{"id":126,"eClass":"EGenericType"},{"id":127,"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_InterfaceProvidingEntity","changeable":true,"resolveProxies":true,"lowerBound":0,"id":128,"derived":false},{"id":129,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProvidedRole","instanceClass":null,"abstract":false,"id":130,"interface":false,"eClass":"EClass"},{"id":131,"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":"providingEntity_ProvidedRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":132,"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":"requiredRoles_InterfaceRequiringEntity","changeable":true,"resolveProxies":true,"lowerBound":0,"id":133,"derived":false},{"id":134,"eClass":"EGenericType"},{"id":135,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RequiredRole","instanceClass":null,"abstract":false,"id":136,"interface":false,"eClass":"EClass"},{"id":137,"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":"requiringEntity_RequiredRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":138,"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":"resourceRequiredRoles__ResourceInterfaceRequiringEntity","changeable":true,"resolveProxies":true,"lowerBound":0,"id":139,"derived":false},{"id":140,"eClass":"EGenericType"},{"id":141,"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":"resourceInterfaceRequiringEntity__ResourceRequiredRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":142,"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":"requiredResourceInterface__ResourceRequiredRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":143,"derived":false},{"id":144,"eClass":"EGenericType"},{"id":145,"eClass":"EGenericType"},{"id":146,"eClass":"EGenericType"},{"id":147,"eClass":"EGenericType"},{"id":148,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ComposedStructure","instanceClass":null,"abstract":false,"id":149,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"ProvidedRolesMustBeBound","lowerBound":0,"id":150,"many":false,"required":false,"eClass":"EOperation"},{"id":151,"eClass":"EGenericType"},{"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"},{"ordered":false,"upperBound":1,"defaultValue":"aName","volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"aName","unsettable":false,"transient":false,"unique":true,"name":"entityName","changeable":true,"lowerBound":1,"iD":false,"id":160,"derived":false},{"id":161,"eClass":"EGenericType"},{"id":162,"eClass":"EGenericType"},{"id":163,"eClass":"EGenericType"},{"id":164,"eClass":"EGenericType"},{"id":165,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DelegationConnector","instanceClass":null,"abstract":false,"id":166,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Connector","instanceClass":null,"abstract":false,"id":167,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceRequiredDelegationConnector","instanceClass":null,"abstract":false,"id":168,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EventChannel","instanceClass":null,"abstract":false,"id":169,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EventChannelSourceConnector","instanceClass":null,"abstract":false,"id":170,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProvidedDelegationConnector","instanceClass":null,"abstract":false,"id":171,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RequiredDelegationConnector","instanceClass":null,"abstract":false,"id":172,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssemblyConnector","instanceClass":null,"abstract":false,"id":173,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SourceDelegationConnector","instanceClass":null,"abstract":false,"id":174,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SinkDelegationConnector","instanceClass":null,"abstract":false,"id":175,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssemblyInfrastructureConnector","instanceClass":null,"abstract":false,"id":176,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProvidedInfrastructureDelegationConnector","instanceClass":null,"abstract":false,"id":177,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RequiredInfrastructureDelegationConnector","instanceClass":null,"abstract":false,"id":178,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RequiredResourceDelegationConnector","instanceClass":null,"abstract":false,"id":179,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssemblyContext","instanceClass":null,"abstract":false,"id":180,"interface":false,"eClass":"EClass"},{"id":181,"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":"parentStructure__Connector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":182,"derived":false},{"id":183,"eClass":"EGenericType"},{"id":184,"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__ComposedStructure","changeable":true,"resolveProxies":true,"lowerBound":0,"id":185,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"MultipleConnectorsConstraint","lowerBound":0,"id":186,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"MultipleConnectorsConstraintForAssemblyConnectors","lowerBound":0,"id":187,"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__ComposedStructure","changeable":true,"resolveProxies":true,"lowerBound":0,"id":188,"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":"resourceRequiredDelegationConnectors_ComposedStructure","changeable":true,"resolveProxies":true,"lowerBound":0,"id":189,"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":"eventChannel__ComposedStructure","changeable":true,"resolveProxies":true,"lowerBound":0,"id":190,"derived":false},{"id":191,"eClass":"EGenericType"},{"id":192,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":193,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":194,"many":false,"required":false,"eClass":"EParameter"},{"id":195,"eClass":"EGenericType"},{"id":196,"eClass":"EGenericType"},{"id":197,"eClass":"EGenericType"},{"id":198,"eClass":"EGenericType"},{"id":199,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":200,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":201,"many":false,"required":false,"eClass":"EParameter"},{"id":202,"eClass":"EGenericType"},{"id":203,"eClass":"EGenericType"},{"id":204,"eClass":"EGenericType"},{"id":205,"eClass":"EGenericType"},{"id":206,"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":"parentStructure__AssemblyContext","changeable":true,"resolveProxies":true,"lowerBound":0,"id":207,"derived":false},{"id":208,"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":"parentStructure_ResourceRequiredDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":209,"derived":false},{"id":210,"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":"parentStructure__EventChannel","changeable":true,"resolveProxies":true,"lowerBound":0,"id":211,"derived":false},{"id":212,"eClass":"EGenericType"},{"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":"innerResourceRequiredRole_ResourceRequiredDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":213,"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":"outerResourceRequiredRole_ResourceRequiredDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":214,"derived":false},{"id":215,"eClass":"EGenericType"},{"id":216,"eClass":"EGenericType"},{"id":217,"eClass":"EGenericType"},{"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":"eventGroup__EventChannel","changeable":true,"resolveProxies":true,"lowerBound":0,"id":218,"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":"eventChannelSourceConnector__EventChannel","changeable":true,"resolveProxies":true,"lowerBound":0,"id":219,"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":"eventChannelSinkConnector__EventChannel","changeable":true,"resolveProxies":true,"lowerBound":0,"id":220,"derived":false},{"id":221,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EventGroup","instanceClass":null,"abstract":false,"id":222,"interface":false,"eClass":"EClass"},{"id":223,"eClass":"EGenericType"},{"id":224,"eClass":"EGenericType"},{"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":"eventChannel__EventChannelSourceConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":225,"derived":false},{"id":226,"eClass":"EGenericType"},{"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":"eventChannel__EventChannelSinkConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":227,"derived":false},{"id":228,"eClass":"EGenericType"},{"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":"sourceRole__EventChannelSourceRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":229,"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":"assemblyContext__EventChannelSourceConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":230,"derived":false},{"id":231,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SourceRole","instanceClass":null,"abstract":false,"id":232,"interface":false,"eClass":"EClass"},{"id":233,"eClass":"EGenericType"},{"id":234,"eClass":"EGenericType"},{"id":235,"eClass":"EGenericType"},{"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":"sinkRole__EventChannelSinkConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":236,"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":"assemblyContext__EventChannelSinkConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":237,"derived":false},{"id":238,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SinkRole","instanceClass":null,"abstract":false,"id":239,"interface":false,"eClass":"EClass"},{"id":240,"eClass":"EGenericType"},{"id":241,"eClass":"EGenericType"},{"id":242,"eClass":"EGenericType"},{"id":243,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"ProvidedDelegationConnectorandtheconnectedComponentmustbepartofthesamecompositestructure","lowerBound":0,"id":244,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ComponentOfAssemblyContextAndInnerRoleProvidingComponentNeedToBeTheSame","lowerBound":0,"id":245,"many":false,"required":false,"eClass":"EOperation"},{"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":"innerProvidedRole_ProvidedDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":246,"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":"outerProvidedRole_ProvidedDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":247,"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":"assemblyContext_ProvidedDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":248,"derived":false},{"id":249,"eClass":"EGenericType"},{"id":250,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":251,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":252,"many":false,"required":false,"eClass":"EParameter"},{"id":253,"eClass":"EGenericType"},{"id":254,"eClass":"EGenericType"},{"id":255,"eClass":"EGenericType"},{"id":256,"eClass":"EGenericType"},{"id":257,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":258,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":259,"many":false,"required":false,"eClass":"EParameter"},{"id":260,"eClass":"EGenericType"},{"id":261,"eClass":"EGenericType"},{"id":262,"eClass":"EGenericType"},{"id":263,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OperationProvidedRole","instanceClass":null,"abstract":false,"id":264,"interface":false,"eClass":"EClass"},{"id":265,"eClass":"EGenericType"},{"id":266,"eClass":"EGenericType"},{"id":267,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"RequiredDelegationConnectorandtheconnectedComponentmustbepartofthesamecompositestructure","lowerBound":0,"id":268,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ComponentOfAssemblyContextAndInnerRoleRequiringComponentNeedToBeTheSame","lowerBound":0,"id":269,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"RequiringEntityOfOuterRequiredRoleMustBeTheSameAsTheParentOfTheRequiredDelegationConnector","lowerBound":0,"id":270,"many":false,"required":false,"eClass":"EOperation"},{"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":"innerRequiredRole_RequiredDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":271,"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":"outerRequiredRole_RequiredDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":272,"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":"assemblyContext_RequiredDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":273,"derived":false},{"id":274,"eClass":"EGenericType"},{"id":275,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":276,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":277,"many":false,"required":false,"eClass":"EParameter"},{"id":278,"eClass":"EGenericType"},{"id":279,"eClass":"EGenericType"},{"id":280,"eClass":"EGenericType"},{"id":281,"eClass":"EGenericType"},{"id":282,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":283,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":284,"many":false,"required":false,"eClass":"EParameter"},{"id":285,"eClass":"EGenericType"},{"id":286,"eClass":"EGenericType"},{"id":287,"eClass":"EGenericType"},{"id":288,"eClass":"EGenericType"},{"id":289,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":290,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":291,"many":false,"required":false,"eClass":"EParameter"},{"id":292,"eClass":"EGenericType"},{"id":293,"eClass":"EGenericType"},{"id":294,"eClass":"EGenericType"},{"id":295,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OperationRequiredRole","instanceClass":null,"abstract":false,"id":296,"interface":false,"eClass":"EClass"},{"id":297,"eClass":"EGenericType"},{"id":298,"eClass":"EGenericType"},{"id":299,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"AssemblyConnectorsReferencedProvidedRolesAndChildContextMustMatch","lowerBound":0,"id":300,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"AssemblyConnectorsReferencedRequiredRoleAndChildContextMustMatch","lowerBound":0,"id":301,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"AssemblyConnectorsReferencedInterfacesMustMatch","lowerBound":0,"id":302,"many":false,"required":false,"eClass":"EOperation"},{"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":"requiringAssemblyContext_AssemblyConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":303,"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":"providingAssemblyContext_AssemblyConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":304,"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":"providedRole_AssemblyConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":305,"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":"requiredRole_AssemblyConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":306,"derived":false},{"id":307,"eClass":"EGenericType"},{"id":308,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":309,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":310,"many":false,"required":false,"eClass":"EParameter"},{"id":311,"eClass":"EGenericType"},{"id":312,"eClass":"EGenericType"},{"id":313,"eClass":"EGenericType"},{"id":314,"eClass":"EGenericType"},{"id":315,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":316,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":317,"many":false,"required":false,"eClass":"EParameter"},{"id":318,"eClass":"EGenericType"},{"id":319,"eClass":"EGenericType"},{"id":320,"eClass":"EGenericType"},{"id":321,"eClass":"EGenericType"},{"id":322,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":323,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":324,"many":false,"required":false,"eClass":"EParameter"},{"id":325,"eClass":"EGenericType"},{"id":326,"eClass":"EGenericType"},{"id":327,"eClass":"EGenericType"},{"id":328,"eClass":"EGenericType"},{"id":329,"eClass":"EGenericType"},{"id":330,"eClass":"EGenericType"},{"id":331,"eClass":"EGenericType"},{"id":332,"eClass":"EGenericType"},{"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":"sinkRole__AssemblyEventConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":333,"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":"sourceRole__AssemblyEventConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":334,"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":"sinkAssemblyContext__AssemblyEventConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":335,"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":"sourceAssemblyContext__AssemblyEventConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":336,"derived":false},{"id":337,"eClass":"EGenericType"},{"id":338,"eClass":"EGenericType"},{"id":339,"eClass":"EGenericType"},{"id":340,"eClass":"EGenericType"},{"id":341,"eClass":"EGenericType"},{"id":342,"eClass":"EGenericType"},{"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":"innerSourceRole__SourceRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":343,"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":"outerSourceRole__SourceRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":344,"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":"assemblyContext__SourceDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":345,"derived":false},{"id":346,"eClass":"EGenericType"},{"id":347,"eClass":"EGenericType"},{"id":348,"eClass":"EGenericType"},{"id":349,"eClass":"EGenericType"},{"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":"assemblyContext__SinkDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":350,"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":"innerSinkRole__SinkRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":351,"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":"outerSinkRole__SinkRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":352,"derived":false},{"id":353,"eClass":"EGenericType"},{"id":354,"eClass":"EGenericType"},{"id":355,"eClass":"EGenericType"},{"id":356,"eClass":"EGenericType"},{"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":"providedRole__AssemblyInfrastructureConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":357,"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":"requiredRole__AssemblyInfrastructureConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":358,"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":"providingAssemblyContext__AssemblyInfrastructureConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":359,"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":"requiringAssemblyContext__AssemblyInfrastructureConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":360,"derived":false},{"id":361,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InfrastructureProvidedRole","instanceClass":null,"abstract":false,"id":362,"interface":false,"eClass":"EClass"},{"id":363,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InfrastructureRequiredRole","instanceClass":null,"abstract":false,"id":364,"interface":false,"eClass":"EClass"},{"id":365,"eClass":"EGenericType"},{"id":366,"eClass":"EGenericType"},{"id":367,"eClass":"EGenericType"},{"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":"innerProvidedRole__ProvidedInfrastructureDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":368,"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":"outerProvidedRole__ProvidedInfrastructureDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":369,"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":"assemblyContext__ProvidedInfrastructureDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":370,"derived":false},{"id":371,"eClass":"EGenericType"},{"id":372,"eClass":"EGenericType"},{"id":373,"eClass":"EGenericType"},{"id":374,"eClass":"EGenericType"},{"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":"innerRequiredRole__RequiredInfrastructureDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":375,"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":"outerRequiredRole__RequiredInfrastructureDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":376,"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":"assemblyContext__RequiredInfrastructureDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":377,"derived":false},{"id":378,"eClass":"EGenericType"},{"id":379,"eClass":"EGenericType"},{"id":380,"eClass":"EGenericType"},{"id":381,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"assemblyContext__RequiredResourceDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":382,"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":"innerRequiredRole__RequiredResourceDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":383,"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":"outerRequiredRole__RequiredResourceDelegationConnector","changeable":true,"resolveProxies":true,"lowerBound":0,"id":384,"derived":false},{"id":385,"eClass":"EGenericType"},{"id":386,"eClass":"EGenericType"},{"id":387,"eClass":"EGenericType"},{"id":388,"eClass":"EGenericType"},{"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":"encapsulatedComponent__AssemblyContext","changeable":true,"resolveProxies":true,"lowerBound":0,"id":389,"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":"configParameterUsages__AssemblyContext","changeable":true,"resolveProxies":true,"lowerBound":0,"id":390,"derived":false},{"id":391,"eClass":"EGenericType"},{"id":392,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RepositoryComponent","instanceClass":null,"abstract":false,"id":393,"interface":false,"eClass":"EClass"},{"id":394,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VariableUsage","instanceClass":null,"abstract":false,"id":395,"interface":false,"eClass":"EClass"},{"id":396,"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":"assemblyContext__VariableUsage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":397,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Workload","instanceClass":null,"abstract":false,"id":398,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UsageScenario","instanceClass":null,"abstract":false,"id":399,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UserData","instanceClass":null,"abstract":false,"id":400,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UsageModel","instanceClass":null,"abstract":false,"id":401,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EntryLevelSystemCall","instanceClass":null,"abstract":false,"id":402,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AbstractUserAction","instanceClass":null,"abstract":false,"id":403,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ScenarioBehaviour","instanceClass":null,"abstract":false,"id":404,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BranchTransition","instanceClass":null,"abstract":false,"id":405,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Branch","instanceClass":null,"abstract":false,"id":406,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Stop","instanceClass":null,"abstract":false,"id":407,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Start","instanceClass":null,"abstract":false,"id":408,"interface":false,"eClass":"EClass"},{"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":"usageScenario_Workload","changeable":true,"resolveProxies":true,"lowerBound":0,"id":409,"derived":false},{"id":410,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"workload_UsageScenario","changeable":true,"resolveProxies":true,"lowerBound":0,"id":411,"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":"usageModel_UsageScenario","changeable":true,"resolveProxies":true,"lowerBound":0,"id":412,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"scenarioBehaviour_UsageScenario","changeable":true,"resolveProxies":true,"lowerBound":0,"id":413,"derived":false},{"id":414,"eClass":"EGenericType"},{"id":415,"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":"usageScenario_UsageModel","changeable":true,"resolveProxies":true,"lowerBound":0,"id":416,"derived":false},{"id":417,"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":"usageScenario_SenarioBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":418,"derived":false},{"id":419,"eClass":"EGenericType"},{"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":"assemblyContext_userData","changeable":true,"resolveProxies":true,"lowerBound":0,"id":420,"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":"usageModel_UserData","changeable":true,"resolveProxies":true,"lowerBound":0,"id":421,"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":"userDataParameterUsages_UserData","changeable":true,"resolveProxies":true,"lowerBound":0,"id":422,"derived":false},{"id":423,"eClass":"EGenericType"},{"id":424,"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":"userData_UsageModel","changeable":true,"resolveProxies":true,"lowerBound":0,"id":425,"derived":false},{"id":426,"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":"userData_VariableUsage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":427,"derived":false},{"id":428,"eClass":"EGenericType"},{"id":429,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"EntryLevelSystemCallMustReferenceProvidedRoleOfASystem","lowerBound":0,"id":430,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"EntryLevelSystemCallSignatureMustMatchItsProvidedRole","lowerBound":0,"id":431,"many":false,"required":false,"eClass":"EOperation"},{"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":"providedRole_EntryLevelSystemCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":432,"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":"operationSignature__EntryLevelSystemCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":433,"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":"outputParameterUsages_EntryLevelSystemCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":434,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"priority","changeable":true,"lowerBound":1,"iD":false,"id":435,"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":"inputParameterUsages_EntryLevelSystemCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":436,"derived":false},{"id":437,"eClass":"EGenericType"},{"id":438,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":439,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":440,"many":false,"required":false,"eClass":"EParameter"},{"id":441,"eClass":"EGenericType"},{"id":442,"eClass":"EGenericType"},{"id":443,"eClass":"EGenericType"},{"id":444,"eClass":"EGenericType"},{"id":445,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":446,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":447,"many":false,"required":false,"eClass":"EParameter"},{"id":448,"eClass":"EGenericType"},{"id":449,"eClass":"EGenericType"},{"id":450,"eClass":"EGenericType"},{"id":451,"eClass":"EGenericType"},{"id":452,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OperationSignature","instanceClass":null,"abstract":false,"id":453,"interface":false,"eClass":"EClass"},{"id":454,"eClass":"EGenericType"},{"id":455,"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":"entryLevelSystemCall_OutputParameterUsage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":456,"derived":false},{"id":457,"eClass":"EGenericType"},{"id":458,"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":"entryLevelSystemCall_InputParameterUsage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":459,"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":460,"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":461,"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":"scenarioBehaviour_AbstractUserAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":462,"derived":false},{"id":463,"eClass":"EGenericType"},{"id":464,"eClass":"EGenericType"},{"id":465,"eClass":"EGenericType"},{"id":466,"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":"actions_ScenarioBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":467,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"Exactlyonestart","lowerBound":0,"id":468,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"Exactlyonestop","lowerBound":0,"id":469,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"EachuseractionexceptStartandStopmusthaveapredecessorandsuccessor","lowerBound":0,"id":470,"many":false,"required":false,"eClass":"EOperation"},{"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":"branchTransition_ScenarioBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":471,"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":"loop_ScenarioBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":472,"derived":false},{"id":473,"eClass":"EGenericType"},{"id":474,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":475,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":476,"many":false,"required":false,"eClass":"EParameter"},{"id":477,"eClass":"EGenericType"},{"id":478,"eClass":"EGenericType"},{"id":479,"eClass":"EGenericType"},{"id":480,"eClass":"EGenericType"},{"id":481,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":482,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":483,"many":false,"required":false,"eClass":"EParameter"},{"id":484,"eClass":"EGenericType"},{"id":485,"eClass":"EGenericType"},{"id":486,"eClass":"EGenericType"},{"id":487,"eClass":"EGenericType"},{"id":488,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":489,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":490,"many":false,"required":false,"eClass":"EParameter"},{"id":491,"eClass":"EGenericType"},{"id":492,"eClass":"EGenericType"},{"id":493,"eClass":"EGenericType"},{"id":494,"eClass":"EGenericType"},{"id":495,"eClass":"EGenericType"},{"id":496,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"branchedBehaviour_BranchTransition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":497,"derived":false},{"id":498,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bodyBehaviour_Loop","changeable":true,"resolveProxies":true,"lowerBound":0,"id":499,"derived":false},{"id":500,"eClass":"EGenericType"},{"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":501,"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":"branch_BranchTransition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":502,"derived":false},{"id":503,"eClass":"EGenericType"},{"id":504,"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_Branch","changeable":true,"resolveProxies":true,"lowerBound":0,"id":505,"derived":false},{"id":506,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"AllBranchProbabilitiesMustSumUpTo1","lowerBound":0,"id":507,"many":false,"required":false,"eClass":"EOperation"},{"id":508,"eClass":"EGenericType"},{"id":509,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":510,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":511,"many":false,"required":false,"eClass":"EParameter"},{"id":512,"eClass":"EGenericType"},{"id":513,"eClass":"EGenericType"},{"id":514,"eClass":"EGenericType"},{"id":515,"eClass":"EGenericType"},{"id":516,"eClass":"EGenericType"},{"id":517,"eClass":"EGenericType"},{"id":518,"eClass":"EGenericType"},{"id":519,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"StopHasNoSuccessor","lowerBound":0,"id":520,"many":false,"required":false,"eClass":"EOperation"},{"id":521,"eClass":"EGenericType"},{"id":522,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":523,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":524,"many":false,"required":false,"eClass":"EParameter"},{"id":525,"eClass":"EGenericType"},{"id":526,"eClass":"EGenericType"},{"id":527,"eClass":"EGenericType"},{"id":528,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"StartHasNoPredecessor","lowerBound":0,"id":529,"many":false,"required":false,"eClass":"EOperation"},{"id":530,"eClass":"EGenericType"},{"id":531,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":532,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":533,"many":false,"required":false,"eClass":"EParameter"},{"id":534,"eClass":"EGenericType"},{"id":535,"eClass":"EGenericType"},{"id":536,"eClass":"EGenericType"},{"id":537,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"InterArrivalTimeInOpenWorkloadNeedsToBeSpecified","lowerBound":0,"id":538,"many":false,"required":false,"eClass":"EOperation"},{"id":539,"eClass":"EGenericType"},{"id":540,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":541,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":542,"many":false,"required":false,"eClass":"EParameter"},{"id":543,"eClass":"EGenericType"},{"id":544,"eClass":"EGenericType"},{"id":545,"eClass":"EGenericType"},{"id":546,"eClass":"EGenericType"},{"id":547,"eClass":"EGenericType"},{"id":548,"eClass":"EGenericType"},{"id":549,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"PopulationInClosedWorkloadNeedsToBeSpecified","lowerBound":0,"id":550,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ThinkTimeInClosedWorkloadNeedsToBeSpecified","lowerBound":0,"id":551,"many":false,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"population","changeable":true,"lowerBound":1,"iD":false,"id":552,"derived":false},{"id":553,"eClass":"EGenericType"},{"id":554,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":555,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":556,"many":false,"required":false,"eClass":"EParameter"},{"id":557,"eClass":"EGenericType"},{"id":558,"eClass":"EGenericType"},{"id":559,"eClass":"EGenericType"},{"id":560,"eClass":"EGenericType"},{"id":561,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":562,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":563,"many":false,"required":false,"eClass":"EParameter"},{"id":564,"eClass":"EGenericType"},{"id":565,"eClass":"EGenericType"},{"id":566,"eClass":"EGenericType"},{"id":567,"eClass":"EGenericType"},{"id":568,"eClass":"EGenericType"},{"id":569,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BasicComponent","instanceClass":null,"abstract":false,"id":570,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ImplementationComponentType","instanceClass":null,"abstract":false,"id":571,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Parameter","instanceClass":null,"abstract":false,"id":572,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DataType","instanceClass":null,"abstract":false,"id":573,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Repository","instanceClass":null,"abstract":false,"id":574,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Interface","instanceClass":null,"abstract":false,"id":575,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RequiredCharacterisation","instanceClass":null,"abstract":false,"id":576,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EventType","instanceClass":null,"abstract":false,"id":577,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Signature","instanceClass":null,"abstract":false,"id":578,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExceptionType","instanceClass":null,"abstract":false,"id":579,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InfrastructureSignature","instanceClass":null,"abstract":false,"id":580,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InfrastructureInterface","instanceClass":null,"abstract":false,"id":581,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OperationInterface","instanceClass":null,"abstract":false,"id":582,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"ParameterModifier","instanceClass":null,"id":583,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompleteComponentType","instanceClass":null,"abstract":false,"id":584,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProvidesComponentType","instanceClass":null,"abstract":false,"id":585,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"ComponentType","instanceClass":null,"id":586,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompositeComponent","instanceClass":null,"abstract":false,"id":587,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveDataType","instanceClass":null,"abstract":false,"id":588,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"PrimitiveTypeEnum","instanceClass":null,"id":589,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionDataType","instanceClass":null,"abstract":false,"id":590,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompositeDataType","instanceClass":null,"abstract":false,"id":591,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InnerDeclaration","instanceClass":null,"abstract":false,"id":592,"interface":false,"eClass":"EClass"},{"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":"basicComponent_PassiveResource","changeable":true,"resolveProxies":true,"lowerBound":0,"id":593,"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":"resourceTimeoutFailureType__PassiveResource","changeable":true,"resolveProxies":true,"lowerBound":0,"id":594,"derived":false},{"id":595,"eClass":"EGenericType"},{"id":596,"eClass":"EGenericType"},{"id":597,"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":"passiveResource_BasicComponent","changeable":true,"resolveProxies":true,"lowerBound":0,"id":598,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceTimeoutFailureType","instanceClass":null,"abstract":false,"id":599,"interface":false,"eClass":"EClass"},{"id":600,"eClass":"EGenericType"},{"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":"passiveResource__ResourceTimeoutFailureType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":601,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"NoSeffTypeUsedTwice","lowerBound":0,"id":602,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ProvideSameInterfacesAsImplementationType","lowerBound":0,"id":603,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"RequireSameInterfacesAsImplementationType","lowerBound":0,"id":604,"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":"serviceEffectSpecifications__BasicComponent","changeable":true,"resolveProxies":true,"lowerBound":0,"id":605,"derived":false},{"id":606,"eClass":"EGenericType"},{"id":607,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":608,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":609,"many":false,"required":false,"eClass":"EParameter"},{"id":610,"eClass":"EGenericType"},{"id":611,"eClass":"EGenericType"},{"id":612,"eClass":"EGenericType"},{"id":613,"eClass":"EGenericType"},{"id":614,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":615,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":616,"many":false,"required":false,"eClass":"EParameter"},{"id":617,"eClass":"EGenericType"},{"id":618,"eClass":"EGenericType"},{"id":619,"eClass":"EGenericType"},{"id":620,"eClass":"EGenericType"},{"id":621,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":622,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":623,"many":false,"required":false,"eClass":"EParameter"},{"id":624,"eClass":"EGenericType"},{"id":625,"eClass":"EGenericType"},{"id":626,"eClass":"EGenericType"},{"id":627,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ServiceEffectSpecification","instanceClass":null,"abstract":false,"id":628,"interface":false,"eClass":"EClass"},{"id":629,"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":"basicComponent_ServiceEffectSpecification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":630,"derived":false},{"id":631,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"RequiredInterfacesHaveToConformToCompleteType","lowerBound":0,"id":632,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"providedInterfacesHaveToConformToCompleteType","lowerBound":0,"id":633,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ProvidedInterfaceHaveToConformToComponentType","lowerBound":0,"id":634,"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":false,"unsettable":false,"transient":false,"unique":true,"name":"parentCompleteComponentTypes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":635,"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":"componentParameterUsage_ImplementationComponentType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":636,"derived":false},{"ordered":false,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"BUSINESS_COMPONENT","unsettable":false,"transient":false,"unique":true,"name":"componentType","changeable":true,"lowerBound":1,"iD":false,"id":637,"derived":false},{"id":638,"eClass":"EGenericType"},{"id":639,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":640,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":641,"many":false,"required":false,"eClass":"EParameter"},{"id":642,"eClass":"EGenericType"},{"id":643,"eClass":"EGenericType"},{"id":644,"eClass":"EGenericType"},{"id":645,"eClass":"EGenericType"},{"id":646,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":647,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":648,"many":false,"required":false,"eClass":"EParameter"},{"id":649,"eClass":"EGenericType"},{"id":650,"eClass":"EGenericType"},{"id":651,"eClass":"EGenericType"},{"id":652,"eClass":"EGenericType"},{"id":653,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":654,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":655,"many":false,"required":false,"eClass":"EParameter"},{"id":656,"eClass":"EGenericType"},{"id":657,"eClass":"EGenericType"},{"id":658,"eClass":"EGenericType"},{"id":659,"eClass":"EGenericType"},{"id":660,"eClass":"EGenericType"},{"id":661,"eClass":"EGenericType"},{"id":662,"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":"repository__RepositoryComponent","changeable":true,"resolveProxies":true,"lowerBound":0,"id":663,"derived":false},{"id":664,"eClass":"EGenericType"},{"id":665,"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__Repository","changeable":true,"resolveProxies":true,"lowerBound":0,"id":666,"derived":false},{"id":667,"eClass":"EGenericType"},{"id":668,"eClass":"EGenericType"},{"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":"dataType__Parameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":669,"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":"infrastructureSignature__Parameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":670,"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":"operationSignature__Parameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":671,"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":"eventType__Parameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":672,"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":"parameterName","changeable":true,"lowerBound":1,"iD":false,"id":673,"derived":false},{"ordered":false,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"modifier__Parameter","changeable":true,"lowerBound":1,"iD":false,"id":674,"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":"resourceSignature__Parameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":675,"derived":false},{"id":676,"eClass":"EGenericType"},{"id":677,"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":"parameters__InfrastructureSignature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":678,"derived":false},{"id":679,"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__OperationSignature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":680,"derived":false},{"id":681,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"parameter__EventType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":682,"derived":false},{"id":683,"eClass":"EGenericType"},{"id":684,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceSignature","instanceClass":null,"abstract":false,"id":685,"interface":false,"eClass":"EClass"},{"id":686,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"parameter__ResourceSignature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":687,"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":"repository__DataType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":688,"derived":false},{"id":689,"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__Repository","changeable":true,"resolveProxies":true,"lowerBound":0,"id":690,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":false,"name":"repositoryDescription","changeable":true,"lowerBound":0,"iD":false,"id":691,"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__Repository","changeable":true,"resolveProxies":true,"lowerBound":0,"id":692,"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":"failureTypes__Repository","changeable":true,"resolveProxies":true,"lowerBound":0,"id":693,"derived":false},{"id":694,"eClass":"EGenericType"},{"id":695,"eClass":"EGenericType"},{"id":696,"eClass":"EGenericType"},{"id":697,"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":"repository__Interface","changeable":true,"resolveProxies":true,"lowerBound":0,"id":698,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FailureType","instanceClass":null,"abstract":false,"id":699,"interface":false,"eClass":"EClass"},{"id":700,"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":"repository__FailureType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":701,"derived":false},{"id":702,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"NoProtocolTypeIDUsedTwice","lowerBound":0,"id":703,"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":false,"unsettable":false,"transient":false,"unique":true,"name":"parentInterfaces__Interface","changeable":true,"resolveProxies":true,"lowerBound":0,"id":704,"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":"protocols__Interface","changeable":true,"resolveProxies":true,"lowerBound":0,"id":705,"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":"requiredCharacterisations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":706,"derived":false},{"id":707,"eClass":"EGenericType"},{"id":708,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":709,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":710,"many":false,"required":false,"eClass":"EParameter"},{"id":711,"eClass":"EGenericType"},{"id":712,"eClass":"EGenericType"},{"id":713,"eClass":"EGenericType"},{"id":714,"eClass":"EGenericType"},{"id":715,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Protocol","instanceClass":null,"abstract":false,"id":716,"interface":false,"eClass":"EClass"},{"id":717,"eClass":"EGenericType"},{"id":718,"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":"interface_RequiredCharacterisation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":719,"derived":false},{"id":720,"eClass":"EGenericType"},{"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":721,"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":"parameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":722,"derived":false},{"instanceTypeName":null,"instanceClassName":null,"name":"VariableCharacterisationType","instanceClass":null,"id":723,"serializable":true,"eClass":"EEnum"},{"id":724,"eClass":"EGenericType"},{"id":725,"eClass":"EGenericType"},{"id":726,"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":"eventTypes__EventGroup","changeable":true,"resolveProxies":true,"lowerBound":0,"id":727,"derived":false},{"id":728,"eClass":"EGenericType"},{"id":729,"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":"eventGroup__EventType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":730,"derived":false},{"id":731,"eClass":"EGenericType"},{"id":732,"eClass":"EGenericType"},{"id":733,"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":"exceptions__Signature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":734,"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":"failureType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":735,"derived":false},{"id":736,"eClass":"EGenericType"},{"id":737,"eClass":"EGenericType"},{"id":738,"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":"exceptionName","changeable":true,"lowerBound":1,"iD":false,"id":739,"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":"exceptionMessage","changeable":true,"lowerBound":1,"iD":false,"id":740,"derived":false},{"id":741,"eClass":"EGenericType"},{"id":742,"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":"infrastructureInterface__InfrastructureSignature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":743,"derived":false},{"id":744,"eClass":"EGenericType"},{"id":745,"eClass":"EGenericType"},{"id":746,"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":"infrastructureSignatures__InfrastructureInterface","changeable":true,"resolveProxies":true,"lowerBound":0,"id":747,"derived":false},{"id":748,"eClass":"EGenericType"},{"id":749,"eClass":"EGenericType"},{"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":"requiredInterface__InfrastructureRequiredRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":750,"derived":false},{"id":751,"eClass":"EGenericType"},{"id":752,"eClass":"EGenericType"},{"id":753,"eClass":"EGenericType"},{"id":754,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"ParameterNamesHaveToBeUniqueForASignature","lowerBound":0,"id":755,"many":false,"required":false,"eClass":"EOperation"},{"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":"interface__OperationSignature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":756,"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__OperationSignature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":757,"derived":false},{"id":758,"eClass":"EGenericType"},{"id":759,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":760,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":761,"many":false,"required":false,"eClass":"EParameter"},{"id":762,"eClass":"EGenericType"},{"id":763,"eClass":"EGenericType"},{"id":764,"eClass":"EGenericType"},{"id":765,"eClass":"EGenericType"},{"id":766,"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":"signatures__OperationInterface","changeable":true,"resolveProxies":true,"lowerBound":0,"id":767,"derived":false},{"id":768,"eClass":"EGenericType"},{"id":769,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"SignaturesHaveToBeUniqueForAnInterface","lowerBound":0,"id":770,"many":false,"required":false,"eClass":"EOperation"},{"id":771,"eClass":"EGenericType"},{"id":772,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":773,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":774,"many":false,"required":false,"eClass":"EParameter"},{"id":775,"eClass":"EGenericType"},{"id":776,"eClass":"EGenericType"},{"id":777,"eClass":"EGenericType"},{"id":778,"eClass":"EGenericType"},{"id":779,"eClass":"EGenericType"},{"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":"requiredInterface__OperationRequiredRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":780,"derived":false},{"id":781,"eClass":"EGenericType"},{"id":782,"eClass":"EGenericType"},{"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":"eventGroup__SourceRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":783,"derived":false},{"id":784,"eClass":"EGenericType"},{"id":785,"eClass":"EGenericType"},{"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":"eventGroup__SinkRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":786,"derived":false},{"id":787,"eClass":"EGenericType"},{"id":788,"eClass":"EGenericType"},{"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":"providedInterface__OperationProvidedRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":789,"derived":false},{"id":790,"eClass":"EGenericType"},{"id":791,"eClass":"EGenericType"},{"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":"providedInterface__InfrastructureProvidedRole","changeable":true,"resolveProxies":true,"lowerBound":0,"id":792,"derived":false},{"id":793,"eClass":"EGenericType"},{"id":794,"eClass":"EGenericType"},{"name":"none","id":795,"value":0,"literal":"none","eClass":"EEnumLiteral"},{"name":"in","id":796,"value":1,"literal":"in","eClass":"EEnumLiteral"},{"name":"out","id":797,"value":2,"literal":"out","eClass":"EEnumLiteral"},{"name":"inout","id":798,"value":3,"literal":"inout","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"unique":true,"name":"AtLeastOneInterfaceHasToBeProvidedOrRequiredByAUsefullCompleteComponentType","lowerBound":0,"id":799,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"providedInterfacesHaveToConformToProvidedType2","lowerBound":0,"id":800,"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":false,"unsettable":false,"transient":false,"unique":true,"name":"parentProvidesComponentTypes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":801,"derived":false},{"id":802,"eClass":"EGenericType"},{"id":803,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":804,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":805,"many":false,"required":false,"eClass":"EParameter"},{"id":806,"eClass":"EGenericType"},{"id":807,"eClass":"EGenericType"},{"id":808,"eClass":"EGenericType"},{"id":809,"eClass":"EGenericType"},{"id":810,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":811,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":812,"many":false,"required":false,"eClass":"EParameter"},{"id":813,"eClass":"EGenericType"},{"id":814,"eClass":"EGenericType"},{"id":815,"eClass":"EGenericType"},{"id":816,"eClass":"EGenericType"},{"id":817,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"AtLeastOneInterfaceHasToBeProvidedByAUsefullProvidesComponentType","lowerBound":0,"id":818,"many":false,"required":false,"eClass":"EOperation"},{"id":819,"eClass":"EGenericType"},{"id":820,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":821,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":822,"many":false,"required":false,"eClass":"EParameter"},{"id":823,"eClass":"EGenericType"},{"id":824,"eClass":"EGenericType"},{"id":825,"eClass":"EGenericType"},{"id":826,"eClass":"EGenericType"},{"name":"BUSINESS_COMPONENT","id":827,"value":0,"literal":"BUSINESS_COMPONENT","eClass":"EEnumLiteral"},{"name":"INFRASTRUCTURE_COMPONENT","id":828,"value":1,"literal":"INFRASTRUCTURE_COMPONENT","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"unique":true,"name":"ProvideSameInterfaces","lowerBound":0,"id":829,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"RequireSameInterfaces","lowerBound":0,"id":830,"many":false,"required":false,"eClass":"EOperation"},{"id":831,"eClass":"EGenericType"},{"id":832,"eClass":"EGenericType"},{"id":833,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":834,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":835,"many":false,"required":false,"eClass":"EParameter"},{"id":836,"eClass":"EGenericType"},{"id":837,"eClass":"EGenericType"},{"id":838,"eClass":"EGenericType"},{"id":839,"eClass":"EGenericType"},{"id":840,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":841,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":842,"many":false,"required":false,"eClass":"EParameter"},{"id":843,"eClass":"EGenericType"},{"id":844,"eClass":"EGenericType"},{"id":845,"eClass":"EGenericType"},{"id":846,"eClass":"EGenericType"},{"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":847,"derived":false},{"id":848,"eClass":"EGenericType"},{"id":849,"eClass":"EGenericType"},{"name":"INT","id":850,"value":0,"literal":"INT","eClass":"EEnumLiteral"},{"name":"STRING","id":851,"value":1,"literal":"STRING","eClass":"EEnumLiteral"},{"name":"BOOL","id":852,"value":2,"literal":"BOOL","eClass":"EEnumLiteral"},{"name":"DOUBLE","id":853,"value":3,"literal":"DOUBLE","eClass":"EEnumLiteral"},{"name":"CHAR","id":854,"value":4,"literal":"CHAR","eClass":"EEnumLiteral"},{"name":"BYTE","id":855,"value":5,"literal":"BYTE","eClass":"EEnumLiteral"},{"name":"LONG","id":856,"value":6,"literal":"LONG","eClass":"EEnumLiteral"},{"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":"innerType_CollectionDataType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":857,"derived":false},{"id":858,"eClass":"EGenericType"},{"id":859,"eClass":"EGenericType"},{"id":860,"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_CompositeDataType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":861,"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_CompositeDataType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":862,"derived":false},{"id":863,"eClass":"EGenericType"},{"id":864,"eClass":"EGenericType"},{"id":865,"eClass":"EGenericType"},{"id":866,"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":"compositeDataType_InnerDeclaration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":867,"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":"datatype_InnerDeclaration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":868,"derived":false},{"id":869,"eClass":"EGenericType"},{"id":870,"eClass":"EGenericType"},{"id":871,"eClass":"EGenericType"},{"id":872,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProcessingResourceType","instanceClass":null,"abstract":false,"id":873,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceType","instanceClass":null,"abstract":false,"id":874,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceRepository","instanceClass":null,"abstract":false,"id":875,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SchedulingPolicy","instanceClass":null,"abstract":false,"id":876,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CommunicationLinkResourceType","instanceClass":null,"abstract":false,"id":877,"interface":false,"eClass":"EClass"},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"resourceServiceId","changeable":true,"lowerBound":1,"iD":false,"id":878,"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":"resourceInterface__ResourceSignature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":879,"derived":false},{"id":880,"eClass":"EGenericType"},{"id":881,"eClass":"EGenericType"},{"id":882,"eClass":"EGenericType"},{"id":883,"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":"resourceSignatures__ResourceInterface","changeable":true,"resolveProxies":true,"lowerBound":0,"id":884,"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":"hardwareInducedFailureType__ProcessingResourceType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":885,"derived":false},{"id":886,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"HardwareInducedFailureType","instanceClass":null,"abstract":false,"id":887,"interface":false,"eClass":"EClass"},{"id":888,"eClass":"EGenericType"},{"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":"processingResourceType__HardwareInducedFailureType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":889,"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":"resourceRepository_ResourceType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":890,"derived":false},{"id":891,"eClass":"EGenericType"},{"id":892,"eClass":"EGenericType"},{"id":893,"eClass":"EGenericType"},{"id":894,"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":"availableResourceTypes_ResourceRepository","changeable":true,"resolveProxies":true,"lowerBound":0,"id":895,"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":"resourceInterfaces__ResourceRepository","changeable":true,"resolveProxies":true,"lowerBound":0,"id":896,"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":"schedulingPolicies__ResourceRepository","changeable":true,"resolveProxies":true,"lowerBound":0,"id":897,"derived":false},{"id":898,"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":"resourceRepository__ResourceInterface","changeable":true,"resolveProxies":true,"lowerBound":0,"id":899,"derived":false},{"id":900,"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":"resourceRepository__SchedulingPolicy","changeable":true,"resolveProxies":true,"lowerBound":0,"id":901,"derived":false},{"id":902,"eClass":"EGenericType"},{"id":903,"eClass":"EGenericType"},{"id":904,"eClass":"EGenericType"},{"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":"networkInducedFailureType__CommunicationLinkResourceType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":905,"derived":false},{"id":906,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NetworkInducedFailureType","instanceClass":null,"abstract":false,"id":907,"interface":false,"eClass":"EClass"},{"id":908,"eClass":"EGenericType"},{"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":"communicationLinkResourceType__NetworkInducedFailureType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":909,"derived":false},{"id":910,"eClass":"EGenericType"},{"id":911,"eClass":"EGenericType"},{"id":912,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"protocolTypeID","changeable":true,"lowerBound":1,"iD":false,"id":913,"derived":false},{"id":914,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CharacterisedVariable","instanceClass":null,"abstract":false,"id":915,"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":"variableCharacterisation_VariableUsage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":916,"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":"callAction__VariableUsage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":917,"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":"synchronisationPoint_VariableUsage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":918,"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":"callReturnAction__VariableUsage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":919,"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":"setVariableAction_VariableUsage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":920,"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":"specifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":921,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"namedReference__VariableUsage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":922,"derived":false},{"id":923,"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":"variableUsage_VariableCharacterisation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":924,"derived":false},{"id":925,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CallAction","instanceClass":null,"abstract":false,"id":926,"interface":false,"eClass":"EClass"},{"id":927,"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":"inputVariableUsages__CallAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":928,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SynchronisationPoint","instanceClass":null,"abstract":false,"id":929,"interface":false,"eClass":"EClass"},{"id":930,"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":"outputParameterUsage_SynchronisationPoint","changeable":true,"resolveProxies":true,"lowerBound":0,"id":931,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CallReturnAction","instanceClass":null,"abstract":false,"id":932,"interface":false,"eClass":"EClass"},{"id":933,"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":"returnVariableUsage__CallReturnAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":934,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SetVariableAction","instanceClass":null,"abstract":false,"id":935,"interface":false,"eClass":"EClass"},{"id":936,"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":"localVariableUsages_SetVariableAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":937,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SpecifiedOutputParameterAbstraction","instanceClass":null,"abstract":false,"id":938,"interface":false,"eClass":"EClass"},{"id":939,"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":"expectedExternalOutputs_SpecifiedOutputParameterAbstraction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":940,"derived":false},{"id":941,"eClass":"EGenericType"},{"id":942,"eClass":"EGenericType"},{"id":943,"eClass":"EGenericType"},{"id":944,"eClass":"EGenericType"},{"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":945,"derived":false},{"id":946,"eClass":"EGenericType"},{"id":947,"eClass":"EGenericType"},{"id":948,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"characterisationType","changeable":true,"lowerBound":1,"iD":false,"id":949,"derived":false},{"id":950,"eClass":"EGenericType"},{"id":951,"eClass":"EGenericType"},{"name":"STRUCTURE","id":952,"value":0,"literal":"STRUCTURE","eClass":"EEnumLiteral"},{"name":"NUMBER_OF_ELEMENTS","id":953,"value":1,"literal":"NUMBER_OF_ELEMENTS","eClass":"EEnumLiteral"},{"name":"VALUE","id":954,"value":2,"literal":"VALUE","eClass":"EEnumLiteral"},{"name":"BYTESIZE","id":955,"value":3,"literal":"BYTESIZE","eClass":"EEnumLiteral"},{"name":"TYPE","id":956,"value":4,"literal":"TYPE","eClass":"EEnumLiteral"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FailureOccurrenceDescription","instanceClass":null,"abstract":false,"id":957,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SoftwareInducedFailureType","instanceClass":null,"abstract":false,"id":958,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InternalFailureOccurrenceDescription","instanceClass":null,"abstract":false,"id":959,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExternalFailureOccurrenceDescription","instanceClass":null,"abstract":false,"id":960,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"EnsureValidFailureProbabilityRange","lowerBound":0,"id":961,"many":false,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"failureProbability","changeable":true,"lowerBound":1,"iD":false,"id":962,"derived":false},{"id":963,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":964,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":965,"many":false,"required":false,"eClass":"EParameter"},{"id":966,"eClass":"EGenericType"},{"id":967,"eClass":"EGenericType"},{"id":968,"eClass":"EGenericType"},{"id":969,"eClass":"EGenericType"},{"id":970,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"HardwareInducedFailureTypeHasProcessingResourceType","lowerBound":0,"id":971,"many":false,"required":false,"eClass":"EOperation"},{"id":972,"eClass":"EGenericType"},{"id":973,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":974,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":975,"many":false,"required":false,"eClass":"EParameter"},{"id":976,"eClass":"EGenericType"},{"id":977,"eClass":"EGenericType"},{"id":978,"eClass":"EGenericType"},{"id":979,"eClass":"EGenericType"},{"id":980,"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":"internalFailureOccurrenceDescriptions__SoftwareInducedFailureType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":981,"derived":false},{"id":982,"eClass":"EGenericType"},{"id":983,"eClass":"EGenericType"},{"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":"softwareInducedFailureType__InternalFailureOccurrenceDescription","changeable":true,"resolveProxies":true,"lowerBound":0,"id":984,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"NoResourceTimeoutFailureAllowedForInternalFailureOccurrenceDescription","lowerBound":0,"id":985,"many":false,"required":false,"eClass":"EOperation"},{"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":"internalAction__InternalFailureOccurrenceDescription","changeable":true,"resolveProxies":true,"lowerBound":0,"id":986,"derived":false},{"id":987,"eClass":"EGenericType"},{"id":988,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":989,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":990,"many":false,"required":false,"eClass":"EParameter"},{"id":991,"eClass":"EGenericType"},{"id":992,"eClass":"EGenericType"},{"id":993,"eClass":"EGenericType"},{"id":994,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InternalAction","instanceClass":null,"abstract":false,"id":995,"interface":false,"eClass":"EClass"},{"id":996,"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":"internalFailureOccurrenceDescriptions__InternalAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":997,"derived":false},{"id":998,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"NetworkInducedFailureTypeHasCommunicationLinkResourceType","lowerBound":0,"id":999,"many":false,"required":false,"eClass":"EOperation"},{"id":1000,"eClass":"EGenericType"},{"id":1001,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1002,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1003,"many":false,"required":false,"eClass":"EParameter"},{"id":1004,"eClass":"EGenericType"},{"id":1005,"eClass":"EGenericType"},{"id":1006,"eClass":"EGenericType"},{"id":1007,"eClass":"EGenericType"},{"id":1008,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"NoResourceTimeoutFailureAllowedForExternalFailureOccurrenceDescription","lowerBound":0,"id":1009,"many":false,"required":false,"eClass":"EOperation"},{"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":"specifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1010,"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":"failureType__ExternalFailureOccurrenceDescription","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1011,"derived":false},{"id":1012,"eClass":"EGenericType"},{"id":1013,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1014,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1015,"many":false,"required":false,"eClass":"EParameter"},{"id":1016,"eClass":"EGenericType"},{"id":1017,"eClass":"EGenericType"},{"id":1018,"eClass":"EGenericType"},{"id":1019,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SpecifiedReliabilityAnnotation","instanceClass":null,"abstract":false,"id":1020,"interface":false,"eClass":"EClass"},{"id":1021,"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":"externalFailureOccurrenceDescriptions__SpecifiedReliabilityAnnotation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1022,"derived":false},{"id":1023,"eClass":"EGenericType"},{"id":1024,"eClass":"EGenericType"},{"id":1025,"eClass":"EGenericType"},{"id":1026,"eClass":"EGenericType"},{"id":1027,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StopAction","instanceClass":null,"abstract":false,"id":1028,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AbstractInternalControlFlowAction","instanceClass":null,"abstract":false,"id":1029,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AbstractAction","instanceClass":null,"abstract":false,"id":1030,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceDemandingBehaviour","instanceClass":null,"abstract":false,"id":1031,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AbstractLoopAction","instanceClass":null,"abstract":false,"id":1032,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AbstractBranchTransition","instanceClass":null,"abstract":false,"id":1033,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BranchAction","instanceClass":null,"abstract":false,"id":1034,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StartAction","instanceClass":null,"abstract":false,"id":1035,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceDemandingSEFF","instanceClass":null,"abstract":false,"id":1036,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceDemandingInternalBehaviour","instanceClass":null,"abstract":false,"id":1037,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ReleaseAction","instanceClass":null,"abstract":false,"id":1038,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ForkAction","instanceClass":null,"abstract":false,"id":1039,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ForkedBehaviour","instanceClass":null,"abstract":false,"id":1040,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExternalCallAction","instanceClass":null,"abstract":false,"id":1041,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProbabilisticBranchTransition","instanceClass":null,"abstract":false,"id":1042,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AcquireAction","instanceClass":null,"abstract":false,"id":1043,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionIteratorAction","instanceClass":null,"abstract":false,"id":1044,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InternalCallAction","instanceClass":null,"abstract":false,"id":1045,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EmitEventAction","instanceClass":null,"abstract":false,"id":1046,"interface":false,"eClass":"EClass"},{"nsPrefix":"seff_performance_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/SEFF/SEFF_Performance/5.0_pointcut_advice","name":"seff_performance_pc_av","id":1047,"eClass":"EPackage"},{"nsPrefix":"seff_reliability_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/SEFF/SEFF_Reliability/5.0_pointcut_advice","name":"seff_reliability_pc_av","id":1048,"eClass":"EPackage"},{"ordered":true,"upperBound":1,"unique":true,"name":"StopActionSuccessorMustNotBeDefined","lowerBound":0,"id":1049,"many":false,"required":false,"eClass":"EOperation"},{"id":1050,"eClass":"EGenericType"},{"id":1051,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1052,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1053,"many":false,"required":false,"eClass":"EParameter"},{"id":1054,"eClass":"EGenericType"},{"id":1055,"eClass":"EGenericType"},{"id":1056,"eClass":"EGenericType"},{"id":1057,"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":"resourceDemand_Action","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1058,"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":"infrastructureCall__Action","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1059,"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":"resourceCall__Action","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1060,"derived":false},{"id":1061,"eClass":"EGenericType"},{"id":1062,"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":"action_ParametricResourceDemand","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1063,"derived":false},{"id":1064,"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":"action__InfrastructureCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1065,"derived":false},{"id":1066,"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":"action__ResourceCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1067,"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_AbstractAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1068,"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_AbstractAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1069,"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":"resourceDemandingBehaviour_AbstractAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1070,"derived":false},{"id":1071,"eClass":"EGenericType"},{"id":1072,"eClass":"EGenericType"},{"id":1073,"eClass":"EGenericType"},{"id":1074,"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":"steps_Behaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1075,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"ExactlyOneStopAction","lowerBound":0,"id":1076,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ExactlyOneStartAction","lowerBound":0,"id":1077,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor","lowerBound":0,"id":1078,"many":false,"required":false,"eClass":"EOperation"},{"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":"abstractLoopAction_ResourceDemandingBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1079,"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":"abstractBranchTransition_ResourceDemandingBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1080,"derived":false},{"id":1081,"eClass":"EGenericType"},{"id":1082,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1083,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1084,"many":false,"required":false,"eClass":"EParameter"},{"id":1085,"eClass":"EGenericType"},{"id":1086,"eClass":"EGenericType"},{"id":1087,"eClass":"EGenericType"},{"id":1088,"eClass":"EGenericType"},{"id":1089,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1090,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1091,"many":false,"required":false,"eClass":"EParameter"},{"id":1092,"eClass":"EGenericType"},{"id":1093,"eClass":"EGenericType"},{"id":1094,"eClass":"EGenericType"},{"id":1095,"eClass":"EGenericType"},{"id":1096,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1097,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1098,"many":false,"required":false,"eClass":"EParameter"},{"id":1099,"eClass":"EGenericType"},{"id":1100,"eClass":"EGenericType"},{"id":1101,"eClass":"EGenericType"},{"id":1102,"eClass":"EGenericType"},{"id":1103,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bodyBehaviour_Loop","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1104,"derived":false},{"id":1105,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"branchBehaviour_BranchTransition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1106,"derived":false},{"id":1107,"eClass":"EGenericType"},{"id":1108,"eClass":"EGenericType"},{"id":1109,"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":"branchAction_AbstractBranchTransition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1110,"derived":false},{"id":1111,"eClass":"EGenericType"},{"id":1112,"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":"branches_Branch","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1113,"derived":false},{"id":1114,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"EitherGuardedBranchesOrProbabilisiticBranchTransitions","lowerBound":0,"id":1115,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"AllProbabilisticBranchProbabilitiesMustSumUpTo1","lowerBound":0,"id":1116,"many":false,"required":false,"eClass":"EOperation"},{"id":1117,"eClass":"EGenericType"},{"id":1118,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1119,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1120,"many":false,"required":false,"eClass":"EParameter"},{"id":1121,"eClass":"EGenericType"},{"id":1122,"eClass":"EGenericType"},{"id":1123,"eClass":"EGenericType"},{"id":1124,"eClass":"EGenericType"},{"id":1125,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1126,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1127,"many":false,"required":false,"eClass":"EParameter"},{"id":1128,"eClass":"EGenericType"},{"id":1129,"eClass":"EGenericType"},{"id":1130,"eClass":"EGenericType"},{"id":1131,"eClass":"EGenericType"},{"id":1132,"eClass":"EGenericType"},{"id":1133,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"StartActionPredecessorMustNotBeDefined","lowerBound":0,"id":1134,"many":false,"required":false,"eClass":"EOperation"},{"id":1135,"eClass":"EGenericType"},{"id":1136,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1137,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1138,"many":false,"required":false,"eClass":"EParameter"},{"id":1139,"eClass":"EGenericType"},{"id":1140,"eClass":"EGenericType"},{"id":1141,"eClass":"EGenericType"},{"id":1142,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole","lowerBound":0,"id":1143,"many":false,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":"1","volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"1","unsettable":false,"transient":false,"unique":true,"name":"seffTypeID","changeable":true,"lowerBound":1,"iD":false,"id":1144,"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":"describedService__SEFF","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1145,"derived":false},{"id":1146,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1147,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1148,"many":false,"required":false,"eClass":"EParameter"},{"id":1149,"eClass":"EGenericType"},{"id":1150,"eClass":"EGenericType"},{"id":1151,"eClass":"EGenericType"},{"id":1152,"eClass":"EGenericType"},{"id":1153,"eClass":"EGenericType"},{"id":1154,"eClass":"EGenericType"},{"id":1155,"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":"resourceDemandingInternalBehaviours","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1156,"derived":false},{"id":1157,"eClass":"EGenericType"},{"id":1158,"eClass":"EGenericType"},{"id":1159,"eClass":"EGenericType"},{"id":1160,"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":"resourceDemandingSEFF_ResourceDemandingInternalBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1161,"derived":false},{"id":1162,"eClass":"EGenericType"},{"id":1163,"eClass":"EGenericType"},{"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":"passiveResource_ReleaseAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1164,"derived":false},{"id":1165,"eClass":"EGenericType"},{"id":1166,"eClass":"EGenericType"},{"id":1167,"eClass":"EGenericType"},{"id":1168,"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":"asynchronousForkedBehaviours_ForkAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1169,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"synchronisingBehaviours_ForkAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1170,"derived":false},{"id":1171,"eClass":"EGenericType"},{"id":1172,"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":"forkAction_ForkedBehaivour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1173,"derived":false},{"id":1174,"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":"forkAction_SynchronisationPoint","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1175,"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":"synchronisationPoint_ForkedBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1176,"derived":false},{"id":1177,"eClass":"EGenericType"},{"id":1178,"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":"synchronousForkedBehaviours_SynchronisationPoint","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1179,"derived":false},{"id":1180,"eClass":"EGenericType"},{"id":1181,"eClass":"EGenericType"},{"id":1182,"eClass":"EGenericType"},{"id":1183,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FailureHandlingEntity","instanceClass":null,"abstract":false,"id":1184,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"SignatureBelongsToRole","lowerBound":0,"id":1185,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"OperationRequiredRoleMustBeReferencedByContainer","lowerBound":0,"id":1186,"many":false,"required":false,"eClass":"EOperation"},{"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":"calledService_ExternalService","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1187,"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":"role_ExternalService","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1188,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"retryCount","changeable":true,"lowerBound":1,"iD":false,"id":1189,"derived":false},{"id":1190,"eClass":"EGenericType"},{"id":1191,"eClass":"EGenericType"},{"id":1192,"eClass":"EGenericType"},{"id":1193,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1194,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1195,"many":false,"required":false,"eClass":"EParameter"},{"id":1196,"eClass":"EGenericType"},{"id":1197,"eClass":"EGenericType"},{"id":1198,"eClass":"EGenericType"},{"id":1199,"eClass":"EGenericType"},{"id":1200,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1201,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1202,"many":false,"required":false,"eClass":"EParameter"},{"id":1203,"eClass":"EGenericType"},{"id":1204,"eClass":"EGenericType"},{"id":1205,"eClass":"EGenericType"},{"id":1206,"eClass":"EGenericType"},{"id":1207,"eClass":"EGenericType"},{"id":1208,"eClass":"EGenericType"},{"id":1209,"eClass":"EGenericType"},{"id":1210,"eClass":"EGenericType"},{"id":1211,"eClass":"EGenericType"},{"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":1212,"derived":false},{"id":1213,"eClass":"EGenericType"},{"id":1214,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"TimeoutValueOfAcquireActionMustNotBeNegative","lowerBound":0,"id":1215,"many":false,"required":false,"eClass":"EOperation"},{"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":"passiveresource_AcquireAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1216,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"timeout","changeable":true,"lowerBound":1,"iD":false,"id":1217,"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":"timeoutValue","changeable":true,"lowerBound":1,"iD":false,"id":1218,"derived":false},{"id":1219,"eClass":"EGenericType"},{"id":1220,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1221,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1222,"many":false,"required":false,"eClass":"EParameter"},{"id":1223,"eClass":"EGenericType"},{"id":1224,"eClass":"EGenericType"},{"id":1225,"eClass":"EGenericType"},{"id":1226,"eClass":"EGenericType"},{"id":1227,"eClass":"EGenericType"},{"id":1228,"eClass":"EGenericType"},{"id":1229,"eClass":"EGenericType"},{"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":"parameter_CollectionIteratorAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1230,"derived":false},{"id":1231,"eClass":"EGenericType"},{"id":1232,"eClass":"EGenericType"},{"id":1233,"eClass":"EGenericType"},{"id":1234,"eClass":"EGenericType"},{"id":1235,"eClass":"EGenericType"},{"id":1236,"eClass":"EGenericType"},{"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":"calledResourceDemandingInternalBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1237,"derived":false},{"id":1238,"eClass":"EGenericType"},{"id":1239,"eClass":"EGenericType"},{"id":1240,"eClass":"EGenericType"},{"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":"eventType__EmitEventAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1241,"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":"sourceRole__EmitEventAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1242,"derived":false},{"id":1243,"eClass":"EGenericType"},{"id":1244,"eClass":"EGenericType"},{"id":1245,"eClass":"EGenericType"},{"id":1246,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"MultipleInternalOccurrenceDescriptionsPerFailureTypeNotAllowed","lowerBound":0,"id":1247,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"SumOfInternalActionFailureProbabilitiesMustNotExceed1","lowerBound":0,"id":1248,"many":false,"required":false,"eClass":"EOperation"},{"id":1249,"eClass":"EGenericType"},{"id":1250,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1251,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1252,"many":false,"required":false,"eClass":"EParameter"},{"id":1253,"eClass":"EGenericType"},{"id":1254,"eClass":"EGenericType"},{"id":1255,"eClass":"EGenericType"},{"id":1256,"eClass":"EGenericType"},{"id":1257,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1258,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1259,"many":false,"required":false,"eClass":"EParameter"},{"id":1260,"eClass":"EGenericType"},{"id":1261,"eClass":"EGenericType"},{"id":1262,"eClass":"EGenericType"},{"id":1263,"eClass":"EGenericType"},{"id":1264,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"SignatureMustBelongToUsedRequiredRole","lowerBound":0,"id":1265,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ReferencedRequiredRoleMustBeRequiredByComponent","lowerBound":0,"id":1266,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"SignatureRoleCombinationMustBeUniqueWithinAbstractInternalControlFlowAction","lowerBound":0,"id":1267,"many":false,"required":false,"eClass":"EOperation"},{"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":"signature__InfrastructureCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1268,"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":"requiredRole__InfrastructureCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1269,"derived":false},{"id":1270,"eClass":"EGenericType"},{"id":1271,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1272,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1273,"many":false,"required":false,"eClass":"EParameter"},{"id":1274,"eClass":"EGenericType"},{"id":1275,"eClass":"EGenericType"},{"id":1276,"eClass":"EGenericType"},{"id":1277,"eClass":"EGenericType"},{"id":1278,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1279,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1280,"many":false,"required":false,"eClass":"EParameter"},{"id":1281,"eClass":"EGenericType"},{"id":1282,"eClass":"EGenericType"},{"id":1283,"eClass":"EGenericType"},{"id":1284,"eClass":"EGenericType"},{"id":1285,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1286,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1287,"many":false,"required":false,"eClass":"EParameter"},{"id":1288,"eClass":"EGenericType"},{"id":1289,"eClass":"EGenericType"},{"id":1290,"eClass":"EGenericType"},{"id":1291,"eClass":"EGenericType"},{"id":1292,"eClass":"EGenericType"},{"id":1293,"eClass":"EGenericType"},{"id":1294,"eClass":"EGenericType"},{"id":1295,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"ResourceSignatureBelongsToResourceRequiredRole","lowerBound":0,"id":1296,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ResourceRequiredRoleMustBeReferencedByComponent","lowerBound":0,"id":1297,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"SignatureRoleCombinationMustBeUniqueWithinAbstractInternalControlFlowAction","lowerBound":0,"id":1298,"many":false,"required":false,"eClass":"EOperation"},{"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":"resourceRequiredRole__ResourceCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1299,"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":"signature__ResourceCall","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1300,"derived":false},{"id":1301,"eClass":"EGenericType"},{"id":1302,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1303,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1304,"many":false,"required":false,"eClass":"EParameter"},{"id":1305,"eClass":"EGenericType"},{"id":1306,"eClass":"EGenericType"},{"id":1307,"eClass":"EGenericType"},{"id":1308,"eClass":"EGenericType"},{"id":1309,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1310,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1311,"many":false,"required":false,"eClass":"EParameter"},{"id":1312,"eClass":"EGenericType"},{"id":1313,"eClass":"EGenericType"},{"id":1314,"eClass":"EGenericType"},{"id":1315,"eClass":"EGenericType"},{"id":1316,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1317,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1318,"many":false,"required":false,"eClass":"EParameter"},{"id":1319,"eClass":"EGenericType"},{"id":1320,"eClass":"EGenericType"},{"id":1321,"eClass":"EGenericType"},{"id":1322,"eClass":"EGenericType"},{"id":1323,"eClass":"EGenericType"},{"id":1324,"eClass":"EGenericType"},{"id":1325,"eClass":"EGenericType"},{"id":1326,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"DemandedProcessingResourceMustBeUniqueWithinAbstractInternalControlFlowAction","lowerBound":0,"id":1327,"many":false,"required":false,"eClass":"EOperation"},{"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":"requiredResource_ParametricResourceDemand","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1328,"derived":false},{"id":1329,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1330,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1331,"many":false,"required":false,"eClass":"EParameter"},{"id":1332,"eClass":"EGenericType"},{"id":1333,"eClass":"EGenericType"},{"id":1334,"eClass":"EGenericType"},{"id":1335,"eClass":"EGenericType"},{"id":1336,"eClass":"EGenericType"},{"id":1337,"eClass":"EGenericType"},{"id":1338,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RecoveryActionBehaviour","instanceClass":null,"abstract":false,"id":1339,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RecoveryAction","instanceClass":null,"abstract":false,"id":1340,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"RecoveryActionBehaviourHasOnlyOnePredecessor","lowerBound":0,"id":1341,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"RecoveryActionBehaviourIsNotSuccessorOfItself","lowerBound":0,"id":1342,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"SuccessorsOfRecoveryActionBehaviourHandleDisjointFailureTypes","lowerBound":0,"id":1343,"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":false,"unsettable":false,"transient":false,"unique":true,"name":"failureHandlingAlternatives__RecoveryActionBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1344,"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":"recoveryAction__RecoveryActionBehaviour","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1345,"derived":false},{"id":1346,"eClass":"EGenericType"},{"id":1347,"eClass":"EGenericType"},{"id":1348,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1349,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1350,"many":false,"required":false,"eClass":"EParameter"},{"id":1351,"eClass":"EGenericType"},{"id":1352,"eClass":"EGenericType"},{"id":1353,"eClass":"EGenericType"},{"id":1354,"eClass":"EGenericType"},{"id":1355,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1356,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1357,"many":false,"required":false,"eClass":"EParameter"},{"id":1358,"eClass":"EGenericType"},{"id":1359,"eClass":"EGenericType"},{"id":1360,"eClass":"EGenericType"},{"id":1361,"eClass":"EGenericType"},{"id":1362,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1363,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1364,"many":false,"required":false,"eClass":"EParameter"},{"id":1365,"eClass":"EGenericType"},{"id":1366,"eClass":"EGenericType"},{"id":1367,"eClass":"EGenericType"},{"id":1368,"eClass":"EGenericType"},{"id":1369,"eClass":"EGenericType"},{"id":1370,"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":"recoveryActionBehaviours__RecoveryAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1371,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"PrimaryBehaviourOfRecoveryActionMustBeSet","lowerBound":0,"id":1372,"many":false,"required":false,"eClass":"EOperation"},{"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":"primaryBehaviour__RecoveryAction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1373,"derived":false},{"id":1374,"eClass":"EGenericType"},{"id":1375,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1376,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1377,"many":false,"required":false,"eClass":"EParameter"},{"id":1378,"eClass":"EGenericType"},{"id":1379,"eClass":"EGenericType"},{"id":1380,"eClass":"EGenericType"},{"id":1381,"eClass":"EGenericType"},{"id":1382,"eClass":"EGenericType"},{"id":1383,"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":"failureTypes_FailureHandlingEntity","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1384,"derived":false},{"id":1385,"eClass":"EGenericType"},{"id":1386,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SpecifiedQoSAnnotation","instanceClass":null,"abstract":false,"id":1387,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"QoSAnnotations","instanceClass":null,"abstract":false,"id":1388,"interface":false,"eClass":"EClass"},{"nsPrefix":"_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/QoSAnnotations/QoS_Performance/5.0_pointcut_advice","name":"qos_performance_pc_av","id":1389,"eClass":"EPackage"},{"nsPrefix":"_pc_av","nsURI":"http://sdq.ipd.uka.de/PalladioComponentModel/QoSAnnotations/QoS_Reliability/5.0_pointcut_advice","name":"qos_reliability_pc_av","id":1390,"eClass":"EPackage"},{"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":"signature_SpecifiedQoSAnnation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1391,"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":"role_SpecifiedQoSAnnotation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1392,"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":"qosAnnotations_SpecifiedQoSAnnotation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1393,"derived":false},{"id":1394,"eClass":"EGenericType"},{"id":1395,"eClass":"EGenericType"},{"id":1396,"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":"specifiedQoSAnnotations_QoSAnnotations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1397,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"MultipleReliabilityAnnotationsPerExternalCallNotAllowed","lowerBound":0,"id":1398,"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":"specifiedOutputParameterAbstractions_QoSAnnotations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1399,"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":"system_QoSAnnotations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1400,"derived":false},{"id":1401,"eClass":"EGenericType"},{"id":1402,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1403,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1404,"many":false,"required":false,"eClass":"EParameter"},{"id":1405,"eClass":"EGenericType"},{"id":1406,"eClass":"EGenericType"},{"id":1407,"eClass":"EGenericType"},{"id":1408,"eClass":"EGenericType"},{"id":1409,"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":"qosAnnotations_SpecifiedOutputParameterAbstraction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1410,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"System","instanceClass":null,"abstract":false,"id":1411,"interface":false,"eClass":"EClass"},{"id":1412,"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":"qosAnnotations_System","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1413,"derived":false},{"id":1414,"eClass":"EGenericType"},{"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":"signature_SpecifiedOutputParameterAbstraction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1415,"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":"role_SpecifiedOutputParameterAbstraction","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1416,"derived":false},{"id":1417,"eClass":"EGenericType"},{"id":1418,"eClass":"EGenericType"},{"id":1419,"eClass":"EGenericType"},{"id":1420,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SystemSpecifiedExecutionTime","instanceClass":null,"abstract":false,"id":1421,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ComponentSpecifiedExecutionTime","instanceClass":null,"abstract":false,"id":1422,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"SystemSpecifiedExecutionTimeMustReferenceRequiredRoleOfASystem","lowerBound":0,"id":1423,"many":false,"required":false,"eClass":"EOperation"},{"id":1424,"eClass":"EGenericType"},{"id":1425,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1426,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1427,"many":false,"required":false,"eClass":"EParameter"},{"id":1428,"eClass":"EGenericType"},{"id":1429,"eClass":"EGenericType"},{"id":1430,"eClass":"EGenericType"},{"id":1431,"eClass":"EGenericType"},{"id":1432,"eClass":"EGenericType"},{"id":1433,"eClass":"EGenericType"},{"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":"assemblyContext_ComponentSpecifiedExecutionTime","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1434,"derived":false},{"id":1435,"eClass":"EGenericType"},{"id":1436,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"SpecifiedReliabilityAnnotationMustReferenceRequiredRoleOfASystem","lowerBound":0,"id":1437,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"SumOfReliabilityAnnotationFailureProbabilitiesMustNotExceed1","lowerBound":0,"id":1438,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"MultipleExternalOccurrenceDescriptionsPerFailureTypeNotAllowed","lowerBound":0,"id":1439,"many":false,"required":false,"eClass":"EOperation"},{"id":1440,"eClass":"EGenericType"},{"id":1441,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1442,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1443,"many":false,"required":false,"eClass":"EParameter"},{"id":1444,"eClass":"EGenericType"},{"id":1445,"eClass":"EGenericType"},{"id":1446,"eClass":"EGenericType"},{"id":1447,"eClass":"EGenericType"},{"id":1448,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1449,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1450,"many":false,"required":false,"eClass":"EParameter"},{"id":1451,"eClass":"EGenericType"},{"id":1452,"eClass":"EGenericType"},{"id":1453,"eClass":"EGenericType"},{"id":1454,"eClass":"EGenericType"},{"id":1455,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1456,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1457,"many":false,"required":false,"eClass":"EParameter"},{"id":1458,"eClass":"EGenericType"},{"id":1459,"eClass":"EGenericType"},{"id":1460,"eClass":"EGenericType"},{"id":1461,"eClass":"EGenericType"},{"id":1462,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"SystemMustHaveAtLeastOneProvidedRole","lowerBound":0,"id":1463,"many":false,"required":false,"eClass":"EOperation"},{"id":1464,"eClass":"EGenericType"},{"id":1465,"eClass":"EGenericType"},{"id":1466,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1467,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1468,"many":false,"required":false,"eClass":"EParameter"},{"id":1469,"eClass":"EGenericType"},{"id":1470,"eClass":"EGenericType"},{"id":1471,"eClass":"EGenericType"},{"id":1472,"eClass":"EGenericType"},{"id":1473,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceEnvironment","instanceClass":null,"abstract":false,"id":1474,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LinkingResource","instanceClass":null,"abstract":false,"id":1475,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ResourceContainer","instanceClass":null,"abstract":false,"id":1476,"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":"linkingResources__ResourceEnvironment","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1477,"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":"resourceContainer_ResourceEnvironment","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1478,"derived":false},{"id":1479,"eClass":"EGenericType"},{"id":1480,"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":"resourceEnvironment_LinkingResource","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1481,"derived":false},{"id":1482,"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":"resourceEnvironment_ResourceContainer","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1483,"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":"connectedResourceContainers_LinkingResource","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1484,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"communicationLinkResourceSpecifications_LinkingResource","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1485,"derived":false},{"id":1486,"eClass":"EGenericType"},{"id":1487,"eClass":"EGenericType"},{"id":1488,"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":"linkingResource_CommunicationLinkResourceSpecification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1489,"derived":false},{"id":1490,"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":"activeResourceSpecifications_ResourceContainer","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1491,"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":"nestedResourceContainers__ResourceContainer","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1492,"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":"parentResourceContainer__ResourceContainer","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1493,"derived":false},{"id":1494,"eClass":"EGenericType"},{"id":1495,"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":"resourceContainer_ProcessingResourceSpecification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1496,"derived":false},{"id":1497,"eClass":"EGenericType"},{"id":1498,"eClass":"EGenericType"},{"id":1499,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0.0","unsettable":false,"transient":false,"unique":true,"name":"MTTR","changeable":true,"lowerBound":1,"iD":false,"id":1500,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0.0","unsettable":false,"transient":false,"unique":true,"name":"MTTF","changeable":true,"lowerBound":1,"iD":false,"id":1501,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"requiredByContainer","changeable":true,"lowerBound":1,"iD":false,"id":1502,"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":"schedulingPolicy","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1503,"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":"activeResourceType_ActiveResourceSpecification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1504,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"1","unsettable":false,"transient":false,"unique":true,"name":"numberOfReplicas","changeable":true,"lowerBound":1,"iD":false,"id":1505,"derived":false},{"id":1506,"eClass":"EGenericType"},{"id":1507,"eClass":"EGenericType"},{"id":1508,"eClass":"EGenericType"},{"id":1509,"eClass":"EGenericType"},{"id":1510,"eClass":"EGenericType"},{"id":1511,"eClass":"EGenericType"},{"id":1512,"eClass":"EGenericType"},{"id":1513,"eClass":"EGenericType"},{"id":1514,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0.0","unsettable":false,"transient":false,"unique":true,"name":"failureProbability","changeable":true,"lowerBound":1,"iD":false,"id":1515,"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":"communicationLinkResourceType_CommunicationLinkResourceSpecification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1516,"derived":false},{"id":1517,"eClass":"EGenericType"},{"id":1518,"eClass":"EGenericType"},{"id":1519,"eClass":"EGenericType"},{"id":1520,"eClass":"EGenericType"},{"id":1521,"eClass":"EGenericType"},{"id":1522,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AllocationContext","instanceClass":null,"abstract":false,"id":1523,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Allocation","instanceClass":null,"abstract":false,"id":1524,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"OneAssemblyContextOrOneEventChannelShouldBeReferred","lowerBound":0,"id":1525,"many":false,"required":false,"eClass":"EOperation"},{"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":"resourceContainer_AllocationContext","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1526,"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":"assemblyContext_AllocationContext","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1527,"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":"allocation_AllocationContext","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1528,"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":"eventChannel__AllocationContext","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1529,"derived":false},{"id":1530,"eClass":"EGenericType"},{"id":1531,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1532,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1533,"many":false,"required":false,"eClass":"EParameter"},{"id":1534,"eClass":"EGenericType"},{"id":1535,"eClass":"EGenericType"},{"id":1536,"eClass":"EGenericType"},{"id":1537,"eClass":"EGenericType"},{"id":1538,"eClass":"EGenericType"},{"id":1539,"eClass":"EGenericType"},{"id":1540,"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":"allocationContexts_Allocation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1541,"derived":false},{"id":1542,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"EachAssemblyContextWithinSystemHasToBeAllocatedExactlyOnce","lowerBound":0,"id":1543,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"CommunicatingServersHaveToBeConnectedByLinkingResource","lowerBound":0,"id":1544,"many":false,"required":false,"eClass":"EOperation"},{"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":"targetResourceEnvironment_Allocation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1545,"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":"system_Allocation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1546,"derived":false},{"id":1547,"eClass":"EGenericType"},{"id":1548,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1549,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1550,"many":false,"required":false,"eClass":"EParameter"},{"id":1551,"eClass":"EGenericType"},{"id":1552,"eClass":"EGenericType"},{"id":1553,"eClass":"EGenericType"},{"id":1554,"eClass":"EGenericType"},{"id":1555,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1556,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1557,"many":false,"required":false,"eClass":"EParameter"},{"id":1558,"eClass":"EGenericType"},{"id":1559,"eClass":"EGenericType"},{"id":1560,"eClass":"EGenericType"},{"id":1561,"eClass":"EGenericType"},{"id":1562,"eClass":"EGenericType"},{"id":1563,"eClass":"EGenericType"},{"id":1564,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SubSystem","instanceClass":null,"abstract":false,"id":1565,"interface":false,"eClass":"EClass"},{"id":1566,"eClass":"EGenericType"},{"id":1567,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Completion","instanceClass":null,"abstract":false,"id":1568,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompletionRepository","instanceClass":null,"abstract":false,"id":1569,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DelegatingExternalCallAction","instanceClass":null,"abstract":false,"id":1570,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NetworkDemandParametricResourceDemand","instanceClass":null,"abstract":false,"id":1571,"interface":false,"eClass":"EClass"},{"id":1572,"eClass":"EGenericType"},{"id":1573,"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":"completions_CompletionRepository","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1574,"derived":false},{"id":1575,"eClass":"EGenericType"},{"id":1576,"eClass":"EGenericType"},{"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":"requiredCommunicationLinkResource_ParametricResourceDemand","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1577,"derived":false},{"id":1578,"eClass":"EGenericType"},{"id":1579,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":0,"target":4},{"source":0,"target":5},{"source":0,"target":6},{"source":0,"target":7},{"source":0,"target":8},{"source":0,"target":9},{"source":0,"target":10},{"source":0,"target":11},{"source":0,"target":12},{"source":0,"target":13},{"source":0,"target":14},{"source":0,"target":15},{"source":0,"target":16},{"source":0,"target":17},{"source":0,"target":18},{"source":0,"target":19},{"source":1,"target":0},{"source":2,"target":0},{"source":2,"target":20},{"source":20,"target":21},{"source":20,"target":2},{"source":3,"target":0},{"source":3,"target":22},{"source":22,"target":23},{"source":22,"target":3},{"source":4,"target":0},{"source":4,"target":24},{"source":24,"target":25},{"source":24,"target":4},{"source":5,"target":0},{"source":5,"target":26},{"source":26,"target":27},{"source":26,"target":5},{"source":6,"target":28},{"source":6,"target":29},{"source":6,"target":30},{"source":6,"target":0},{"source":28,"target":6},{"source":28,"target":31},{"source":28,"target":32},{"source":28,"target":33},{"source":28,"target":34},{"source":28,"target":35},{"source":28,"target":36},{"source":28,"target":37},{"source":28,"target":38},{"source":28,"target":39},{"source":28,"target":40},{"source":28,"target":41},{"source":28,"target":42},{"source":28,"target":43},{"source":28,"target":44},{"source":28,"target":45},{"source":28,"target":46},{"source":28,"target":47},{"source":28,"target":48},{"source":28,"target":49},{"source":31,"target":50},{"source":31,"target":28},{"source":31,"target":51},{"source":31,"target":52},{"source":51,"target":53},{"source":51,"target":31},{"source":52,"target":54},{"source":52,"target":31},{"source":54,"target":55},{"source":54,"target":56},{"source":32,"target":57},{"source":32,"target":58},{"source":32,"target":28},{"source":32,"target":59},{"source":58,"target":57},{"source":33,"target":60},{"source":33,"target":61},{"source":33,"target":28},{"source":33,"target":62},{"source":61,"target":60},{"source":34,"target":63},{"source":34,"target":64},{"source":34,"target":28},{"source":34,"target":65},{"source":64,"target":63},{"source":35,"target":66},{"source":35,"target":67},{"source":35,"target":28},{"source":35,"target":68},{"source":67,"target":66},{"source":36,"target":69},{"source":36,"target":70},{"source":36,"target":28},{"source":36,"target":71},{"source":70,"target":69},{"source":37,"target":72},{"source":37,"target":73},{"source":37,"target":28},{"source":37,"target":74},{"source":73,"target":72},{"source":38,"target":75},{"source":38,"target":76},{"source":38,"target":28},{"source":38,"target":77},{"source":76,"target":75},{"source":39,"target":78},{"source":39,"target":79},{"source":39,"target":28},{"source":39,"target":80},{"source":79,"target":78},{"source":40,"target":81},{"source":40,"target":82},{"source":40,"target":28},{"source":40,"target":83},{"source":82,"target":81},{"source":41,"target":84},{"source":41,"target":85},{"source":41,"target":28},{"source":41,"target":86},{"source":85,"target":84},{"source":42,"target":87},{"source":42,"target":88},{"source":42,"target":28},{"source":42,"target":89},{"source":88,"target":87},{"source":43,"target":90},{"source":43,"target":91},{"source":43,"target":28},{"source":43,"target":92},{"source":91,"target":90},{"source":44,"target":93},{"source":44,"target":94},{"source":44,"target":28},{"source":44,"target":95},{"source":94,"target":93},{"source":45,"target":96},{"source":45,"target":97},{"source":45,"target":28},{"source":45,"target":98},{"source":97,"target":96},{"source":46,"target":99},{"source":46,"target":100},{"source":46,"target":28},{"source":46,"target":101},{"source":100,"target":99},{"source":47,"target":102},{"source":47,"target":103},{"source":47,"target":28},{"source":47,"target":104},{"source":103,"target":102},{"source":48,"target":99},{"source":48,"target":105},{"source":48,"target":28},{"source":48,"target":106},{"source":105,"target":99},{"source":29,"target":107},{"source":29,"target":108},{"source":29,"target":109},{"source":29,"target":110},{"source":29,"target":111},{"source":29,"target":112},{"source":29,"target":113},{"source":29,"target":114},{"source":29,"target":115},{"source":29,"target":116},{"source":29,"target":117},{"source":29,"target":6},{"source":107,"target":29},{"source":107,"target":118},{"source":107,"target":119},{"source":107,"target":120},{"source":107,"target":121},{"source":119,"target":113},{"source":119,"target":122},{"source":119,"target":107},{"source":119,"target":123},{"source":122,"target":113},{"source":120,"target":124},{"source":120,"target":125},{"source":120,"target":107},{"source":125,"target":124},{"source":121,"target":118},{"source":108,"target":29},{"source":108,"target":109},{"source":108,"target":110},{"source":108,"target":126},{"source":108,"target":127},{"source":126,"target":109},{"source":127,"target":110},{"source":109,"target":29},{"source":109,"target":117},{"source":109,"target":128},{"source":109,"target":129},{"source":128,"target":130},{"source":128,"target":131},{"source":128,"target":109},{"source":128,"target":132},{"source":131,"target":130},{"source":129,"target":117},{"source":110,"target":29},{"source":110,"target":117},{"source":110,"target":111},{"source":110,"target":133},{"source":110,"target":134},{"source":110,"target":135},{"source":133,"target":136},{"source":133,"target":137},{"source":133,"target":110},{"source":133,"target":138},{"source":137,"target":136},{"source":134,"target":117},{"source":135,"target":111},{"source":111,"target":29},{"source":111,"target":117},{"source":111,"target":139},{"source":111,"target":140},{"source":139,"target":112},{"source":139,"target":141},{"source":139,"target":111},{"source":139,"target":142},{"source":141,"target":112},{"source":140,"target":117},{"source":112,"target":29},{"source":112,"target":118},{"source":112,"target":143},{"source":112,"target":142},{"source":112,"target":144},{"source":143,"target":124},{"source":143,"target":145},{"source":143,"target":112},{"source":145,"target":124},{"source":142,"target":111},{"source":142,"target":146},{"source":142,"target":112},{"source":142,"target":139},{"source":146,"target":111},{"source":144,"target":118},{"source":113,"target":29},{"source":113,"target":117},{"source":113,"target":123},{"source":113,"target":147},{"source":123,"target":107},{"source":123,"target":148},{"source":123,"target":113},{"source":123,"target":119},{"source":148,"target":107},{"source":147,"target":117},{"source":114,"target":29},{"source":114,"target":149},{"source":114,"target":108},{"source":114,"target":150},{"source":114,"target":151},{"source":114,"target":152},{"source":150,"target":153},{"source":150,"target":114},{"source":150,"target":154},{"source":150,"target":155},{"source":154,"target":156},{"source":154,"target":150},{"source":155,"target":157},{"source":155,"target":150},{"source":157,"target":158},{"source":157,"target":159},{"source":151,"target":149},{"source":152,"target":108},{"source":115,"target":29},{"source":115,"target":160},{"source":160,"target":161},{"source":160,"target":115},{"source":116,"target":29},{"source":116,"target":111},{"source":116,"target":113},{"source":116,"target":162},{"source":116,"target":163},{"source":162,"target":111},{"source":163,"target":113},{"source":117,"target":29},{"source":117,"target":115},{"source":117,"target":164},{"source":117,"target":165},{"source":165,"target":115},{"source":30,"target":166},{"source":30,"target":167},{"source":30,"target":149},{"source":30,"target":168},{"source":30,"target":169},{"source":30,"target":170},{"source":30,"target":84},{"source":30,"target":171},{"source":30,"target":172},{"source":30,"target":173},{"source":30,"target":87},{"source":30,"target":174},{"source":30,"target":175},{"source":30,"target":176},{"source":30,"target":177},{"source":30,"target":178},{"source":30,"target":179},{"source":30,"target":180},{"source":30,"target":6},{"source":166,"target":30},{"source":166,"target":167},{"source":166,"target":181},{"source":181,"target":167},{"source":167,"target":30},{"source":167,"target":117},{"source":167,"target":182},{"source":167,"target":183},{"source":182,"target":149},{"source":182,"target":184},{"source":182,"target":167},{"source":182,"target":185},{"source":184,"target":149},{"source":183,"target":117},{"source":149,"target":30},{"source":149,"target":117},{"source":149,"target":186},{"source":149,"target":187},{"source":149,"target":188},{"source":149,"target":189},{"source":149,"target":190},{"source":149,"target":185},{"source":149,"target":191},{"source":186,"target":192},{"source":186,"target":149},{"source":186,"target":193},{"source":186,"target":194},{"source":193,"target":195},{"source":193,"target":186},{"source":194,"target":196},{"source":194,"target":186},{"source":196,"target":197},{"source":196,"target":198},{"source":187,"target":199},{"source":187,"target":149},{"source":187,"target":200},{"source":187,"target":201},{"source":200,"target":202},{"source":200,"target":187},{"source":201,"target":203},{"source":201,"target":187},{"source":203,"target":204},{"source":203,"target":205},{"source":188,"target":180},{"source":188,"target":206},{"source":188,"target":149},{"source":188,"target":207},{"source":206,"target":180},{"source":189,"target":168},{"source":189,"target":208},{"source":189,"target":149},{"source":189,"target":209},{"source":208,"target":168},{"source":190,"target":169},{"source":190,"target":210},{"source":190,"target":149},{"source":190,"target":211},{"source":210,"target":169},{"source":185,"target":167},{"source":185,"target":212},{"source":185,"target":149},{"source":185,"target":182},{"source":212,"target":167},{"source":191,"target":117},{"source":168,"target":30},{"source":168,"target":213},{"source":168,"target":214},{"source":168,"target":209},{"source":213,"target":112},{"source":213,"target":215},{"source":213,"target":168},{"source":215,"target":112},{"source":214,"target":112},{"source":214,"target":216},{"source":214,"target":168},{"source":216,"target":112},{"source":209,"target":149},{"source":209,"target":217},{"source":209,"target":168},{"source":209,"target":189},{"source":217,"target":149},{"source":169,"target":30},{"source":169,"target":117},{"source":169,"target":218},{"source":169,"target":219},{"source":169,"target":220},{"source":169,"target":211},{"source":169,"target":221},{"source":218,"target":222},{"source":218,"target":223},{"source":218,"target":169},{"source":223,"target":222},{"source":219,"target":170},{"source":219,"target":224},{"source":219,"target":169},{"source":219,"target":225},{"source":224,"target":170},{"source":220,"target":84},{"source":220,"target":226},{"source":220,"target":169},{"source":220,"target":227},{"source":226,"target":84},{"source":211,"target":149},{"source":211,"target":228},{"source":211,"target":169},{"source":211,"target":190},{"source":228,"target":149},{"source":221,"target":117},{"source":170,"target":30},{"source":170,"target":167},{"source":170,"target":229},{"source":170,"target":230},{"source":170,"target":225},{"source":170,"target":231},{"source":229,"target":232},{"source":229,"target":233},{"source":229,"target":170},{"source":233,"target":232},{"source":230,"target":180},{"source":230,"target":234},{"source":230,"target":170},{"source":234,"target":180},{"source":225,"target":169},{"source":225,"target":235},{"source":225,"target":170},{"source":225,"target":219},{"source":235,"target":169},{"source":231,"target":167},{"source":84,"target":30},{"source":84,"target":167},{"source":84,"target":236},{"source":84,"target":86},{"source":84,"target":237},{"source":84,"target":227},{"source":84,"target":238},{"source":236,"target":239},{"source":236,"target":240},{"source":236,"target":84},{"source":240,"target":239},{"source":86,"target":28},{"source":86,"target":241},{"source":86,"target":84},{"source":86,"target":41},{"source":241,"target":28},{"source":237,"target":180},{"source":237,"target":242},{"source":237,"target":84},{"source":242,"target":180},{"source":227,"target":169},{"source":227,"target":243},{"source":227,"target":84},{"source":227,"target":220},{"source":243,"target":169},{"source":238,"target":167},{"source":171,"target":30},{"source":171,"target":166},{"source":171,"target":244},{"source":171,"target":245},{"source":171,"target":246},{"source":171,"target":247},{"source":171,"target":248},{"source":171,"target":249},{"source":244,"target":250},{"source":244,"target":171},{"source":244,"target":251},{"source":244,"target":252},{"source":251,"target":253},{"source":251,"target":244},{"source":252,"target":254},{"source":252,"target":244},{"source":254,"target":255},{"source":254,"target":256},{"source":245,"target":257},{"source":245,"target":171},{"source":245,"target":258},{"source":245,"target":259},{"source":258,"target":260},{"source":258,"target":245},{"source":259,"target":261},{"source":259,"target":245},{"source":261,"target":262},{"source":261,"target":263},{"source":246,"target":264},{"source":246,"target":265},{"source":246,"target":171},{"source":265,"target":264},{"source":247,"target":264},{"source":247,"target":266},{"source":247,"target":171},{"source":266,"target":264},{"source":248,"target":180},{"source":248,"target":267},{"source":248,"target":171},{"source":267,"target":180},{"source":249,"target":166},{"source":172,"target":30},{"source":172,"target":166},{"source":172,"target":268},{"source":172,"target":269},{"source":172,"target":270},{"source":172,"target":271},{"source":172,"target":272},{"source":172,"target":273},{"source":172,"target":274},{"source":268,"target":275},{"source":268,"target":172},{"source":268,"target":276},{"source":268,"target":277},{"source":276,"target":278},{"source":276,"target":268},{"source":277,"target":279},{"source":277,"target":268},{"source":279,"target":280},{"source":279,"target":281},{"source":269,"target":282},{"source":269,"target":172},{"source":269,"target":283},{"source":269,"target":284},{"source":283,"target":285},{"source":283,"target":269},{"source":284,"target":286},{"source":284,"target":269},{"source":286,"target":287},{"source":286,"target":288},{"source":270,"target":289},{"source":270,"target":172},{"source":270,"target":290},{"source":270,"target":291},{"source":290,"target":292},{"source":290,"target":270},{"source":291,"target":293},{"source":291,"target":270},{"source":293,"target":294},{"source":293,"target":295},{"source":271,"target":296},{"source":271,"target":297},{"source":271,"target":172},{"source":297,"target":296},{"source":272,"target":296},{"source":272,"target":298},{"source":272,"target":172},{"source":298,"target":296},{"source":273,"target":180},{"source":273,"target":299},{"source":273,"target":172},{"source":299,"target":180},{"source":274,"target":166},{"source":173,"target":30},{"source":173,"target":167},{"source":173,"target":300},{"source":173,"target":301},{"source":173,"target":302},{"source":173,"target":303},{"source":173,"target":304},{"source":173,"target":305},{"source":173,"target":306},{"source":173,"target":307},{"source":300,"target":308},{"source":300,"target":173},{"source":300,"target":309},{"source":300,"target":310},{"source":309,"target":311},{"source":309,"target":300},{"source":310,"target":312},{"source":310,"target":300},{"source":312,"target":313},{"source":312,"target":314},{"source":301,"target":315},{"source":301,"target":173},{"source":301,"target":316},{"source":301,"target":317},{"source":316,"target":318},{"source":316,"target":301},{"source":317,"target":319},{"source":317,"target":301},{"source":319,"target":320},{"source":319,"target":321},{"source":302,"target":322},{"source":302,"target":173},{"source":302,"target":323},{"source":302,"target":324},{"source":323,"target":325},{"source":323,"target":302},{"source":324,"target":326},{"source":324,"target":302},{"source":326,"target":327},{"source":326,"target":328},{"source":303,"target":180},{"source":303,"target":329},{"source":303,"target":173},{"source":329,"target":180},{"source":304,"target":180},{"source":304,"target":330},{"source":304,"target":173},{"source":330,"target":180},{"source":305,"target":264},{"source":305,"target":331},{"source":305,"target":173},{"source":331,"target":264},{"source":306,"target":296},{"source":306,"target":332},{"source":306,"target":173},{"source":332,"target":296},{"source":307,"target":167},{"source":87,"target":30},{"source":87,"target":167},{"source":87,"target":333},{"source":87,"target":334},{"source":87,"target":335},{"source":87,"target":336},{"source":87,"target":89},{"source":87,"target":337},{"source":333,"target":239},{"source":333,"target":338},{"source":333,"target":87},{"source":338,"target":239},{"source":334,"target":232},{"source":334,"target":339},{"source":334,"target":87},{"source":339,"target":232},{"source":335,"target":180},{"source":335,"target":340},{"source":335,"target":87},{"source":340,"target":180},{"source":336,"target":180},{"source":336,"target":341},{"source":336,"target":87},{"source":341,"target":180},{"source":89,"target":28},{"source":89,"target":342},{"source":89,"target":87},{"source":89,"target":42},{"source":342,"target":28},{"source":337,"target":167},{"source":174,"target":30},{"source":174,"target":166},{"source":174,"target":343},{"source":174,"target":344},{"source":174,"target":345},{"source":174,"target":346},{"source":343,"target":232},{"source":343,"target":347},{"source":343,"target":174},{"source":347,"target":232},{"source":344,"target":232},{"source":344,"target":348},{"source":344,"target":174},{"source":348,"target":232},{"source":345,"target":180},{"source":345,"target":349},{"source":345,"target":174},{"source":349,"target":180},{"source":346,"target":166},{"source":175,"target":30},{"source":175,"target":166},{"source":175,"target":350},{"source":175,"target":351},{"source":175,"target":352},{"source":175,"target":353},{"source":350,"target":180},{"source":350,"target":354},{"source":350,"target":175},{"source":354,"target":180},{"source":351,"target":239},{"source":351,"target":355},{"source":351,"target":175},{"source":355,"target":239},{"source":352,"target":239},{"source":352,"target":356},{"source":352,"target":175},{"source":356,"target":239},{"source":353,"target":166},{"source":176,"target":30},{"source":176,"target":167},{"source":176,"target":357},{"source":176,"target":358},{"source":176,"target":359},{"source":176,"target":360},{"source":176,"target":361},{"source":357,"target":362},{"source":357,"target":363},{"source":357,"target":176},{"source":363,"target":362},{"source":358,"target":364},{"source":358,"target":365},{"source":358,"target":176},{"source":365,"target":364},{"source":359,"target":180},{"source":359,"target":366},{"source":359,"target":176},{"source":366,"target":180},{"source":360,"target":180},{"source":360,"target":367},{"source":360,"target":176},{"source":367,"target":180},{"source":361,"target":167},{"source":177,"target":30},{"source":177,"target":166},{"source":177,"target":368},{"source":177,"target":369},{"source":177,"target":370},{"source":177,"target":371},{"source":368,"target":362},{"source":368,"target":372},{"source":368,"target":177},{"source":372,"target":362},{"source":369,"target":362},{"source":369,"target":373},{"source":369,"target":177},{"source":373,"target":362},{"source":370,"target":180},{"source":370,"target":374},{"source":370,"target":177},{"source":374,"target":180},{"source":371,"target":166},{"source":178,"target":30},{"source":178,"target":166},{"source":178,"target":375},{"source":178,"target":376},{"source":178,"target":377},{"source":178,"target":378},{"source":375,"target":364},{"source":375,"target":379},{"source":375,"target":178},{"source":379,"target":364},{"source":376,"target":364},{"source":376,"target":380},{"source":376,"target":178},{"source":380,"target":364},{"source":377,"target":180},{"source":377,"target":381},{"source":377,"target":178},{"source":381,"target":180},{"source":378,"target":166},{"source":179,"target":30},{"source":179,"target":166},{"source":179,"target":382},{"source":179,"target":383},{"source":179,"target":384},{"source":179,"target":385},{"source":382,"target":180},{"source":382,"target":386},{"source":382,"target":179},{"source":386,"target":180},{"source":383,"target":112},{"source":383,"target":387},{"source":383,"target":179},{"source":387,"target":112},{"source":384,"target":112},{"source":384,"target":388},{"source":384,"target":179},{"source":388,"target":112},{"source":385,"target":166},{"source":180,"target":30},{"source":180,"target":117},{"source":180,"target":207},{"source":180,"target":389},{"source":180,"target":390},{"source":180,"target":391},{"source":207,"target":149},{"source":207,"target":392},{"source":207,"target":180},{"source":207,"target":188},{"source":392,"target":149},{"source":389,"target":393},{"source":389,"target":394},{"source":389,"target":180},{"source":394,"target":393},{"source":390,"target":395},{"source":390,"target":396},{"source":390,"target":180},{"source":390,"target":397},{"source":396,"target":395},{"source":391,"target":117},{"source":7,"target":398},{"source":7,"target":399},{"source":7,"target":400},{"source":7,"target":401},{"source":7,"target":402},{"source":7,"target":403},{"source":7,"target":404},{"source":7,"target":405},{"source":7,"target":406},{"source":7,"target":90},{"source":7,"target":407},{"source":7,"target":408},{"source":7,"target":93},{"source":7,"target":96},{"source":7,"target":57},{"source":7,"target":0},{"source":398,"target":7},{"source":398,"target":409},{"source":409,"target":399},{"source":409,"target":410},{"source":409,"target":398},{"source":409,"target":411},{"source":410,"target":399},{"source":399,"target":7},{"source":399,"target":117},{"source":399,"target":412},{"source":399,"target":413},{"source":399,"target":411},{"source":399,"target":414},{"source":412,"target":401},{"source":412,"target":415},{"source":412,"target":399},{"source":412,"target":416},{"source":415,"target":401},{"source":413,"target":404},{"source":413,"target":417},{"source":413,"target":399},{"source":413,"target":418},{"source":417,"target":404},{"source":411,"target":398},{"source":411,"target":419},{"source":411,"target":399},{"source":411,"target":409},{"source":419,"target":398},{"source":414,"target":117},{"source":400,"target":7},{"source":400,"target":420},{"source":400,"target":421},{"source":400,"target":422},{"source":420,"target":180},{"source":420,"target":423},{"source":420,"target":400},{"source":423,"target":180},{"source":421,"target":401},{"source":421,"target":424},{"source":421,"target":400},{"source":421,"target":425},{"source":424,"target":401},{"source":422,"target":395},{"source":422,"target":426},{"source":422,"target":400},{"source":422,"target":427},{"source":426,"target":395},{"source":401,"target":7},{"source":401,"target":416},{"source":401,"target":425},{"source":416,"target":399},{"source":416,"target":428},{"source":416,"target":401},{"source":416,"target":412},{"source":428,"target":399},{"source":425,"target":400},{"source":425,"target":429},{"source":425,"target":401},{"source":425,"target":421},{"source":429,"target":400},{"source":402,"target":7},{"source":402,"target":403},{"source":402,"target":430},{"source":402,"target":431},{"source":402,"target":432},{"source":402,"target":433},{"source":402,"target":434},{"source":402,"target":435},{"source":402,"target":436},{"source":402,"target":437},{"source":430,"target":438},{"source":430,"target":402},{"source":430,"target":439},{"source":430,"target":440},{"source":439,"target":441},{"source":439,"target":430},{"source":440,"target":442},{"source":440,"target":430},{"source":442,"target":443},{"source":442,"target":444},{"source":431,"target":445},{"source":431,"target":402},{"source":431,"target":446},{"source":431,"target":447},{"source":446,"target":448},{"source":446,"target":431},{"source":447,"target":449},{"source":447,"target":431},{"source":449,"target":450},{"source":449,"target":451},{"source":432,"target":264},{"source":432,"target":452},{"source":432,"target":402},{"source":452,"target":264},{"source":433,"target":453},{"source":433,"target":454},{"source":433,"target":402},{"source":454,"target":453},{"source":434,"target":395},{"source":434,"target":455},{"source":434,"target":402},{"source":434,"target":456},{"source":455,"target":395},{"source":435,"target":457},{"source":435,"target":402},{"source":436,"target":395},{"source":436,"target":458},{"source":436,"target":402},{"source":436,"target":459},{"source":458,"target":395},{"source":437,"target":403},{"source":403,"target":7},{"source":403,"target":117},{"source":403,"target":460},{"source":403,"target":461},{"source":403,"target":462},{"source":403,"target":463},{"source":460,"target":403},{"source":460,"target":464},{"source":460,"target":403},{"source":460,"target":461},{"source":464,"target":403},{"source":461,"target":403},{"source":461,"target":465},{"source":461,"target":403},{"source":461,"target":460},{"source":465,"target":403},{"source":462,"target":404},{"source":462,"target":466},{"source":462,"target":403},{"source":462,"target":467},{"source":466,"target":404},{"source":463,"target":117},{"source":404,"target":7},{"source":404,"target":117},{"source":404,"target":468},{"source":404,"target":469},{"source":404,"target":470},{"source":404,"target":418},{"source":404,"target":471},{"source":404,"target":472},{"source":404,"target":467},{"source":404,"target":473},{"source":468,"target":474},{"source":468,"target":404},{"source":468,"target":475},{"source":468,"target":476},{"source":475,"target":477},{"source":475,"target":468},{"source":476,"target":478},{"source":476,"target":468},{"source":478,"target":479},{"source":478,"target":480},{"source":469,"target":481},{"source":469,"target":404},{"source":469,"target":482},{"source":469,"target":483},{"source":482,"target":484},{"source":482,"target":469},{"source":483,"target":485},{"source":483,"target":469},{"source":485,"target":486},{"source":485,"target":487},{"source":470,"target":488},{"source":470,"target":404},{"source":470,"target":489},{"source":470,"target":490},{"source":489,"target":491},{"source":489,"target":470},{"source":490,"target":492},{"source":490,"target":470},{"source":492,"target":493},{"source":492,"target":494},{"source":418,"target":399},{"source":418,"target":495},{"source":418,"target":404},{"source":418,"target":413},{"source":495,"target":399},{"source":471,"target":405},{"source":471,"target":496},{"source":471,"target":404},{"source":471,"target":497},{"source":496,"target":405},{"source":472,"target":90},{"source":472,"target":498},{"source":472,"target":404},{"source":472,"target":499},{"source":498,"target":90},{"source":467,"target":403},{"source":467,"target":500},{"source":467,"target":404},{"source":467,"target":462},{"source":500,"target":403},{"source":473,"target":117},{"source":405,"target":7},{"source":405,"target":501},{"source":405,"target":502},{"source":405,"target":497},{"source":501,"target":503},{"source":501,"target":405},{"source":502,"target":406},{"source":502,"target":504},{"source":502,"target":405},{"source":502,"target":505},{"source":504,"target":406},{"source":497,"target":404},{"source":497,"target":506},{"source":497,"target":405},{"source":497,"target":471},{"source":506,"target":404},{"source":406,"target":7},{"source":406,"target":403},{"source":406,"target":507},{"source":406,"target":505},{"source":406,"target":508},{"source":507,"target":509},{"source":507,"target":406},{"source":507,"target":510},{"source":507,"target":511},{"source":510,"target":512},{"source":510,"target":507},{"source":511,"target":513},{"source":511,"target":507},{"source":513,"target":514},{"source":513,"target":515},{"source":505,"target":405},{"source":505,"target":516},{"source":505,"target":406},{"source":505,"target":502},{"source":516,"target":405},{"source":508,"target":403},{"source":90,"target":7},{"source":90,"target":403},{"source":90,"target":92},{"source":90,"target":499},{"source":90,"target":517},{"source":92,"target":28},{"source":92,"target":518},{"source":92,"target":90},{"source":92,"target":43},{"source":518,"target":28},{"source":499,"target":404},{"source":499,"target":519},{"source":499,"target":90},{"source":499,"target":472},{"source":519,"target":404},{"source":517,"target":403},{"source":407,"target":7},{"source":407,"target":403},{"source":407,"target":520},{"source":407,"target":521},{"source":520,"target":522},{"source":520,"target":407},{"source":520,"target":523},{"source":520,"target":524},{"source":523,"target":525},{"source":523,"target":520},{"source":524,"target":526},{"source":524,"target":520},{"source":526,"target":527},{"source":526,"target":528},{"source":521,"target":403},{"source":408,"target":7},{"source":408,"target":403},{"source":408,"target":529},{"source":408,"target":530},{"source":529,"target":531},{"source":529,"target":408},{"source":529,"target":532},{"source":529,"target":533},{"source":532,"target":534},{"source":532,"target":529},{"source":533,"target":535},{"source":533,"target":529},{"source":535,"target":536},{"source":535,"target":537},{"source":530,"target":403},{"source":93,"target":7},{"source":93,"target":398},{"source":93,"target":538},{"source":93,"target":95},{"source":93,"target":539},{"source":538,"target":540},{"source":538,"target":93},{"source":538,"target":541},{"source":538,"target":542},{"source":541,"target":543},{"source":541,"target":538},{"source":542,"target":544},{"source":542,"target":538},{"source":544,"target":545},{"source":544,"target":546},{"source":95,"target":28},{"source":95,"target":547},{"source":95,"target":93},{"source":95,"target":44},{"source":547,"target":28},{"source":539,"target":398},{"source":96,"target":7},{"source":96,"target":403},{"source":96,"target":98},{"source":96,"target":548},{"source":98,"target":28},{"source":98,"target":549},{"source":98,"target":96},{"source":98,"target":45},{"source":549,"target":28},{"source":548,"target":403},{"source":57,"target":7},{"source":57,"target":398},{"source":57,"target":550},{"source":57,"target":551},{"source":57,"target":552},{"source":57,"target":59},{"source":57,"target":553},{"source":550,"target":554},{"source":550,"target":57},{"source":550,"target":555},{"source":550,"target":556},{"source":555,"target":557},{"source":555,"target":550},{"source":556,"target":558},{"source":556,"target":550},{"source":558,"target":559},{"source":558,"target":560},{"source":551,"target":561},{"source":551,"target":57},{"source":551,"target":562},{"source":551,"target":563},{"source":562,"target":564},{"source":562,"target":551},{"source":563,"target":565},{"source":563,"target":551},{"source":565,"target":566},{"source":565,"target":567},{"source":552,"target":568},{"source":552,"target":57},{"source":59,"target":28},{"source":59,"target":569},{"source":59,"target":57},{"source":59,"target":32},{"source":569,"target":28},{"source":553,"target":398},{"source":8,"target":60},{"source":8,"target":570},{"source":8,"target":571},{"source":8,"target":393},{"source":8,"target":130},{"source":8,"target":572},{"source":8,"target":573},{"source":8,"target":574},{"source":8,"target":575},{"source":8,"target":576},{"source":8,"target":222},{"source":8,"target":577},{"source":8,"target":578},{"source":8,"target":579},{"source":8,"target":580},{"source":8,"target":581},{"source":8,"target":364},{"source":8,"target":136},{"source":8,"target":453},{"source":8,"target":582},{"source":8,"target":296},{"source":8,"target":232},{"source":8,"target":239},{"source":8,"target":264},{"source":8,"target":362},{"source":8,"target":583},{"source":8,"target":584},{"source":8,"target":585},{"source":8,"target":586},{"source":8,"target":587},{"source":8,"target":588},{"source":8,"target":589},{"source":8,"target":590},{"source":8,"target":591},{"source":8,"target":592},{"source":8,"target":118},{"source":8,"target":0},{"source":60,"target":8},{"source":60,"target":117},{"source":60,"target":62},{"source":60,"target":593},{"source":60,"target":594},{"source":60,"target":595},{"source":62,"target":28},{"source":62,"target":596},{"source":62,"target":60},{"source":62,"target":33},{"source":596,"target":28},{"source":593,"target":570},{"source":593,"target":597},{"source":593,"target":60},{"source":593,"target":598},{"source":597,"target":570},{"source":594,"target":599},{"source":594,"target":600},{"source":594,"target":60},{"source":594,"target":601},{"source":600,"target":599},{"source":595,"target":117},{"source":570,"target":8},{"source":570,"target":571},{"source":570,"target":602},{"source":570,"target":603},{"source":570,"target":604},{"source":570,"target":605},{"source":570,"target":598},{"source":570,"target":606},{"source":602,"target":607},{"source":602,"target":570},{"source":602,"target":608},{"source":602,"target":609},{"source":608,"target":610},{"source":608,"target":602},{"source":609,"target":611},{"source":609,"target":602},{"source":611,"target":612},{"source":611,"target":613},{"source":603,"target":614},{"source":603,"target":570},{"source":603,"target":615},{"source":603,"target":616},{"source":615,"target":617},{"source":615,"target":603},{"source":616,"target":618},{"source":616,"target":603},{"source":618,"target":619},{"source":618,"target":620},{"source":604,"target":621},{"source":604,"target":570},{"source":604,"target":622},{"source":604,"target":623},{"source":622,"target":624},{"source":622,"target":604},{"source":623,"target":625},{"source":623,"target":604},{"source":625,"target":626},{"source":625,"target":627},{"source":605,"target":628},{"source":605,"target":629},{"source":605,"target":570},{"source":605,"target":630},{"source":629,"target":628},{"source":598,"target":60},{"source":598,"target":631},{"source":598,"target":570},{"source":598,"target":593},{"source":631,"target":60},{"source":606,"target":571},{"source":571,"target":8},{"source":571,"target":393},{"source":571,"target":632},{"source":571,"target":633},{"source":571,"target":634},{"source":571,"target":635},{"source":571,"target":636},{"source":571,"target":637},{"source":571,"target":638},{"source":632,"target":639},{"source":632,"target":571},{"source":632,"target":640},{"source":632,"target":641},{"source":640,"target":642},{"source":640,"target":632},{"source":641,"target":643},{"source":641,"target":632},{"source":643,"target":644},{"source":643,"target":645},{"source":633,"target":646},{"source":633,"target":571},{"source":633,"target":647},{"source":633,"target":648},{"source":647,"target":649},{"source":647,"target":633},{"source":648,"target":650},{"source":648,"target":633},{"source":650,"target":651},{"source":650,"target":652},{"source":634,"target":653},{"source":634,"target":571},{"source":634,"target":654},{"source":634,"target":655},{"source":654,"target":656},{"source":654,"target":634},{"source":655,"target":657},{"source":655,"target":634},{"source":657,"target":658},{"source":657,"target":659},{"source":635,"target":584},{"source":635,"target":660},{"source":635,"target":571},{"source":660,"target":584},{"source":636,"target":395},{"source":636,"target":661},{"source":636,"target":571},{"source":661,"target":395},{"source":637,"target":586},{"source":637,"target":662},{"source":637,"target":571},{"source":662,"target":586},{"source":638,"target":393},{"source":393,"target":8},{"source":393,"target":108},{"source":393,"target":663},{"source":393,"target":664},{"source":663,"target":574},{"source":663,"target":665},{"source":663,"target":393},{"source":663,"target":666},{"source":665,"target":574},{"source":664,"target":108},{"source":130,"target":8},{"source":130,"target":118},{"source":130,"target":132},{"source":130,"target":667},{"source":132,"target":109},{"source":132,"target":668},{"source":132,"target":130},{"source":132,"target":128},{"source":668,"target":109},{"source":667,"target":118},{"source":572,"target":8},{"source":572,"target":669},{"source":572,"target":670},{"source":572,"target":671},{"source":572,"target":672},{"source":572,"target":673},{"source":572,"target":674},{"source":572,"target":675},{"source":669,"target":573},{"source":669,"target":676},{"source":669,"target":572},{"source":676,"target":573},{"source":670,"target":580},{"source":670,"target":677},{"source":670,"target":572},{"source":670,"target":678},{"source":677,"target":580},{"source":671,"target":453},{"source":671,"target":679},{"source":671,"target":572},{"source":671,"target":680},{"source":679,"target":453},{"source":672,"target":577},{"source":672,"target":681},{"source":672,"target":572},{"source":672,"target":682},{"source":681,"target":577},{"source":673,"target":683},{"source":673,"target":572},{"source":674,"target":583},{"source":674,"target":684},{"source":674,"target":572},{"source":684,"target":583},{"source":675,"target":685},{"source":675,"target":686},{"source":675,"target":572},{"source":675,"target":687},{"source":686,"target":685},{"source":573,"target":8},{"source":573,"target":688},{"source":688,"target":574},{"source":688,"target":689},{"source":688,"target":573},{"source":688,"target":690},{"source":689,"target":574},{"source":574,"target":8},{"source":574,"target":117},{"source":574,"target":691},{"source":574,"target":666},{"source":574,"target":692},{"source":574,"target":693},{"source":574,"target":690},{"source":574,"target":694},{"source":691,"target":695},{"source":691,"target":574},{"source":666,"target":393},{"source":666,"target":696},{"source":666,"target":574},{"source":666,"target":663},{"source":696,"target":393},{"source":692,"target":575},{"source":692,"target":697},{"source":692,"target":574},{"source":692,"target":698},{"source":697,"target":575},{"source":693,"target":699},{"source":693,"target":700},{"source":693,"target":574},{"source":693,"target":701},{"source":700,"target":699},{"source":690,"target":573},{"source":690,"target":702},{"source":690,"target":574},{"source":690,"target":688},{"source":702,"target":573},{"source":694,"target":117},{"source":575,"target":8},{"source":575,"target":117},{"source":575,"target":703},{"source":575,"target":704},{"source":575,"target":705},{"source":575,"target":706},{"source":575,"target":698},{"source":575,"target":707},{"source":703,"target":708},{"source":703,"target":575},{"source":703,"target":709},{"source":703,"target":710},{"source":709,"target":711},{"source":709,"target":703},{"source":710,"target":712},{"source":710,"target":703},{"source":712,"target":713},{"source":712,"target":714},{"source":704,"target":575},{"source":704,"target":715},{"source":704,"target":575},{"source":715,"target":575},{"source":705,"target":716},{"source":705,"target":717},{"source":705,"target":575},{"source":717,"target":716},{"source":706,"target":576},{"source":706,"target":718},{"source":706,"target":575},{"source":706,"target":719},{"source":718,"target":576},{"source":698,"target":574},{"source":698,"target":720},{"source":698,"target":575},{"source":698,"target":692},{"source":720,"target":574},{"source":707,"target":117},{"source":576,"target":8},{"source":576,"target":721},{"source":576,"target":722},{"source":576,"target":719},{"source":721,"target":723},{"source":721,"target":724},{"source":721,"target":576},{"source":724,"target":723},{"source":722,"target":572},{"source":722,"target":725},{"source":722,"target":576},{"source":725,"target":572},{"source":719,"target":575},{"source":719,"target":726},{"source":719,"target":576},{"source":719,"target":706},{"source":726,"target":575},{"source":222,"target":8},{"source":222,"target":575},{"source":222,"target":727},{"source":222,"target":728},{"source":727,"target":577},{"source":727,"target":729},{"source":727,"target":222},{"source":727,"target":730},{"source":729,"target":577},{"source":728,"target":575},{"source":577,"target":8},{"source":577,"target":578},{"source":577,"target":682},{"source":577,"target":730},{"source":577,"target":731},{"source":682,"target":572},{"source":682,"target":732},{"source":682,"target":577},{"source":682,"target":672},{"source":732,"target":572},{"source":730,"target":222},{"source":730,"target":733},{"source":730,"target":577},{"source":730,"target":727},{"source":733,"target":222},{"source":731,"target":578},{"source":578,"target":8},{"source":578,"target":117},{"source":578,"target":734},{"source":578,"target":735},{"source":578,"target":736},{"source":734,"target":579},{"source":734,"target":737},{"source":734,"target":578},{"source":737,"target":579},{"source":735,"target":699},{"source":735,"target":738},{"source":735,"target":578},{"source":738,"target":699},{"source":736,"target":117},{"source":579,"target":8},{"source":579,"target":739},{"source":579,"target":740},{"source":739,"target":741},{"source":739,"target":579},{"source":740,"target":742},{"source":740,"target":579},{"source":580,"target":8},{"source":580,"target":578},{"source":580,"target":678},{"source":580,"target":743},{"source":580,"target":744},{"source":678,"target":572},{"source":678,"target":745},{"source":678,"target":580},{"source":678,"target":670},{"source":745,"target":572},{"source":743,"target":581},{"source":743,"target":746},{"source":743,"target":580},{"source":743,"target":747},{"source":746,"target":581},{"source":744,"target":578},{"source":581,"target":8},{"source":581,"target":575},{"source":581,"target":747},{"source":581,"target":748},{"source":747,"target":580},{"source":747,"target":749},{"source":747,"target":581},{"source":747,"target":743},{"source":749,"target":580},{"source":748,"target":575},{"source":364,"target":8},{"source":364,"target":136},{"source":364,"target":750},{"source":364,"target":751},{"source":750,"target":581},{"source":750,"target":752},{"source":750,"target":364},{"source":752,"target":581},{"source":751,"target":136},{"source":136,"target":8},{"source":136,"target":118},{"source":136,"target":138},{"source":136,"target":753},{"source":138,"target":110},{"source":138,"target":754},{"source":138,"target":136},{"source":138,"target":133},{"source":754,"target":110},{"source":753,"target":118},{"source":453,"target":8},{"source":453,"target":578},{"source":453,"target":755},{"source":453,"target":756},{"source":453,"target":680},{"source":453,"target":757},{"source":453,"target":758},{"source":755,"target":759},{"source":755,"target":453},{"source":755,"target":760},{"source":755,"target":761},{"source":760,"target":762},{"source":760,"target":755},{"source":761,"target":763},{"source":761,"target":755},{"source":763,"target":764},{"source":763,"target":765},{"source":756,"target":582},{"source":756,"target":766},{"source":756,"target":453},{"source":756,"target":767},{"source":766,"target":582},{"source":680,"target":572},{"source":680,"target":768},{"source":680,"target":453},{"source":680,"target":671},{"source":768,"target":572},{"source":757,"target":573},{"source":757,"target":769},{"source":757,"target":453},{"source":769,"target":573},{"source":758,"target":578},{"source":582,"target":8},{"source":582,"target":575},{"source":582,"target":770},{"source":582,"target":767},{"source":582,"target":771},{"source":770,"target":772},{"source":770,"target":582},{"source":770,"target":773},{"source":770,"target":774},{"source":773,"target":775},{"source":773,"target":770},{"source":774,"target":776},{"source":774,"target":770},{"source":776,"target":777},{"source":776,"target":778},{"source":767,"target":453},{"source":767,"target":779},{"source":767,"target":582},{"source":767,"target":756},{"source":779,"target":453},{"source":771,"target":575},{"source":296,"target":8},{"source":296,"target":136},{"source":296,"target":780},{"source":296,"target":781},{"source":780,"target":582},{"source":780,"target":782},{"source":780,"target":296},{"source":782,"target":582},{"source":781,"target":136},{"source":232,"target":8},{"source":232,"target":136},{"source":232,"target":783},{"source":232,"target":784},{"source":783,"target":222},{"source":783,"target":785},{"source":783,"target":232},{"source":785,"target":222},{"source":784,"target":136},{"source":239,"target":8},{"source":239,"target":130},{"source":239,"target":786},{"source":239,"target":787},{"source":786,"target":222},{"source":786,"target":788},{"source":786,"target":239},{"source":788,"target":222},{"source":787,"target":130},{"source":264,"target":8},{"source":264,"target":130},{"source":264,"target":789},{"source":264,"target":790},{"source":789,"target":582},{"source":789,"target":791},{"source":789,"target":264},{"source":791,"target":582},{"source":790,"target":130},{"source":362,"target":8},{"source":362,"target":130},{"source":362,"target":792},{"source":362,"target":793},{"source":792,"target":581},{"source":792,"target":794},{"source":792,"target":362},{"source":794,"target":581},{"source":793,"target":130},{"source":583,"target":8},{"source":583,"target":795},{"source":583,"target":796},{"source":583,"target":797},{"source":583,"target":798},{"source":795,"target":583},{"source":796,"target":583},{"source":797,"target":583},{"source":798,"target":583},{"source":584,"target":8},{"source":584,"target":393},{"source":584,"target":799},{"source":584,"target":800},{"source":584,"target":801},{"source":584,"target":802},{"source":799,"target":803},{"source":799,"target":584},{"source":799,"target":804},{"source":799,"target":805},{"source":804,"target":806},{"source":804,"target":799},{"source":805,"target":807},{"source":805,"target":799},{"source":807,"target":808},{"source":807,"target":809},{"source":800,"target":810},{"source":800,"target":584},{"source":800,"target":811},{"source":800,"target":812},{"source":811,"target":813},{"source":811,"target":800},{"source":812,"target":814},{"source":812,"target":800},{"source":814,"target":815},{"source":814,"target":816},{"source":801,"target":585},{"source":801,"target":817},{"source":801,"target":584},{"source":817,"target":585},{"source":802,"target":393},{"source":585,"target":8},{"source":585,"target":393},{"source":585,"target":818},{"source":585,"target":819},{"source":818,"target":820},{"source":818,"target":585},{"source":818,"target":821},{"source":818,"target":822},{"source":821,"target":823},{"source":821,"target":818},{"source":822,"target":824},{"source":822,"target":818},{"source":824,"target":825},{"source":824,"target":826},{"source":819,"target":393},{"source":586,"target":8},{"source":586,"target":827},{"source":586,"target":828},{"source":827,"target":586},{"source":828,"target":586},{"source":587,"target":8},{"source":587,"target":114},{"source":587,"target":571},{"source":587,"target":829},{"source":587,"target":830},{"source":587,"target":831},{"source":587,"target":832},{"source":829,"target":833},{"source":829,"target":587},{"source":829,"target":834},{"source":829,"target":835},{"source":834,"target":836},{"source":834,"target":829},{"source":835,"target":837},{"source":835,"target":829},{"source":837,"target":838},{"source":837,"target":839},{"source":830,"target":840},{"source":830,"target":587},{"source":830,"target":841},{"source":830,"target":842},{"source":841,"target":843},{"source":841,"target":830},{"source":842,"target":844},{"source":842,"target":830},{"source":844,"target":845},{"source":844,"target":846},{"source":831,"target":114},{"source":832,"target":571},{"source":588,"target":8},{"source":588,"target":573},{"source":588,"target":847},{"source":588,"target":848},{"source":847,"target":589},{"source":847,"target":849},{"source":847,"target":588},{"source":849,"target":589},{"source":848,"target":573},{"source":589,"target":8},{"source":589,"target":850},{"source":589,"target":851},{"source":589,"target":852},{"source":589,"target":853},{"source":589,"target":854},{"source":589,"target":855},{"source":589,"target":856},{"source":850,"target":589},{"source":851,"target":589},{"source":852,"target":589},{"source":853,"target":589},{"source":854,"target":589},{"source":855,"target":589},{"source":856,"target":589},{"source":590,"target":8},{"source":590,"target":117},{"source":590,"target":573},{"source":590,"target":857},{"source":590,"target":858},{"source":590,"target":859},{"source":857,"target":573},{"source":857,"target":860},{"source":857,"target":590},{"source":860,"target":573},{"source":858,"target":117},{"source":859,"target":573},{"source":591,"target":8},{"source":591,"target":117},{"source":591,"target":573},{"source":591,"target":861},{"source":591,"target":862},{"source":591,"target":863},{"source":591,"target":864},{"source":861,"target":591},{"source":861,"target":865},{"source":861,"target":591},{"source":865,"target":591},{"source":862,"target":592},{"source":862,"target":866},{"source":862,"target":591},{"source":862,"target":867},{"source":866,"target":592},{"source":863,"target":117},{"source":864,"target":573},{"source":592,"target":8},{"source":592,"target":115},{"source":592,"target":868},{"source":592,"target":867},{"source":592,"target":869},{"source":868,"target":573},{"source":868,"target":870},{"source":868,"target":592},{"source":870,"target":573},{"source":867,"target":591},{"source":867,"target":871},{"source":867,"target":592},{"source":867,"target":862},{"source":871,"target":591},{"source":869,"target":115},{"source":118,"target":8},{"source":118,"target":117},{"source":118,"target":872},{"source":872,"target":117},{"source":9,"target":685},{"source":9,"target":873},{"source":9,"target":874},{"source":9,"target":875},{"source":9,"target":876},{"source":9,"target":877},{"source":9,"target":124},{"source":9,"target":0},{"source":685,"target":9},{"source":685,"target":117},{"source":685,"target":687},{"source":685,"target":878},{"source":685,"target":879},{"source":685,"target":880},{"source":687,"target":572},{"source":687,"target":881},{"source":687,"target":685},{"source":687,"target":675},{"source":881,"target":572},{"source":878,"target":882},{"source":878,"target":685},{"source":879,"target":124},{"source":879,"target":883},{"source":879,"target":685},{"source":879,"target":884},{"source":883,"target":124},{"source":880,"target":117},{"source":873,"target":9},{"source":873,"target":874},{"source":873,"target":885},{"source":873,"target":886},{"source":885,"target":887},{"source":885,"target":888},{"source":885,"target":873},{"source":885,"target":889},{"source":888,"target":887},{"source":886,"target":874},{"source":874,"target":9},{"source":874,"target":117},{"source":874,"target":113},{"source":874,"target":890},{"source":874,"target":891},{"source":874,"target":892},{"source":874,"target":893},{"source":890,"target":875},{"source":890,"target":894},{"source":890,"target":874},{"source":890,"target":895},{"source":894,"target":875},{"source":891,"target":117},{"source":893,"target":113},{"source":875,"target":9},{"source":875,"target":896},{"source":875,"target":897},{"source":875,"target":895},{"source":896,"target":124},{"source":896,"target":898},{"source":896,"target":875},{"source":896,"target":899},{"source":898,"target":124},{"source":897,"target":876},{"source":897,"target":900},{"source":897,"target":875},{"source":897,"target":901},{"source":900,"target":876},{"source":895,"target":874},{"source":895,"target":902},{"source":895,"target":875},{"source":895,"target":890},{"source":902,"target":874},{"source":876,"target":9},{"source":876,"target":117},{"source":876,"target":901},{"source":876,"target":903},{"source":901,"target":875},{"source":901,"target":904},{"source":901,"target":876},{"source":901,"target":897},{"source":904,"target":875},{"source":903,"target":117},{"source":877,"target":9},{"source":877,"target":874},{"source":877,"target":905},{"source":877,"target":906},{"source":905,"target":907},{"source":905,"target":908},{"source":905,"target":877},{"source":905,"target":909},{"source":908,"target":907},{"source":906,"target":874},{"source":124,"target":9},{"source":124,"target":117},{"source":124,"target":899},{"source":124,"target":884},{"source":124,"target":910},{"source":899,"target":875},{"source":899,"target":911},{"source":899,"target":124},{"source":899,"target":896},{"source":911,"target":875},{"source":884,"target":685},{"source":884,"target":912},{"source":884,"target":124},{"source":884,"target":879},{"source":912,"target":685},{"source":910,"target":117},{"source":10,"target":716},{"source":10,"target":0},{"source":716,"target":10},{"source":716,"target":913},{"source":913,"target":914},{"source":913,"target":716},{"source":11,"target":395},{"source":11,"target":63},{"source":11,"target":915},{"source":11,"target":723},{"source":11,"target":0},{"source":395,"target":11},{"source":395,"target":916},{"source":395,"target":427},{"source":395,"target":917},{"source":395,"target":918},{"source":395,"target":919},{"source":395,"target":920},{"source":395,"target":921},{"source":395,"target":397},{"source":395,"target":459},{"source":395,"target":456},{"source":395,"target":922},{"source":916,"target":63},{"source":916,"target":923},{"source":916,"target":395},{"source":916,"target":924},{"source":923,"target":63},{"source":427,"target":400},{"source":427,"target":925},{"source":427,"target":395},{"source":427,"target":422},{"source":925,"target":400},{"source":917,"target":926},{"source":917,"target":927},{"source":917,"target":395},{"source":917,"target":928},{"source":927,"target":926},{"source":918,"target":929},{"source":918,"target":930},{"source":918,"target":395},{"source":918,"target":931},{"source":930,"target":929},{"source":919,"target":932},{"source":919,"target":933},{"source":919,"target":395},{"source":919,"target":934},{"source":933,"target":932},{"source":920,"target":935},{"source":920,"target":936},{"source":920,"target":395},{"source":920,"target":937},{"source":936,"target":935},{"source":921,"target":938},{"source":921,"target":939},{"source":921,"target":395},{"source":921,"target":940},{"source":939,"target":938},{"source":397,"target":180},{"source":397,"target":941},{"source":397,"target":395},{"source":397,"target":390},{"source":941,"target":180},{"source":459,"target":402},{"source":459,"target":942},{"source":459,"target":395},{"source":459,"target":436},{"source":942,"target":402},{"source":456,"target":402},{"source":456,"target":943},{"source":456,"target":395},{"source":456,"target":434},{"source":943,"target":402},{"source":922,"target":944},{"source":922,"target":395},{"source":63,"target":11},{"source":63,"target":945},{"source":63,"target":65},{"source":63,"target":924},{"source":945,"target":723},{"source":945,"target":946},{"source":945,"target":63},{"source":946,"target":723},{"source":65,"target":28},{"source":65,"target":947},{"source":65,"target":63},{"source":65,"target":34},{"source":947,"target":28},{"source":924,"target":395},{"source":924,"target":948},{"source":924,"target":63},{"source":924,"target":916},{"source":948,"target":395},{"source":915,"target":11},{"source":915,"target":949},{"source":915,"target":950},{"source":949,"target":723},{"source":949,"target":951},{"source":949,"target":915},{"source":951,"target":723},{"source":723,"target":11},{"source":723,"target":952},{"source":723,"target":953},{"source":723,"target":954},{"source":723,"target":955},{"source":723,"target":956},{"source":952,"target":723},{"source":953,"target":723},{"source":954,"target":723},{"source":955,"target":723},{"source":956,"target":723},{"source":12,"target":957},{"source":12,"target":887},{"source":12,"target":958},{"source":12,"target":959},{"source":12,"target":907},{"source":12,"target":960},{"source":12,"target":599},{"source":12,"target":699},{"source":12,"target":0},{"source":957,"target":12},{"source":957,"target":961},{"source":957,"target":962},{"source":961,"target":963},{"source":961,"target":957},{"source":961,"target":964},{"source":961,"target":965},{"source":964,"target":966},{"source":964,"target":961},{"source":965,"target":967},{"source":965,"target":961},{"source":967,"target":968},{"source":967,"target":969},{"source":962,"target":970},{"source":962,"target":957},{"source":887,"target":12},{"source":887,"target":699},{"source":887,"target":971},{"source":887,"target":889},{"source":887,"target":972},{"source":971,"target":973},{"source":971,"target":887},{"source":971,"target":974},{"source":971,"target":975},{"source":974,"target":976},{"source":974,"target":971},{"source":975,"target":977},{"source":975,"target":971},{"source":977,"target":978},{"source":977,"target":979},{"source":889,"target":873},{"source":889,"target":980},{"source":889,"target":887},{"source":889,"target":885},{"source":980,"target":873},{"source":972,"target":699},{"source":958,"target":12},{"source":958,"target":699},{"source":958,"target":981},{"source":958,"target":982},{"source":981,"target":959},{"source":981,"target":983},{"source":981,"target":958},{"source":981,"target":984},{"source":983,"target":959},{"source":982,"target":699},{"source":959,"target":12},{"source":959,"target":957},{"source":959,"target":985},{"source":959,"target":986},{"source":959,"target":984},{"source":959,"target":987},{"source":985,"target":988},{"source":985,"target":959},{"source":985,"target":989},{"source":985,"target":990},{"source":989,"target":991},{"source":989,"target":985},{"source":990,"target":992},{"source":990,"target":985},{"source":992,"target":993},{"source":992,"target":994},{"source":986,"target":995},{"source":986,"target":996},{"source":986,"target":959},{"source":986,"target":997},{"source":996,"target":995},{"source":984,"target":958},{"source":984,"target":998},{"source":984,"target":959},{"source":984,"target":981},{"source":998,"target":958},{"source":987,"target":957},{"source":907,"target":12},{"source":907,"target":699},{"source":907,"target":999},{"source":907,"target":909},{"source":907,"target":1000},{"source":999,"target":1001},{"source":999,"target":907},{"source":999,"target":1002},{"source":999,"target":1003},{"source":1002,"target":1004},{"source":1002,"target":999},{"source":1003,"target":1005},{"source":1003,"target":999},{"source":1005,"target":1006},{"source":1005,"target":1007},{"source":909,"target":877},{"source":909,"target":1008},{"source":909,"target":907},{"source":909,"target":905},{"source":1008,"target":877},{"source":1000,"target":699},{"source":960,"target":12},{"source":960,"target":957},{"source":960,"target":1009},{"source":960,"target":1010},{"source":960,"target":1011},{"source":960,"target":1012},{"source":1009,"target":1013},{"source":1009,"target":960},{"source":1009,"target":1014},{"source":1009,"target":1015},{"source":1014,"target":1016},{"source":1014,"target":1009},{"source":1015,"target":1017},{"source":1015,"target":1009},{"source":1017,"target":1018},{"source":1017,"target":1019},{"source":1010,"target":1020},{"source":1010,"target":1021},{"source":1010,"target":960},{"source":1010,"target":1022},{"source":1021,"target":1020},{"source":1011,"target":699},{"source":1011,"target":1023},{"source":1011,"target":960},{"source":1023,"target":699},{"source":1012,"target":957},{"source":599,"target":12},{"source":599,"target":958},{"source":599,"target":601},{"source":599,"target":1024},{"source":601,"target":60},{"source":601,"target":1025},{"source":601,"target":599},{"source":601,"target":594},{"source":1025,"target":60},{"source":1024,"target":958},{"source":699,"target":12},{"source":699,"target":117},{"source":699,"target":701},{"source":699,"target":1026},{"source":701,"target":574},{"source":701,"target":1027},{"source":701,"target":699},{"source":701,"target":693},{"source":1027,"target":574},{"source":1026,"target":117},{"source":13,"target":1028},{"source":13,"target":1029},{"source":13,"target":1030},{"source":13,"target":1031},{"source":13,"target":1032},{"source":13,"target":1033},{"source":13,"target":1034},{"source":13,"target":926},{"source":13,"target":1035},{"source":13,"target":628},{"source":13,"target":1036},{"source":13,"target":1037},{"source":13,"target":1038},{"source":13,"target":75},{"source":13,"target":1039},{"source":13,"target":1040},{"source":13,"target":929},{"source":13,"target":1041},{"source":13,"target":932},{"source":13,"target":1042},{"source":13,"target":1043},{"source":13,"target":1044},{"source":13,"target":78},{"source":13,"target":935},{"source":13,"target":1045},{"source":13,"target":1046},{"source":13,"target":995},{"source":13,"target":1047},{"source":13,"target":1048},{"source":13,"target":0},{"source":1028,"target":13},{"source":1028,"target":1029},{"source":1028,"target":1049},{"source":1028,"target":1050},{"source":1049,"target":1051},{"source":1049,"target":1028},{"source":1049,"target":1052},{"source":1049,"target":1053},{"source":1052,"target":1054},{"source":1052,"target":1049},{"source":1053,"target":1055},{"source":1053,"target":1049},{"source":1055,"target":1056},{"source":1055,"target":1057},{"source":1050,"target":1029},{"source":1029,"target":13},{"source":1029,"target":1030},{"source":1029,"target":1058},{"source":1029,"target":1059},{"source":1029,"target":1060},{"source":1029,"target":1061},{"source":1058,"target":72},{"source":1058,"target":1062},{"source":1058,"target":1029},{"source":1058,"target":1063},{"source":1062,"target":72},{"source":1059,"target":66},{"source":1059,"target":1064},{"source":1059,"target":1029},{"source":1059,"target":1065},{"source":1064,"target":66},{"source":1060,"target":69},{"source":1060,"target":1066},{"source":1060,"target":1029},{"source":1060,"target":1067},{"source":1066,"target":69},{"source":1061,"target":1030},{"source":1030,"target":13},{"source":1030,"target":117},{"source":1030,"target":1068},{"source":1030,"target":1069},{"source":1030,"target":1070},{"source":1030,"target":1071},{"source":1068,"target":1030},{"source":1068,"target":1072},{"source":1068,"target":1030},{"source":1068,"target":1069},{"source":1072,"target":1030},{"source":1069,"target":1030},{"source":1069,"target":1073},{"source":1069,"target":1030},{"source":1069,"target":1068},{"source":1073,"target":1030},{"source":1070,"target":1031},{"source":1070,"target":1074},{"source":1070,"target":1030},{"source":1070,"target":1075},{"source":1074,"target":1031},{"source":1071,"target":117},{"source":1031,"target":13},{"source":1031,"target":1076},{"source":1031,"target":1077},{"source":1031,"target":1078},{"source":1031,"target":1079},{"source":1031,"target":1080},{"source":1031,"target":1075},{"source":1031,"target":1081},{"source":1076,"target":1082},{"source":1076,"target":1031},{"source":1076,"target":1083},{"source":1076,"target":1084},{"source":1083,"target":1085},{"source":1083,"target":1076},{"source":1084,"target":1086},{"source":1084,"target":1076},{"source":1086,"target":1087},{"source":1086,"target":1088},{"source":1077,"target":1089},{"source":1077,"target":1031},{"source":1077,"target":1090},{"source":1077,"target":1091},{"source":1090,"target":1092},{"source":1090,"target":1077},{"source":1091,"target":1093},{"source":1091,"target":1077},{"source":1093,"target":1094},{"source":1093,"target":1095},{"source":1078,"target":1096},{"source":1078,"target":1031},{"source":1078,"target":1097},{"source":1078,"target":1098},{"source":1097,"target":1099},{"source":1097,"target":1078},{"source":1098,"target":1100},{"source":1098,"target":1078},{"source":1100,"target":1101},{"source":1100,"target":1102},{"source":1079,"target":1032},{"source":1079,"target":1103},{"source":1079,"target":1031},{"source":1079,"target":1104},{"source":1103,"target":1032},{"source":1080,"target":1033},{"source":1080,"target":1105},{"source":1080,"target":1031},{"source":1080,"target":1106},{"source":1105,"target":1033},{"source":1075,"target":1030},{"source":1075,"target":1107},{"source":1075,"target":1031},{"source":1075,"target":1070},{"source":1107,"target":1030},{"source":1032,"target":13},{"source":1032,"target":1029},{"source":1032,"target":1104},{"source":1032,"target":1108},{"source":1104,"target":1031},{"source":1104,"target":1109},{"source":1104,"target":1032},{"source":1104,"target":1079},{"source":1109,"target":1031},{"source":1108,"target":1029},{"source":1033,"target":13},{"source":1033,"target":117},{"source":1033,"target":1110},{"source":1033,"target":1106},{"source":1033,"target":1111},{"source":1110,"target":1034},{"source":1110,"target":1112},{"source":1110,"target":1033},{"source":1110,"target":1113},{"source":1112,"target":1034},{"source":1106,"target":1031},{"source":1106,"target":1114},{"source":1106,"target":1033},{"source":1106,"target":1080},{"source":1114,"target":1031},{"source":1111,"target":117},{"source":1034,"target":13},{"source":1034,"target":1029},{"source":1034,"target":1115},{"source":1034,"target":1116},{"source":1034,"target":1113},{"source":1034,"target":1117},{"source":1115,"target":1118},{"source":1115,"target":1034},{"source":1115,"target":1119},{"source":1115,"target":1120},{"source":1119,"target":1121},{"source":1119,"target":1115},{"source":1120,"target":1122},{"source":1120,"target":1115},{"source":1122,"target":1123},{"source":1122,"target":1124},{"source":1116,"target":1125},{"source":1116,"target":1034},{"source":1116,"target":1126},{"source":1116,"target":1127},{"source":1126,"target":1128},{"source":1126,"target":1116},{"source":1127,"target":1129},{"source":1127,"target":1116},{"source":1129,"target":1130},{"source":1129,"target":1131},{"source":1113,"target":1033},{"source":1113,"target":1132},{"source":1113,"target":1034},{"source":1113,"target":1110},{"source":1132,"target":1033},{"source":1117,"target":1029},{"source":926,"target":13},{"source":926,"target":928},{"source":928,"target":395},{"source":928,"target":1133},{"source":928,"target":926},{"source":928,"target":917},{"source":1133,"target":395},{"source":1035,"target":13},{"source":1035,"target":1029},{"source":1035,"target":1134},{"source":1035,"target":1135},{"source":1134,"target":1136},{"source":1134,"target":1035},{"source":1134,"target":1137},{"source":1134,"target":1138},{"source":1137,"target":1139},{"source":1137,"target":1134},{"source":1138,"target":1140},{"source":1138,"target":1134},{"source":1140,"target":1141},{"source":1140,"target":1142},{"source":1135,"target":1029},{"source":628,"target":13},{"source":628,"target":1143},{"source":628,"target":1144},{"source":628,"target":1145},{"source":628,"target":630},{"source":1143,"target":1146},{"source":1143,"target":628},{"source":1143,"target":1147},{"source":1143,"target":1148},{"source":1147,"target":1149},{"source":1147,"target":1143},{"source":1148,"target":1150},{"source":1148,"target":1143},{"source":1150,"target":1151},{"source":1150,"target":1152},{"source":1144,"target":1153},{"source":1144,"target":628},{"source":1145,"target":578},{"source":1145,"target":1154},{"source":1145,"target":628},{"source":1154,"target":578},{"source":630,"target":570},{"source":630,"target":1155},{"source":630,"target":628},{"source":630,"target":605},{"source":1155,"target":570},{"source":1036,"target":13},{"source":1036,"target":628},{"source":1036,"target":1031},{"source":1036,"target":1156},{"source":1036,"target":1157},{"source":1036,"target":1158},{"source":1036,"target":1159},{"source":1156,"target":1037},{"source":1156,"target":1160},{"source":1156,"target":1036},{"source":1156,"target":1161},{"source":1160,"target":1037},{"source":1158,"target":628},{"source":1159,"target":1031},{"source":1037,"target":13},{"source":1037,"target":1031},{"source":1037,"target":1161},{"source":1037,"target":1162},{"source":1161,"target":1036},{"source":1161,"target":1163},{"source":1161,"target":1037},{"source":1161,"target":1156},{"source":1163,"target":1036},{"source":1162,"target":1031},{"source":1038,"target":13},{"source":1038,"target":1029},{"source":1038,"target":1164},{"source":1038,"target":1165},{"source":1164,"target":60},{"source":1164,"target":1166},{"source":1164,"target":1038},{"source":1166,"target":60},{"source":1165,"target":1029},{"source":75,"target":13},{"source":75,"target":1032},{"source":75,"target":77},{"source":75,"target":1167},{"source":77,"target":28},{"source":77,"target":1168},{"source":77,"target":75},{"source":77,"target":38},{"source":1168,"target":28},{"source":1167,"target":1032},{"source":1039,"target":13},{"source":1039,"target":1029},{"source":1039,"target":1169},{"source":1039,"target":1170},{"source":1039,"target":1171},{"source":1169,"target":1040},{"source":1169,"target":1172},{"source":1169,"target":1039},{"source":1169,"target":1173},{"source":1172,"target":1040},{"source":1170,"target":929},{"source":1170,"target":1174},{"source":1170,"target":1039},{"source":1170,"target":1175},{"source":1174,"target":929},{"source":1171,"target":1029},{"source":1040,"target":13},{"source":1040,"target":1031},{"source":1040,"target":1176},{"source":1040,"target":1173},{"source":1040,"target":1177},{"source":1176,"target":929},{"source":1176,"target":1178},{"source":1176,"target":1040},{"source":1176,"target":1179},{"source":1178,"target":929},{"source":1173,"target":1039},{"source":1173,"target":1180},{"source":1173,"target":1040},{"source":1173,"target":1169},{"source":1180,"target":1039},{"source":1177,"target":1031},{"source":929,"target":13},{"source":929,"target":931},{"source":929,"target":1175},{"source":929,"target":1179},{"source":931,"target":395},{"source":931,"target":1181},{"source":931,"target":929},{"source":931,"target":918},{"source":1181,"target":395},{"source":1175,"target":1039},{"source":1175,"target":1182},{"source":1175,"target":929},{"source":1175,"target":1170},{"source":1182,"target":1039},{"source":1179,"target":1040},{"source":1179,"target":1183},{"source":1179,"target":929},{"source":1179,"target":1176},{"source":1183,"target":1040},{"source":1041,"target":13},{"source":1041,"target":1030},{"source":1041,"target":932},{"source":1041,"target":1184},{"source":1041,"target":1185},{"source":1041,"target":1186},{"source":1041,"target":1187},{"source":1041,"target":1188},{"source":1041,"target":1189},{"source":1041,"target":1190},{"source":1041,"target":1191},{"source":1041,"target":1192},{"source":1185,"target":1193},{"source":1185,"target":1041},{"source":1185,"target":1194},{"source":1185,"target":1195},{"source":1194,"target":1196},{"source":1194,"target":1185},{"source":1195,"target":1197},{"source":1195,"target":1185},{"source":1197,"target":1198},{"source":1197,"target":1199},{"source":1186,"target":1200},{"source":1186,"target":1041},{"source":1186,"target":1201},{"source":1186,"target":1202},{"source":1201,"target":1203},{"source":1201,"target":1186},{"source":1202,"target":1204},{"source":1202,"target":1186},{"source":1204,"target":1205},{"source":1204,"target":1206},{"source":1187,"target":453},{"source":1187,"target":1207},{"source":1187,"target":1041},{"source":1207,"target":453},{"source":1188,"target":296},{"source":1188,"target":1208},{"source":1188,"target":1041},{"source":1208,"target":296},{"source":1189,"target":1209},{"source":1189,"target":1041},{"source":1190,"target":1030},{"source":1191,"target":932},{"source":1192,"target":1184},{"source":932,"target":13},{"source":932,"target":926},{"source":932,"target":934},{"source":932,"target":1210},{"source":934,"target":395},{"source":934,"target":1211},{"source":934,"target":932},{"source":934,"target":919},{"source":1211,"target":395},{"source":1210,"target":926},{"source":1042,"target":13},{"source":1042,"target":1033},{"source":1042,"target":1212},{"source":1042,"target":1213},{"source":1212,"target":1214},{"source":1212,"target":1042},{"source":1213,"target":1033},{"source":1043,"target":13},{"source":1043,"target":1029},{"source":1043,"target":1215},{"source":1043,"target":1216},{"source":1043,"target":1217},{"source":1043,"target":1218},{"source":1043,"target":1219},{"source":1215,"target":1220},{"source":1215,"target":1043},{"source":1215,"target":1221},{"source":1215,"target":1222},{"source":1221,"target":1223},{"source":1221,"target":1215},{"source":1222,"target":1224},{"source":1222,"target":1215},{"source":1224,"target":1225},{"source":1224,"target":1226},{"source":1216,"target":60},{"source":1216,"target":1227},{"source":1216,"target":1043},{"source":1227,"target":60},{"source":1217,"target":1228},{"source":1217,"target":1043},{"source":1218,"target":1229},{"source":1218,"target":1043},{"source":1219,"target":1029},{"source":1044,"target":13},{"source":1044,"target":1032},{"source":1044,"target":1230},{"source":1044,"target":1231},{"source":1230,"target":572},{"source":1230,"target":1232},{"source":1230,"target":1044},{"source":1232,"target":572},{"source":1231,"target":1032},{"source":78,"target":13},{"source":78,"target":1033},{"source":78,"target":80},{"source":78,"target":1233},{"source":80,"target":28},{"source":80,"target":1234},{"source":80,"target":78},{"source":80,"target":39},{"source":1234,"target":28},{"source":1233,"target":1033},{"source":935,"target":13},{"source":935,"target":1029},{"source":935,"target":937},{"source":935,"target":1235},{"source":937,"target":395},{"source":937,"target":1236},{"source":937,"target":935},{"source":937,"target":920},{"source":1236,"target":395},{"source":1235,"target":1029},{"source":1045,"target":13},{"source":1045,"target":926},{"source":1045,"target":1029},{"source":1045,"target":1237},{"source":1045,"target":1238},{"source":1045,"target":1239},{"source":1237,"target":1037},{"source":1237,"target":1240},{"source":1237,"target":1045},{"source":1240,"target":1037},{"source":1238,"target":926},{"source":1239,"target":1029},{"source":1046,"target":13},{"source":1046,"target":1030},{"source":1046,"target":926},{"source":1046,"target":1241},{"source":1046,"target":1242},{"source":1046,"target":1243},{"source":1046,"target":1244},{"source":1241,"target":577},{"source":1241,"target":1245},{"source":1241,"target":1046},{"source":1245,"target":577},{"source":1242,"target":232},{"source":1242,"target":1246},{"source":1242,"target":1046},{"source":1246,"target":232},{"source":1243,"target":1030},{"source":1244,"target":926},{"source":995,"target":13},{"source":995,"target":1029},{"source":995,"target":1247},{"source":995,"target":1248},{"source":995,"target":997},{"source":995,"target":1249},{"source":1247,"target":1250},{"source":1247,"target":995},{"source":1247,"target":1251},{"source":1247,"target":1252},{"source":1251,"target":1253},{"source":1251,"target":1247},{"source":1252,"target":1254},{"source":1252,"target":1247},{"source":1254,"target":1255},{"source":1254,"target":1256},{"source":1248,"target":1257},{"source":1248,"target":995},{"source":1248,"target":1258},{"source":1248,"target":1259},{"source":1258,"target":1260},{"source":1258,"target":1248},{"source":1259,"target":1261},{"source":1259,"target":1248},{"source":1261,"target":1262},{"source":1261,"target":1263},{"source":997,"target":959},{"source":997,"target":1264},{"source":997,"target":995},{"source":997,"target":986},{"source":1264,"target":959},{"source":1249,"target":1029},{"source":1047,"target":66},{"source":1047,"target":69},{"source":1047,"target":72},{"source":1047,"target":13},{"source":66,"target":1047},{"source":66,"target":926},{"source":66,"target":1265},{"source":66,"target":1266},{"source":66,"target":1267},{"source":66,"target":1268},{"source":66,"target":68},{"source":66,"target":1065},{"source":66,"target":1269},{"source":66,"target":1270},{"source":1265,"target":1271},{"source":1265,"target":66},{"source":1265,"target":1272},{"source":1265,"target":1273},{"source":1272,"target":1274},{"source":1272,"target":1265},{"source":1273,"target":1275},{"source":1273,"target":1265},{"source":1275,"target":1276},{"source":1275,"target":1277},{"source":1266,"target":1278},{"source":1266,"target":66},{"source":1266,"target":1279},{"source":1266,"target":1280},{"source":1279,"target":1281},{"source":1279,"target":1266},{"source":1280,"target":1282},{"source":1280,"target":1266},{"source":1282,"target":1283},{"source":1282,"target":1284},{"source":1267,"target":1285},{"source":1267,"target":66},{"source":1267,"target":1286},{"source":1267,"target":1287},{"source":1286,"target":1288},{"source":1286,"target":1267},{"source":1287,"target":1289},{"source":1287,"target":1267},{"source":1289,"target":1290},{"source":1289,"target":1291},{"source":1268,"target":580},{"source":1268,"target":1292},{"source":1268,"target":66},{"source":1292,"target":580},{"source":68,"target":28},{"source":68,"target":1293},{"source":68,"target":66},{"source":68,"target":35},{"source":1293,"target":28},{"source":1065,"target":1029},{"source":1065,"target":1294},{"source":1065,"target":66},{"source":1065,"target":1059},{"source":1294,"target":1029},{"source":1269,"target":364},{"source":1269,"target":1295},{"source":1269,"target":66},{"source":1295,"target":364},{"source":1270,"target":926},{"source":69,"target":1047},{"source":69,"target":926},{"source":69,"target":1296},{"source":69,"target":1297},{"source":69,"target":1298},{"source":69,"target":1067},{"source":69,"target":1299},{"source":69,"target":1300},{"source":69,"target":71},{"source":69,"target":1301},{"source":1296,"target":1302},{"source":1296,"target":69},{"source":1296,"target":1303},{"source":1296,"target":1304},{"source":1303,"target":1305},{"source":1303,"target":1296},{"source":1304,"target":1306},{"source":1304,"target":1296},{"source":1306,"target":1307},{"source":1306,"target":1308},{"source":1297,"target":1309},{"source":1297,"target":69},{"source":1297,"target":1310},{"source":1297,"target":1311},{"source":1310,"target":1312},{"source":1310,"target":1297},{"source":1311,"target":1313},{"source":1311,"target":1297},{"source":1313,"target":1314},{"source":1313,"target":1315},{"source":1298,"target":1316},{"source":1298,"target":69},{"source":1298,"target":1317},{"source":1298,"target":1318},{"source":1317,"target":1319},{"source":1317,"target":1298},{"source":1318,"target":1320},{"source":1318,"target":1298},{"source":1320,"target":1321},{"source":1320,"target":1322},{"source":1067,"target":1029},{"source":1067,"target":1323},{"source":1067,"target":69},{"source":1067,"target":1060},{"source":1323,"target":1029},{"source":1299,"target":112},{"source":1299,"target":1324},{"source":1299,"target":69},{"source":1324,"target":112},{"source":1300,"target":685},{"source":1300,"target":1325},{"source":1300,"target":69},{"source":1325,"target":685},{"source":71,"target":28},{"source":71,"target":1326},{"source":71,"target":69},{"source":71,"target":36},{"source":1326,"target":28},{"source":1301,"target":926},{"source":72,"target":1047},{"source":72,"target":1327},{"source":72,"target":74},{"source":72,"target":1328},{"source":72,"target":1063},{"source":1327,"target":1329},{"source":1327,"target":72},{"source":1327,"target":1330},{"source":1327,"target":1331},{"source":1330,"target":1332},{"source":1330,"target":1327},{"source":1331,"target":1333},{"source":1331,"target":1327},{"source":1333,"target":1334},{"source":1333,"target":1335},{"source":74,"target":28},{"source":74,"target":1336},{"source":74,"target":72},{"source":74,"target":37},{"source":1336,"target":28},{"source":1328,"target":873},{"source":1328,"target":1337},{"source":1328,"target":72},{"source":1337,"target":873},{"source":1063,"target":1029},{"source":1063,"target":1338},{"source":1063,"target":72},{"source":1063,"target":1058},{"source":1338,"target":1029},{"source":1048,"target":1339},{"source":1048,"target":1340},{"source":1048,"target":1184},{"source":1048,"target":13},{"source":1339,"target":1048},{"source":1339,"target":1184},{"source":1339,"target":1031},{"source":1339,"target":1341},{"source":1339,"target":1342},{"source":1339,"target":1343},{"source":1339,"target":1344},{"source":1339,"target":1345},{"source":1339,"target":1346},{"source":1339,"target":1347},{"source":1341,"target":1348},{"source":1341,"target":1339},{"source":1341,"target":1349},{"source":1341,"target":1350},{"source":1349,"target":1351},{"source":1349,"target":1341},{"source":1350,"target":1352},{"source":1350,"target":1341},{"source":1352,"target":1353},{"source":1352,"target":1354},{"source":1342,"target":1355},{"source":1342,"target":1339},{"source":1342,"target":1356},{"source":1342,"target":1357},{"source":1356,"target":1358},{"source":1356,"target":1342},{"source":1357,"target":1359},{"source":1357,"target":1342},{"source":1359,"target":1360},{"source":1359,"target":1361},{"source":1343,"target":1362},{"source":1343,"target":1339},{"source":1343,"target":1363},{"source":1343,"target":1364},{"source":1363,"target":1365},{"source":1363,"target":1343},{"source":1364,"target":1366},{"source":1364,"target":1343},{"source":1366,"target":1367},{"source":1366,"target":1368},{"source":1344,"target":1339},{"source":1344,"target":1369},{"source":1344,"target":1339},{"source":1369,"target":1339},{"source":1345,"target":1340},{"source":1345,"target":1370},{"source":1345,"target":1339},{"source":1345,"target":1371},{"source":1370,"target":1340},{"source":1346,"target":1184},{"source":1347,"target":1031},{"source":1340,"target":1048},{"source":1340,"target":1029},{"source":1340,"target":1372},{"source":1340,"target":1373},{"source":1340,"target":1371},{"source":1340,"target":1374},{"source":1372,"target":1375},{"source":1372,"target":1340},{"source":1372,"target":1376},{"source":1372,"target":1377},{"source":1376,"target":1378},{"source":1376,"target":1372},{"source":1377,"target":1379},{"source":1377,"target":1372},{"source":1379,"target":1380},{"source":1379,"target":1381},{"source":1373,"target":1339},{"source":1373,"target":1382},{"source":1373,"target":1340},{"source":1382,"target":1339},{"source":1371,"target":1339},{"source":1371,"target":1383},{"source":1371,"target":1340},{"source":1371,"target":1345},{"source":1383,"target":1339},{"source":1374,"target":1029},{"source":1184,"target":1048},{"source":1184,"target":117},{"source":1184,"target":1384},{"source":1184,"target":1385},{"source":1384,"target":699},{"source":1384,"target":1386},{"source":1384,"target":1184},{"source":1386,"target":699},{"source":1385,"target":117},{"source":14,"target":1387},{"source":14,"target":1388},{"source":14,"target":938},{"source":14,"target":1389},{"source":14,"target":1390},{"source":14,"target":0},{"source":1387,"target":14},{"source":1387,"target":1391},{"source":1387,"target":1392},{"source":1387,"target":1393},{"source":1391,"target":578},{"source":1391,"target":1394},{"source":1391,"target":1387},{"source":1394,"target":578},{"source":1392,"target":118},{"source":1392,"target":1395},{"source":1392,"target":1387},{"source":1395,"target":118},{"source":1393,"target":1388},{"source":1393,"target":1396},{"source":1393,"target":1387},{"source":1393,"target":1397},{"source":1396,"target":1388},{"source":1388,"target":14},{"source":1388,"target":117},{"source":1388,"target":1398},{"source":1388,"target":1399},{"source":1388,"target":1400},{"source":1388,"target":1397},{"source":1388,"target":1401},{"source":1398,"target":1402},{"source":1398,"target":1388},{"source":1398,"target":1403},{"source":1398,"target":1404},{"source":1403,"target":1405},{"source":1403,"target":1398},{"source":1404,"target":1406},{"source":1404,"target":1398},{"source":1406,"target":1407},{"source":1406,"target":1408},{"source":1399,"target":938},{"source":1399,"target":1409},{"source":1399,"target":1388},{"source":1399,"target":1410},{"source":1409,"target":938},{"source":1400,"target":1411},{"source":1400,"target":1412},{"source":1400,"target":1388},{"source":1400,"target":1413},{"source":1412,"target":1411},{"source":1397,"target":1387},{"source":1397,"target":1414},{"source":1397,"target":1388},{"source":1397,"target":1393},{"source":1414,"target":1387},{"source":1401,"target":117},{"source":938,"target":14},{"source":938,"target":1415},{"source":938,"target":1416},{"source":938,"target":940},{"source":938,"target":1410},{"source":1415,"target":578},{"source":1415,"target":1417},{"source":1415,"target":938},{"source":1417,"target":578},{"source":1416,"target":118},{"source":1416,"target":1418},{"source":1416,"target":938},{"source":1418,"target":118},{"source":940,"target":395},{"source":940,"target":1419},{"source":940,"target":938},{"source":940,"target":921},{"source":1419,"target":395},{"source":1410,"target":1388},{"source":1410,"target":1420},{"source":1410,"target":938},{"source":1410,"target":1399},{"source":1420,"target":1388},{"source":1389,"target":1421},{"source":1389,"target":81},{"source":1389,"target":1422},{"source":1389,"target":14},{"source":1421,"target":1389},{"source":1421,"target":81},{"source":1421,"target":1423},{"source":1421,"target":1424},{"source":1423,"target":1425},{"source":1423,"target":1421},{"source":1423,"target":1426},{"source":1423,"target":1427},{"source":1426,"target":1428},{"source":1426,"target":1423},{"source":1427,"target":1429},{"source":1427,"target":1423},{"source":1429,"target":1430},{"source":1429,"target":1431},{"source":1424,"target":81},{"source":81,"target":1389},{"source":81,"target":1387},{"source":81,"target":83},{"source":81,"target":1432},{"source":83,"target":28},{"source":83,"target":1433},{"source":83,"target":81},{"source":83,"target":40},{"source":1433,"target":28},{"source":1432,"target":1387},{"source":1422,"target":1389},{"source":1422,"target":81},{"source":1422,"target":1434},{"source":1422,"target":1435},{"source":1434,"target":180},{"source":1434,"target":1436},{"source":1434,"target":1422},{"source":1436,"target":180},{"source":1435,"target":81},{"source":1390,"target":1020},{"source":1390,"target":14},{"source":1020,"target":1390},{"source":1020,"target":1387},{"source":1020,"target":1437},{"source":1020,"target":1438},{"source":1020,"target":1439},{"source":1020,"target":1022},{"source":1020,"target":1440},{"source":1437,"target":1441},{"source":1437,"target":1020},{"source":1437,"target":1442},{"source":1437,"target":1443},{"source":1442,"target":1444},{"source":1442,"target":1437},{"source":1443,"target":1445},{"source":1443,"target":1437},{"source":1445,"target":1446},{"source":1445,"target":1447},{"source":1438,"target":1448},{"source":1438,"target":1020},{"source":1438,"target":1449},{"source":1438,"target":1450},{"source":1449,"target":1451},{"source":1449,"target":1438},{"source":1450,"target":1452},{"source":1450,"target":1438},{"source":1452,"target":1453},{"source":1452,"target":1454},{"source":1439,"target":1455},{"source":1439,"target":1020},{"source":1439,"target":1456},{"source":1439,"target":1457},{"source":1456,"target":1458},{"source":1456,"target":1439},{"source":1457,"target":1459},{"source":1457,"target":1439},{"source":1459,"target":1460},{"source":1459,"target":1461},{"source":1022,"target":960},{"source":1022,"target":1462},{"source":1022,"target":1020},{"source":1022,"target":1010},{"source":1462,"target":960},{"source":1440,"target":1387},{"source":15,"target":1411},{"source":15,"target":0},{"source":1411,"target":15},{"source":1411,"target":117},{"source":1411,"target":114},{"source":1411,"target":1463},{"source":1411,"target":1413},{"source":1411,"target":1464},{"source":1411,"target":1465},{"source":1463,"target":1466},{"source":1463,"target":1411},{"source":1463,"target":1467},{"source":1463,"target":1468},{"source":1467,"target":1469},{"source":1467,"target":1463},{"source":1468,"target":1470},{"source":1468,"target":1463},{"source":1470,"target":1471},{"source":1470,"target":1472},{"source":1413,"target":1388},{"source":1413,"target":1473},{"source":1413,"target":1411},{"source":1413,"target":1400},{"source":1473,"target":1388},{"source":1464,"target":117},{"source":1465,"target":114},{"source":16,"target":1474},{"source":16,"target":1475},{"source":16,"target":1476},{"source":16,"target":102},{"source":16,"target":99},{"source":16,"target":0},{"source":1474,"target":16},{"source":1474,"target":115},{"source":1474,"target":1477},{"source":1474,"target":1478},{"source":1474,"target":1479},{"source":1477,"target":1475},{"source":1477,"target":1480},{"source":1477,"target":1474},{"source":1477,"target":1481},{"source":1480,"target":1475},{"source":1478,"target":1476},{"source":1478,"target":1482},{"source":1478,"target":1474},{"source":1478,"target":1483},{"source":1482,"target":1476},{"source":1479,"target":115},{"source":1475,"target":16},{"source":1475,"target":117},{"source":1475,"target":1484},{"source":1475,"target":1485},{"source":1475,"target":1481},{"source":1475,"target":1486},{"source":1484,"target":1476},{"source":1484,"target":1487},{"source":1484,"target":1475},{"source":1487,"target":1476},{"source":1485,"target":99},{"source":1485,"target":1488},{"source":1485,"target":1475},{"source":1485,"target":1489},{"source":1488,"target":99},{"source":1481,"target":1474},{"source":1481,"target":1490},{"source":1481,"target":1475},{"source":1481,"target":1477},{"source":1490,"target":1474},{"source":1486,"target":117},{"source":1476,"target":16},{"source":1476,"target":117},{"source":1476,"target":1491},{"source":1476,"target":1483},{"source":1476,"target":1492},{"source":1476,"target":1493},{"source":1476,"target":1494},{"source":1491,"target":102},{"source":1491,"target":1495},{"source":1491,"target":1476},{"source":1491,"target":1496},{"source":1495,"target":102},{"source":1483,"target":1474},{"source":1483,"target":1497},{"source":1483,"target":1476},{"source":1483,"target":1478},{"source":1497,"target":1474},{"source":1492,"target":1476},{"source":1492,"target":1498},{"source":1492,"target":1476},{"source":1492,"target":1493},{"source":1498,"target":1476},{"source":1493,"target":1476},{"source":1493,"target":1499},{"source":1493,"target":1476},{"source":1493,"target":1492},{"source":1499,"target":1476},{"source":1494,"target":117},{"source":102,"target":16},{"source":102,"target":1500},{"source":102,"target":1501},{"source":102,"target":1502},{"source":102,"target":1503},{"source":102,"target":1504},{"source":102,"target":104},{"source":102,"target":1505},{"source":102,"target":1496},{"source":102,"target":1506},{"source":1500,"target":1507},{"source":1500,"target":102},{"source":1501,"target":1508},{"source":1501,"target":102},{"source":1502,"target":1509},{"source":1502,"target":102},{"source":1503,"target":876},{"source":1503,"target":1510},{"source":1503,"target":102},{"source":1510,"target":876},{"source":1504,"target":873},{"source":1504,"target":1511},{"source":1504,"target":102},{"source":1511,"target":873},{"source":104,"target":28},{"source":104,"target":1512},{"source":104,"target":102},{"source":104,"target":47},{"source":1512,"target":28},{"source":1505,"target":1513},{"source":1505,"target":102},{"source":1496,"target":1476},{"source":1496,"target":1514},{"source":1496,"target":102},{"source":1496,"target":1491},{"source":1514,"target":1476},{"source":99,"target":16},{"source":99,"target":1489},{"source":99,"target":1515},{"source":99,"target":1516},{"source":99,"target":106},{"source":99,"target":101},{"source":99,"target":1517},{"source":1489,"target":1475},{"source":1489,"target":1518},{"source":1489,"target":99},{"source":1489,"target":1485},{"source":1518,"target":1475},{"source":1515,"target":1519},{"source":1515,"target":99},{"source":1516,"target":877},{"source":1516,"target":1520},{"source":1516,"target":99},{"source":1520,"target":877},{"source":106,"target":28},{"source":106,"target":1521},{"source":106,"target":99},{"source":106,"target":48},{"source":1521,"target":28},{"source":101,"target":28},{"source":101,"target":1522},{"source":101,"target":99},{"source":101,"target":46},{"source":1522,"target":28},{"source":17,"target":1523},{"source":17,"target":1524},{"source":17,"target":0},{"source":1523,"target":17},{"source":1523,"target":117},{"source":1523,"target":1525},{"source":1523,"target":1526},{"source":1523,"target":1527},{"source":1523,"target":1528},{"source":1523,"target":1529},{"source":1523,"target":1530},{"source":1525,"target":1531},{"source":1525,"target":1523},{"source":1525,"target":1532},{"source":1525,"target":1533},{"source":1532,"target":1534},{"source":1532,"target":1525},{"source":1533,"target":1535},{"source":1533,"target":1525},{"source":1535,"target":1536},{"source":1535,"target":1537},{"source":1526,"target":1476},{"source":1526,"target":1538},{"source":1526,"target":1523},{"source":1538,"target":1476},{"source":1527,"target":180},{"source":1527,"target":1539},{"source":1527,"target":1523},{"source":1539,"target":180},{"source":1528,"target":1524},{"source":1528,"target":1540},{"source":1528,"target":1523},{"source":1528,"target":1541},{"source":1540,"target":1524},{"source":1529,"target":169},{"source":1529,"target":1542},{"source":1529,"target":1523},{"source":1542,"target":169},{"source":1530,"target":117},{"source":1524,"target":17},{"source":1524,"target":117},{"source":1524,"target":1543},{"source":1524,"target":1544},{"source":1524,"target":1545},{"source":1524,"target":1546},{"source":1524,"target":1541},{"source":1524,"target":1547},{"source":1543,"target":1548},{"source":1543,"target":1524},{"source":1543,"target":1549},{"source":1543,"target":1550},{"source":1549,"target":1551},{"source":1549,"target":1543},{"source":1550,"target":1552},{"source":1550,"target":1543},{"source":1552,"target":1553},{"source":1552,"target":1554},{"source":1544,"target":1555},{"source":1544,"target":1524},{"source":1544,"target":1556},{"source":1544,"target":1557},{"source":1556,"target":1558},{"source":1556,"target":1544},{"source":1557,"target":1559},{"source":1557,"target":1544},{"source":1559,"target":1560},{"source":1559,"target":1561},{"source":1545,"target":1474},{"source":1545,"target":1562},{"source":1545,"target":1524},{"source":1562,"target":1474},{"source":1546,"target":1411},{"source":1546,"target":1563},{"source":1546,"target":1524},{"source":1563,"target":1411},{"source":1541,"target":1523},{"source":1541,"target":1564},{"source":1541,"target":1524},{"source":1541,"target":1528},{"source":1564,"target":1523},{"source":1547,"target":117},{"source":18,"target":1565},{"source":18,"target":0},{"source":1565,"target":18},{"source":1565,"target":114},{"source":1565,"target":393},{"source":1565,"target":1566},{"source":1565,"target":1567},{"source":1566,"target":114},{"source":1567,"target":393},{"source":19,"target":1568},{"source":19,"target":1569},{"source":19,"target":1570},{"source":19,"target":1571},{"source":19,"target":0},{"source":1568,"target":19},{"source":1568,"target":114},{"source":1568,"target":571},{"source":1568,"target":1572},{"source":1568,"target":1573},{"source":1572,"target":114},{"source":1573,"target":571},{"source":1569,"target":19},{"source":1569,"target":1574},{"source":1574,"target":1568},{"source":1574,"target":1575},{"source":1574,"target":1569},{"source":1575,"target":1568},{"source":1570,"target":19},{"source":1570,"target":1041},{"source":1570,"target":1576},{"source":1576,"target":1041},{"source":1571,"target":19},{"source":1571,"target":72},{"source":1571,"target":1577},{"source":1571,"target":1578},{"source":1577,"target":877},{"source":1577,"target":1579},{"source":1577,"target":1571},{"source":1579,"target":877},{"source":1578,"target":72}],"multigraph":true}