Class SeffCreator
- All Implemented Interfaces:
ActionSeff
,InternalSeff
,RecoverySeff
,Seff
,StartSeff
ServiceEffectSpecification
/ ResourceDemandingSEFF
/ ResourceDemandingBehaviour
/
ResourceDemandingInternalBehaviour
/ ForkedBehaviour
/ RecoveryActionBehaviour
. It is used to create the behaviour objects step-by-step, i.e.
'SeffCreator' objects are of intermediate state.- See Also:
-
ServiceEffectSpecification
ResourceDemandingSEFF
ResourceDemandingBehaviour
ResourceDemandingInternalBehaviour
ForkedBehaviour
org.palladiosimulator.pcm.seff.RecoveryActionBehaviour
-
Field Summary
Fields inherited from class org.palladiosimulator.generator.fluent.repository.structure.RepositoryEntity
repository
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionCreates aAcquireAction
.Creates aBranchAction
.org.palladiosimulator.pcm.seff.ServiceEffectSpecification
build()
Turns the entity in the making into the finished entity.org.palladiosimulator.pcm.seff.ResourceDemandingBehaviour
org.palladiosimulator.pcm.seff.ForkedBehaviour
org.palladiosimulator.pcm.seff.ResourceDemandingInternalBehaviour
org.palladiosimulator.pcm.seff.ResourceDemandingSEFF
org.palladiosimulator.pcm.seff.seff_reliability.RecoveryActionBehaviour
Creates aCollectionIteratorAction
.Creates aEmitEventAction
.Creates anExternalCallAction
.Creates aForkAction
.Creates aInternalAction
.Creates aInternalCallAction
.Creates aLoopAction
.onSignature
(org.palladiosimulator.pcm.repository.Signature signature) Defines the signature of the service that this SEFF's behaviour is modeling.Creates aRecoveryAction
.Creates aReleaseAction
.protected void
setNext
(org.palladiosimulator.pcm.seff.AbstractAction action) Creates aSetVariableAction
.Creates aStopAction
.withAlternativeRecoveryBehaviour
(org.palladiosimulator.pcm.seff.seff_reliability.RecoveryActionBehaviour recoveryBehaviour) Adds an alternative recovery behaviour to this recovery behaviour.withFailureType
(Failure failure) Adds the failure typefailure
to this recovery behaviour's occurring failure types.withFailureType
(org.palladiosimulator.pcm.reliability.FailureType failureType) Adds the failure typefailure
to this recovery behaviour's occurring failure types.withInternalBehaviour
(InternalSeff internalBehaviour) AddsinternalBehaviour
to this SEFF's internal behaviours.Defines the unique name of this current entity.Specifies the body behaviour of this SEFF.withSeffTypeID
(String seffTypeID) Defines the SEFF Type ID.Creates aStartAction
.
-
Constructor Details
-
SeffCreator
-
-
Method Details
-
withStartAction
Description copied from interface:StartSeff
Creates aStartAction
.- Specified by:
withStartAction
in interfaceInternalSeff
- Specified by:
withStartAction
in interfaceStartSeff
- Returns:
- the start action in the making
-
stopAction
Description copied from interface:ActionSeff
Creates aStopAction
.StopActions end a scenario behaviour and contain only a predecessor.
Call on
createBehaviourNow()
to finish the SEFF/behaviour creation.- Specified by:
stopAction
in interfaceActionSeff
- 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...)
-
internalAction
Description copied from interface:ActionSeff
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)
.- Specified by:
internalAction
in interfaceActionSeff
- 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
Description copied from interface:ActionSeff
Creates aInternalCallAction
.A "SubSEFF"-Action: Realizes an internal method call within a SEFF.
Offers the specifying methods
withInternalBehaviour(InternalSeff)
andwithVaribleUsage(VariableUsageCreator)
.- Specified by:
internalCallAction
in interfaceActionSeff
- 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...)
-
externalCallAction
Description copied from interface:ActionSeff
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)
.- Specified by:
externalCallAction
in interfaceActionSeff
- Returns:
- the external call action in the making
- See Also:
-
emitEventAction
Description copied from interface:ActionSeff
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)
.- Specified by:
emitEventAction
in interfaceActionSeff
- 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...)
-
acquireAction
Description copied from interface:ActionSeff
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)
.- Specified by:
acquireAction
in interfaceActionSeff
- 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...)
-
releaseAction
Description copied from interface:ActionSeff
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)
.- Specified by:
releaseAction
in interfaceActionSeff
- 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
Description copied from interface:ActionSeff
Creates aSetVariableAction
. Requires that the service this SEFF is describing has a return type and sets its value.Offers the specifying method
withLocalVariableUsage(VariableUsageCreator)
.- Specified by:
setVariableAction
in interfaceActionSeff
- 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...)
-
loopAction
Description copied from interface:ActionSeff
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)
.- Specified by:
loopAction
in interfaceActionSeff
- 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...)
-
collectionIteratorAction
Description copied from interface:ActionSeff
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)
.- Specified by:
collectionIteratorAction
in interfaceActionSeff
- 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...)
-
branchAction
Description copied from interface:ActionSeff
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.- Specified by:
branchAction
in interfaceActionSeff
- 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...)
-
forkAction
Description copied from interface:ActionSeff
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)
.- Specified by:
forkAction
in interfaceActionSeff
- 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...)
-
recoveryAction
Description copied from interface:ActionSeff
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)
.- Specified by:
recoveryAction
in interfaceActionSeff
- 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...)
-
withName
Description copied from class:Entity
Defines the unique name of this current entity. Once created entities are referenced by this name. Only entities with a unique name can be fetched from the model.- Specified by:
withName
in interfaceRecoverySeff
- Overrides:
withName
in classEntity
- Returns:
- this current entity in the making
-
onSignature
Description copied from interface:Seff
Defines the signature of the service that this SEFF's behaviour is modeling.An existing
signature
can be fetched from the repository using the factory, i.e.create.fetchOfSignature(name)
.- Specified by:
onSignature
in interfaceSeff
- Returns:
- this SEFF in the making
- See Also:
-
factory.FluentRepositoryFactory#fetchOfSignature(String)
-
withSeffTypeID
Description copied from interface:Seff
Defines the SEFF Type ID. Default=1.- Specified by:
withSeffTypeID
in interfaceSeff
- Returns:
- this SEFF in the making
- See Also:
-
ServiceEffectSpecification.getSeffTypeID()
-
withInternalBehaviour
Description copied from interface:Seff
AddsinternalBehaviour
to this SEFF's internal behaviours.It models the behaviour of a component service as a sequence of internal actions with resource demands, control flow constructs, and external calls. Therefore, the class contains a chain of AbstractActions.
- Specified by:
withInternalBehaviour
in interfaceSeff
- Returns:
- this SEFF in the making
- See Also:
-
ResourceDemandingInternalBehaviour
-
withSeffBehaviour
Description copied from interface:Seff
Specifies the body behaviour of this SEFF. Every body behaviour starts with astart action
followed by an arbitrary amount of otheractions
. The body behaviour always ends with a stop action and a finishing call on the methodcreateBehaviourNow()
.- Specified by:
withSeffBehaviour
in interfaceRecoverySeff
- Specified by:
withSeffBehaviour
in interfaceSeff
- Returns:
- this SEFF's starting body behaviour
-
withFailureType
Description copied from interface:RecoverySeff
Adds the failure typefailure
to this recovery behaviour's occurring failure types.A recovery behaviour is failure handling entity i.e. it can handle failures that occur in previous alternatives. If one alternative fails, the next alternative is executed that can handle the failure type. The failure type
failure
is (one of) the failure type(s) this recovery behaviour can handle.A failure can be one of 'HARDWARE_CPU', 'HARDWARE_HDD', 'HARDWARE_DELAY', 'NETWORK_LAN', 'SOFTWARE'.
- Specified by:
withFailureType
in interfaceRecoverySeff
- Returns:
- this recovery behaviour in the making
- See Also:
-
withFailureType
Description copied from interface:RecoverySeff
Adds the failure typefailure
to this recovery behaviour's occurring failure types.A recovery behaviour is failure handling entity i.e. it can handle failures that occur in previous alternatives. If one alternative fails, the next alternative is executed that can handle the failure type. The failure type
failure
is (one of) the failure type(s) this recovery behaviour can handle.An existing
failureType
can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e.create.fetchOfFailureType(name)
.- Specified by:
withFailureType
in interfaceRecoverySeff
- Returns:
- this recovery behaviour in the making
- See Also:
-
withAlternativeRecoveryBehaviour
public SeffCreator withAlternativeRecoveryBehaviour(org.palladiosimulator.pcm.seff.seff_reliability.RecoveryActionBehaviour recoveryBehaviour) Description copied from interface:RecoverySeff
Adds an alternative recovery behaviour to this recovery behaviour.A recovery action behaviour provides a behaviour and alternatives of recovery behaviours. They are resource demanding behaviours, thus any behaviour can be defined as an alternative. The alternatives of a recovery block form a chain. They are failure handling entities, i.e. they can handle failures that occur in previous alternatives. If one alternative fails, the next alternative is executed that can handle the failure type. The alternatives are referenced by name and have to be previously defined. Thus the chain of alternatives has to be created inversely. The last alternative that has no alternatives itself is created first, so that the second last can reference it as its alternative.
Previously defined RecoveryActionBehaviours can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e.
create.fetchOfRecoveryActionBehaviour(name)
.- Specified by:
withAlternativeRecoveryBehaviour
in interfaceRecoverySeff
- Returns:
- this recovery behaviour in the making
- See Also:
-
build
public org.palladiosimulator.pcm.seff.ServiceEffectSpecification build()Description copied from class:Entity
Turns the entity in the making into the finished entity. -
buildRDSeff
public org.palladiosimulator.pcm.seff.ResourceDemandingSEFF buildRDSeff()- Specified by:
buildRDSeff
in interfaceSeff
-
buildBehaviour
public org.palladiosimulator.pcm.seff.ResourceDemandingBehaviour buildBehaviour()- Specified by:
buildBehaviour
in interfaceInternalSeff
- Specified by:
buildBehaviour
in interfaceSeff
-
buildInternalBehaviour
public org.palladiosimulator.pcm.seff.ResourceDemandingInternalBehaviour buildInternalBehaviour()- Specified by:
buildInternalBehaviour
in interfaceInternalSeff
-
buildForkedBehaviour
public org.palladiosimulator.pcm.seff.ForkedBehaviour buildForkedBehaviour()- Specified by:
buildForkedBehaviour
in interfaceInternalSeff
-
buildRecoveryBehaviour
public org.palladiosimulator.pcm.seff.seff_reliability.RecoveryActionBehaviour buildRecoveryBehaviour()- Specified by:
buildRecoveryBehaviour
in interfaceRecoverySeff
-
setNext
protected void setNext(org.palladiosimulator.pcm.seff.AbstractAction action)
-