Constant Field Values

Contents

org.palladiosimulator.*

  • org.palladiosimulator.analyzer.completions.impl.CompletionImpl 
    Modifier and Type Constant Field Value
    protected static final String PROVIDE_SAME_OR_MORE_INTERFACES_AS_COMPLETE_COMPONENT_TYPE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP "-- ImplementationComponent has to provide the same or more interfaces like the CompleteComponentType (if set) #\tif\t\t -- apply constraint only for non-empty CompleteComponentTypes #\t\tself.parentCompleteComponentTypes->notEmpty()\tthen\t\tlet\t\t\t--own interfaces:\t\t\townInterfaces : Set(OperationInterface)\t\t\t = self.providedRoles_InterfaceProvidingEntity->select(pr|pr.oclIsTypeOf(OperationProvidedRole))->collect(pr : ProvidedRole | pr.oclAsType (OperationProvidedRole).providedInterface__OperationProvidedRole)->asSet() in \t--complete type interfaces: \tself.parentCompleteComponentTypes->forAll ( p : CompleteComponentType | ( \tp.providedRoles_InterfaceProvidingEntity->select(pr|pr.oclIsTypeOf(OperationProvidedRole))->collect(pr : ProvidedRole | pr.oclAsType (OperationProvidedRole).providedInterface__OperationProvidedRole)->asSet() \t- \townInterfaces \t)->isEmpty() \t)\telse\t\ttrue\tendif"
    protected static final String PROVIDED_INTERFACE_HAVE_TO_CONFORM_TO_COMPONENT_TYPE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP "-- assures that InfrastructureComponents only have InfrastructureInterfaces and that BusinessComponents only have OperationInterfaces or EventGroupsif self.componentType = ComponentType::INFRASTRUCTURE_COMPONENT then\tself.providedRoles_InterfaceProvidingEntity->select(role | role.oclIsTypeOf(OperationInterface) or role.oclIsTypeOf(EventGroup))->size() = 0else if self.componentType = ComponentType::BUSINESS_COMPONENT then\tself.providedRoles_InterfaceProvidingEntity->select(role | role.oclIsTypeOf(InfrastructureInterface))->size() = 0else\t1 = 0endifendif"
    protected static final String PROVIDED_INTERFACES_HAVE_TO_CONFORM_TO_COMPLETE_TYPE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP "-- ### EXACT COPY FROM ABOVE ###-- ImplementationComponentTypes provided Interfaces have to be a superset-- of CompleteComponentType provided Interfaces #---- ACCx are used to accumulate Sets/Bags; usually only the very inner ACCx is used at all.---- Recursive Query for parent Interface IDs-- see \'lpar2005.pdf\' (Second-order principles in specification languages for Object-Oriented Programs; Beckert, Tretelman) pp. 11 #--let parentInterfaces : Bag(Interface) =--\tself.providedRoles->iterate(r : ProvidedRole; acc2 : Bag(Interface) = Bag{} |--\t\tacc2->union(r.providedInterface.parentInterface->asBag()) -- asBag required to allow Set operations #--\t) in--let anchestorInterfaces : Bag(Interface) =--\tself.providedRoles->iterate(r : ProvidedRole; acc4 : Bag(Interface) = Bag{} |--\t\tacc4->union(r.providedInterface.parentInterface->asBag()) -- asBag required to allow Set operations #--\t)->union( -- union with anchestors found in former recursion #--\t\tself.providedRoles->iterate(r : ProvidedRole; acc6 : Bag(Interface) = Bag{} |--\t\t\tacc6->union(r.providedInterface.parentInterface.anchestorInterfaces) --already Set/Bag--\t\t)--\t) in\t-- Directly provided anchestorInterfaces need to be a superset of provided interfaces of Supertype #--\tanchestorInterfaces.identifier.id->includesAll(--\t\tself.parentProvidesComponentTypes->iterate(pt : ProvidesComponentType; acc1 : Bag(String) = Bag{} |--\t\t\tpt.providedRoles->iterate(r : ProvidedRole; acc2 : Bag(String) = Bag{} |--\t\t\t\tacc2->union(r.providedInterface.identifier.id->asBag()) -- asBag required to allow Set operations #--\t\t\t)--\t\t)--\t)true"
    protected static final String REQUIRE_SAME_OR_FEWER_INTERFACES_AS_COMPLETE_COMPONENT_TYPE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP "-- ImplementationComponent has to require the same or fewer interfaces like the CompleteComponentType (if set) #\tif\t\t-- apply constraint only for non-empty CompleteComponentTypes #\t\tself.parentCompleteComponentTypes->notEmpty()\tthen\t let\t --own interfaces:\t ownInterfaces : Set(OperationInterface) \t = self.requiredRoles_InterfaceRequiringEntity->select(rr|rr.oclIsTypeOf(OperationRequiredRole))->collect(rr : RequiredRole | rr.oclAsType (OperationRequiredRole).requiredInterface__OperationRequiredRole)->asSet()\t in\t --complete type interfaces:\t self.parentCompleteComponentTypes->forAll\t ( p : CompleteComponentType |\t \t(\t\t \townInterfaces\t\t -\t\t p.requiredRoles_InterfaceRequiringEntity->select(rr|rr.oclIsTypeOf(OperationRequiredRole))->collect(rr : RequiredRole | rr.oclAsType (OperationRequiredRole).requiredInterface__OperationRequiredRole)->asSet()\t \t)->isEmpty()\t \t)\telse\t\ttrue\tendif"
    protected static final String REQUIRED_INTERFACES_HAVE_TO_CONFORM_TO_COMPLETE_TYPE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP "-- ImplementationTypes required Interfaces have to be a subset-- of CompleteComponentType required Interfaces #---- ACCx are used to accumulate Sets/Bags; usually only the very inner ACCx is used at all.---- Recursive Query for parent Interface IDs-- see \'lpar2005.pdf\' (Second-order principles in specification languages for Object-Oriented Programs; Beckert, Tretelman) pp. 11 #--let parentInterfaces : Bag(Interface) =--\tself.parentCompleteComponentTypes->iterate(pt : CompleteComponentType; acc1 : Bag(Interface) = Bag{} |--\t\tacc1->union(pt.requiredRoles->iterate(r : RequiredRole; acc2 : Bag(Interface) = Bag{} |--\t\t\tacc2->union(r.requiredInterface.parentInterface->asBag()) -- asBag required to allow Set operations #--\t\t))--\t) in--let anchestorInterfaces : Bag(Interface) =--\tself.parentCompleteComponentTypes->iterate(pt : CompleteComponentType; acc3 : Bag(Interface) = Bag{} |--\t\tacc3->union(pt.requiredRoles->iterate(r : RequiredRole; acc4 : Bag(Interface) = Bag{} |--\t\t\tacc4->union(r.requiredInterface.parentInterface->asBag()) -- asBag required to allow Set operations #--\t\t))--\t)->union( -- union with anchestors found in former recursion #--\t\tself.parentCompleteComponentTypes->iterate(pt : CompleteComponentType; acc5 : Bag(Interface) = Bag{} |--\t\t\tacc5->union(pt.requiredRoles->iterate(r : RequiredRole; acc6 : Bag(Interface) = Bag{} |--\t\t\t\tacc6->union(r.requiredInterface.parentInterface.anchestorInterfaces) --already Set/Bag--\t\t\t))--\t\t)--\t) in-- Directly required interfaces need to be a subset of required anchestorInterfaces of Supertype #--anchestorInterfaces.identifier.id->includesAll(--\tself.requiredRoles->iterate(p : RequiredRole; acc7 : Bag(String) = Bag{} |--\t\tacc7->union(p.requiredInterface.identifier.id->asBag())--\t)\t--)true"