Package org.palladiosimulator.pcm.seff
Interface ServiceEffectSpecification
-
- All Superinterfaces:
org.eclipse.emf.cdo.CDOObject
,org.eclipse.emf.cdo.common.id.CDOWithID
,EObject
,Notifier
- All Known Subinterfaces:
ResourceDemandingSEFF
- All Known Implementing Classes:
ResourceDemandingSEFFImpl
,ServiceEffectSpecificationImpl
public interface ServiceEffectSpecification extends org.eclipse.emf.cdo.CDOObject
A representation of the model object 'Service Effect Specification'. 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. 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.The following features are supported:
- See Also:
SeffPackage.getServiceEffectSpecification()
- Generated class or method.
- EMF model class or method.
- abstract="true" annotation="http://www.eclipse.org/emf/2002/Ecore constraints='referencedOperationSignatureMustBelongToInterfaceReferencedByProvidedRole referencedEventTypeMustBelongToEventGroupReferencedByProvidedRole'" annotation="http://www.eclipse.org/emf/2002/Ecore/OCL referencedOperationSignatureMustBelongToInterfaceReferencedByProvidedRole='let describedService : repository::Signature = self.describedService__SEFF in\n not describedService.oclIsKindOf(repository::OperationSignature) or\n let providedRoles : Set(repository::ProvidedRole) = self.basicComponent_ServiceEffectSpecification.providedRoles_InterfaceProvidingEntity in\n -- collect all directly provided interfaces\n let directlyProvidedInterfaces : Set(repository::Interface) = providedRoles->selectByKind(repository::OperationProvidedRole).providedInterface__OperationProvidedRole->selectByKind(repository::Interface)->asSet() in\n -- collect all provided interfaces including parent interfaces\n let providedInterfaces : Set(repository::Interface) = directlyProvidedInterfaces->closure(interface : repository::Interface | interface.parentInterfaces__Interface)->union(directlyProvidedInterfaces) in\n -- collect all provided signatures\n let providedSignatures : Set(repository::Signature) = providedInterfaces->selectByKind(repository::OperationInterface).signatures__OperationInterface->selectByKind(repository::Signature)->asSet() in\n -- compare signatures\n providedSignatures->includes(self.describedService__SEFF)' referencedEventTypeMustBelongToEventGroupReferencedByProvidedRole='let describedService : pcm::repository::Signature = self.describedService__SEFF in\n not describedService.oclIsKindOf(pcm::repository::EventType) or\n let providedRoles : Set(pcm::repository::ProvidedRole) = self.basicComponent_ServiceEffectSpecification.providedRoles_InterfaceProvidingEntity in\n -- collect all directly provided interfaces\n let directlyProvidedInterfaces : Set(pcm::repository::Interface) = providedRoles->selectByKind(pcm::repository::SinkRole).eventGroup__SinkRole->selectByKind(pcm::repository::Interface)->asSet() in\n -- collect all provided interfaces including parent interfaces\n let providedInterfaces : Set(pcm::repository::Interface) = directlyProvidedInterfaces->closure(interface : pcm::repository::Interface | interface.parentInterfaces__Interface)->union(directlyProvidedInterfaces) in\n -- collect all provided signatures\n let providedSignatures : Set(pcm::repository::Signature) = providedInterfaces->selectByKind(pcm::repository::EventGroup).eventTypes__EventGroup->selectByKind(pcm::repository::Signature)->asSet() in\n -- compare signatures\n providedSignatures->includes(self.describedService__SEFF)'"
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description BasicComponent
getBasicComponent_ServiceEffectSpecification()
Returns the value of the 'Basic Component Service Effect Specification' container reference.Signature
getDescribedService__SEFF()
Returns the value of the 'Described Service SEFF' reference.String
getSeffTypeID()
Returns the value of the 'Seff Type ID' attribute.void
setBasicComponent_ServiceEffectSpecification(BasicComponent value)
Sets the value of the 'Basic Component Service Effect Specification
' container reference.void
setDescribedService__SEFF(Signature value)
Sets the value of the 'Described Service SEFF
' reference.void
setSeffTypeID(String value)
Sets the value of the 'Seff Type ID
' attribute.-
Methods inherited from interface org.eclipse.emf.cdo.CDOObject
cdoConflict, cdoDirectResource, cdoHistory, cdoID, cdoInvalid, cdoLockState, cdoPermission, cdoPrefetch, cdoReadLock, cdoReload, cdoResource, cdoRevision, cdoRevision, cdoState, cdoView, cdoWriteLock, cdoWriteOption
-
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
-
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
-
-
-
-
Field Detail
-
copyright
static final String copyright
- See Also:
- Constant Field Values
- Generated class or method.
-
-
Method Detail
-
getSeffTypeID
String getSeffTypeID()
Returns the value of the 'Seff Type ID' attribute. The default value is"1"
.- Returns:
- the value of the 'Seff Type ID' attribute.
- See Also:
setSeffTypeID(String)
,SeffPackage.getServiceEffectSpecification_SeffTypeID()
- Generated class or method.
- EMF model class or method.
- default="1" required="true" ordered="false"
-
setSeffTypeID
void setSeffTypeID(String value)
Sets the value of the 'Seff Type ID
' attribute.- Parameters:
value
- the new value of the 'Seff Type ID' attribute.- See Also:
getSeffTypeID()
- Generated class or method.
-
getDescribedService__SEFF
Signature getDescribedService__SEFF()
Returns the value of the 'Described Service SEFF' reference.- Returns:
- the value of the 'Described Service SEFF' reference.
- See Also:
setDescribedService__SEFF(Signature)
,SeffPackage.getServiceEffectSpecification_DescribedService__SEFF()
- Generated class or method.
- EMF model class or method.
- required="true" ordered="false"
-
setDescribedService__SEFF
void setDescribedService__SEFF(Signature value)
Sets the value of the 'Described Service SEFF
' reference.- Parameters:
value
- the new value of the 'Described Service SEFF' reference.- See Also:
getDescribedService__SEFF()
- Generated class or method.
-
getBasicComponent_ServiceEffectSpecification
BasicComponent getBasicComponent_ServiceEffectSpecification()
Returns the value of the 'Basic Component Service Effect Specification' container reference. It is bidirectional and its opposite is 'Service Effect Specifications Basic Component
'.- Returns:
- the value of the 'Basic Component Service Effect Specification' container reference.
- See Also:
setBasicComponent_ServiceEffectSpecification(BasicComponent)
,SeffPackage.getServiceEffectSpecification_BasicComponent_ServiceEffectSpecification()
,BasicComponent.getServiceEffectSpecifications__BasicComponent()
- Generated class or method.
- EMF model class or method.
- opposite="serviceEffectSpecifications__BasicComponent" required="true" transient="false" ordered="false"
-
setBasicComponent_ServiceEffectSpecification
void setBasicComponent_ServiceEffectSpecification(BasicComponent value)
Sets the value of the 'Basic Component Service Effect Specification
' container reference.- Parameters:
value
- the new value of the 'Basic Component Service Effect Specification' container reference.- See Also:
getBasicComponent_ServiceEffectSpecification()
- Generated class or method.
-
-