Interface ActionSeff
- All Known Implementing Classes:
SeffCreator
-
Method Summary
Modifier and TypeMethodDescriptionCreates aAcquireAction
.Creates aBranchAction
.Creates aCollectionIteratorAction
.Creates aEmitEventAction
.Creates anExternalCallAction
.Creates aForkAction
.Creates aInternalAction
.Creates aInternalCallAction
.Creates aLoopAction
.Creates aRecoveryAction
.Creates aReleaseAction
.Creates aSetVariableAction
.Creates aStopAction
.
-
Method Details
-
acquireAction
AcquireActionCreator acquireAction()Creates aAcquireAction
.In an RDSEFF, component developers can specify an AcquireAction, which references a passive resource types. Once analysis tools execute this action, they decrease the amount of items available from the referenced passive resource type by one, if at least one item is available. If none item is available, because other, concurrently executed requests have acquired all of them, analysis tools enqueue the current request (first-come-first-serve scheduling policy) and block it's further execution.
Offers the specifying methods
withPassiveResource(PassiveResource)
,withTimeoutValue(Double)
andisTimeout(Boolean)
.- Returns:
- the acquire action in the making
- See Also:
-
AcquireActionCreator.withName(String)
SeffAction.followedBy()
org.palladiosimulator.generator.fluent.repository.structure.components.seff.AcquireActionCreator#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.AcquireActionCreator#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
AcquireActionCreator.withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-
branchAction
BranchActionCreator branchAction()Creates aBranchAction
.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.
Offers the specifying methods
withGuardedBranchTransition(String, SeffCreator, String)
andwithProbabilisticBranchTransition(Double, SeffCreator, String)
. Do not use both methods within the same branch action.- Returns:
- the branch action in the making
- See Also:
-
BranchActionCreator.withName(String)
SeffAction.followedBy()
org.palladiosimulator.generator.fluent.repository.structure.components.seff.BranchActionCreator#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.BranchActionCreator#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
BranchActionCreator.withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-
collectionIteratorAction
CollectionIteratorActionCreator collectionIteratorAction()Creates aCollectionIteratorAction
.A Collection Iterator Action models the repeated execution of its inner ResourceDemandingBehaviour for each element of a collection data type.
Offers the specifying methods
withParameter(Parameter)
andwithLoopBody(Seff)
.- Returns:
- the collection iterator action in the making
- See Also:
-
CollectionIteratorActionCreator.withName(String)
SeffAction.followedBy()
org.palladiosimulator.generator.fluent.repository.structure.components.seff.CollectionIteratorActionCreator#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.CollectionIteratorActionCreator#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
CollectionIteratorActionCreator.withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-
emitEventAction
EmitEventActionCreator emitEventAction()Creates aEmitEventAction
.EmitEventAction specifies when a component emits an event during its processing. The EmitEventAction defines which type of events are emitted, their characteristics and the SourceRole that triggered. Each EmitEventAction is limited to one type of events.
Offers the specifying methods
withEventType(EventType)
,withSourceRole(SourceRole)
andwithInputVariableUsage(VariableUsageCreator)
.- Returns:
- the emit event action in the making
- See Also:
-
EmitEventActionCreator.withName(String)
SeffAction.followedBy()
org.palladiosimulator.generator.fluent.repository.structure.components.seff.EmitEventActionCreator#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.EmitEventActionCreator#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.EmitEventActionCreator#withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-
externalCallAction
ExternalCallActionCreator externalCallAction()Creates anExternalCallAction
.ExternalCallAction models the invocation of a service specified in a required interface. Therefore, it references a Role, from which the providing component can be derived, and a Signature to specify the called service. ExternalCallActions do not have resource demands by themselves. Component developers need to specify the resource demand of the called service in the RDSEFF of that service.
ExternalCallActions may contain two sets of VariableUsages specifying input parameter characterisations and output parameter characterisations respectively. VariableUsages for input parameters may only reference IN or INOUT parameters of the call's referenced signature. The random variable characterisation inside such a VariableUsage may be constants, probability distribution functions, or include a stochastic expression involving for example arithmetic operations. The latter models a dependency between the current service's own input parameters and the input parameters of the required service.Offers the specifying methods
withCalledService(OperationSignature)
,withRequiredRole(OperationRequiredRole)
,withRetryCount(Integer)
,withInputVariableUsage(VariableUsageCreator)
,withReturnVariableUsage(VariableUsageCreator)
andwithFailureType(FailureType)
.- Returns:
- the external call action in the making
- See Also:
-
forkAction
ForkActionCreator forkAction()Creates aForkAction
.Fork Action Splits the RDSEFF control flow with an AND-semantic, meaning that it invokes several ForkedBehaviours concurrently. ForkActions allow both asynchronously and synchronously forked behaviours.
Offers the specifying methods
withAsynchronousForkedBehaviour(InternalSeff)
,withSynchronousForkedBehaviourAtSynchronisationPoint(InternalSeff)
andwithOutputParameterUsageAtSynchronisationPoint(VariableUsageCreator)
.- Returns:
- the fork action in the making
- See Also:
-
ForkActionCreator.withName(String)
SeffAction.followedBy()
org.palladiosimulator.generator.fluent.repository.structure.components.seff.ForkActionCreator#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.ForkActionCreator#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
ForkActionCreator.withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-
internalAction
InternalActionCreator internalAction()Creates aInternalAction
.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.
Offers the specifying method
withInternalFailureOccurrenceDescription(Double, SoftwareInducedFailureType)
.- Returns:
- the internal action in the making
- See Also:
-
InternalActionCreator.withName(String)
SeffAction.followedBy()
org.palladiosimulator.generator.fluent.repository.structure.components.seff.InternalActionCreator#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.InternalActionCreator#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
InternalActionCreator.withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-
internalCallAction
InternalCallActionCreator internalCallAction()Creates aInternalCallAction
.A "SubSEFF"-Action: Realizes an internal method call within a SEFF.
Offers the specifying methods
withInternalBehaviour(InternalSeff)
andwithVaribleUsage(VariableUsageCreator)
.- Returns:
- the internal call action in the making
- See Also:
-
InternalCallActionCreator.withName(String)
SeffAction.followedBy()
org.palladiosimulator.generator.fluent.repository.structure.components.seff.InternalCallActionCreator#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.InternalCallActionCreator#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
InternalCallActionCreator.withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-
loopAction
LoopActionCreator loopAction()Creates aLoopAction
.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.
Offers the specifying methods
withLoopBody(SeffCreator)
andwithIterationCount(String)
.- Returns:
- the loop action in the making
- See Also:
-
LoopActionCreator.withName(String)
SeffAction.followedBy()
org.palladiosimulator.generator.fluent.repository.structure.components.seff.LoopActionCreator#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.LoopActionCreator#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
LoopActionCreator.withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-
recoveryAction
RecoveryActionCreator recoveryAction()Creates aRecoveryAction
.Recover block actions are a generic failure handling technique. A recovery block consists of a a primary algorithm and one or more alternatives that can be used in case of failure. If the primary algorithm fails, the next alternative is chosen. Here the alternatives also support failure types. Alternatives may specify which kind of failures they can handle.
Offers the specifying methods
withAlternativeBehaviour(RecoverySeff)
,withPrimaryBehaviour(RecoverySeff)
.- Returns:
- the recovery action in the making
- See Also:
-
RecoveryActionCreator.withName(String)
SeffAction.followedBy()
org.palladiosimulator.generator.fluent.repository.structure.components.seff.RecoveryActionCreator#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.RecoveryActionCreator#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
RecoveryActionCreator.withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-
releaseAction
ReleaseActionCreator releaseAction()Creates aReleaseAction
.The ReleaseAction increases the number of available item for the given passive resource type, before the current request can continue. It should be to execute by one of the other concurrent requests. Acquisition and release of passive resources happen instantaneously and do not consume any time except for waiting delays before actual acquisition.
Offers the specifying method
withPassiveResource(PassiveResource)
.- Returns:
- the release action in the making
- See Also:
-
ReleaseActionCreator.withName(String)
SeffAction.followedBy()
org.palladiosimulator.generator.fluent.repository.structure.components.seff.ReleaseActionCreator#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.ReleaseActionCreator#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
ReleaseActionCreator.withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-
setVariableAction
SetVariableActionCreator setVariableAction()Creates aSetVariableAction
. Requires that the service this SEFF is describing has a return type and sets its value.Offers the specifying method
withLocalVariableUsage(VariableUsageCreator)
.- Returns:
- the set variable action in the making
- See Also:
-
SetVariableActionCreator.withName(String)
SeffAction.followedBy()
org.palladiosimulator.generator.fluent.repository.structure.components.seff.SetVariableActionCreator#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.palladiosimulator.generator.fluent.repository.structure.components.seff.SetVariableActionCreator#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
SetVariableActionCreator.withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-
stopAction
StopSeff stopAction()Creates aStopAction
.StopActions end a scenario behaviour and contain only a predecessor.
Call on
createBehaviourNow()
to finish the SEFF/behaviour creation.- Returns:
- the stop action in the making
- See Also:
-
org.org.palladiosimulator.generator.fluent.repository.api.seff.StopSeff#withName(String)
org.org.palladiosimulator.generator.fluent.repository.api.seff.StopSeff#withResourceDemand(String, org.palladiosimulator.pcm.resourcetype.ProcessingResourceType)
org.org.palladiosimulator.generator.fluent.repository.api.seff.StopSeff#withResourceCall(String, org.palladiosimulator.pcm.resourcetype.ResourceSignature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
org.org.palladiosimulator.generator.fluent.repository.api.seff.StopSeff#withInfrastructureCall(String, org.palladiosimulator.pcm.repository.InfrastructureSignature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole, org.palladiosimulator.generator.fluent.component.repositoryStructure.components.VariableUsageCreator...)
-