Class SeffCreator
- java.lang.Object
-
- org.palladiosimulator.generator.fluent.shared.structure.Entity
-
- org.palladiosimulator.generator.fluent.repository.structure.RepositoryEntity
-
- org.palladiosimulator.generator.fluent.repository.structure.components.seff.SeffCreator
-
- All Implemented Interfaces:
ActionSeff,InternalSeff,RecoverySeff,Seff,StartSeff
public class SeffCreator extends RepositoryEntity implements Seff, ActionSeff, StartSeff, InternalSeff, RecoverySeff
This class constructs aServiceEffectSpecification/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
Constructors Constructor Description SeffCreator(RepositoryCreator repo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AcquireActionCreatoracquireAction()Creates aAcquireAction.BranchActionCreatorbranchAction()Creates aBranchAction.org.palladiosimulator.pcm.seff.ServiceEffectSpecificationbuild()Turns the entity in the making into the finished entity.org.palladiosimulator.pcm.seff.ResourceDemandingBehaviourbuildBehaviour()org.palladiosimulator.pcm.seff.ForkedBehaviourbuildForkedBehaviour()org.palladiosimulator.pcm.seff.ResourceDemandingInternalBehaviourbuildInternalBehaviour()org.palladiosimulator.pcm.seff.ResourceDemandingSEFFbuildRDSeff()org.palladiosimulator.pcm.seff.seff_reliability.RecoveryActionBehaviourbuildRecoveryBehaviour()CollectionIteratorActionCreatorcollectionIteratorAction()Creates aCollectionIteratorAction.EmitEventActionCreatoremitEventAction()Creates aEmitEventAction.ExternalCallActionCreatorexternalCallAction()Creates anExternalCallAction.ForkActionCreatorforkAction()Creates aForkAction.InternalActionCreatorinternalAction()Creates aInternalAction.InternalCallActionCreatorinternalCallAction()Creates aInternalCallAction.LoopActionCreatorloopAction()Creates aLoopAction.SeffCreatoronSignature(org.palladiosimulator.pcm.repository.Signature signature)Defines the signature of the service that this SEFF's behaviour is modeling.RecoveryActionCreatorrecoveryAction()Creates aRecoveryAction.ReleaseActionCreatorreleaseAction()Creates aReleaseAction.protected voidsetNext(org.palladiosimulator.pcm.seff.AbstractAction action)SetVariableActionCreatorsetVariableAction()Creates aSetVariableAction.StopActionCreatorstopAction()Creates aStopAction.SeffCreatorwithAlternativeRecoveryBehaviour(org.palladiosimulator.pcm.seff.seff_reliability.RecoveryActionBehaviour recoveryBehaviour)Adds an alternative recovery behaviour to this recovery behaviour.SeffCreatorwithFailureType(Failure failure)Adds the failure typefailureto this recovery behaviour's occurring failure types.SeffCreatorwithFailureType(org.palladiosimulator.pcm.reliability.FailureType failureType)Adds the failure typefailureto this recovery behaviour's occurring failure types.SeffCreatorwithInternalBehaviour(InternalSeff internalBehaviour)AddsinternalBehaviourto this SEFF's internal behaviours.SeffCreatorwithName(String name)Defines the unique name of this current entity.SeffCreatorwithSeffBehaviour()Specifies the body behaviour of this SEFF.SeffCreatorwithSeffTypeID(String seffTypeID)Defines the SEFF Type ID.StartActionCreatorwithStartAction()Creates aStartAction.
-
-
-
Constructor Detail
-
SeffCreator
public SeffCreator(RepositoryCreator repo)
-
-
Method Detail
-
withStartAction
public StartActionCreator withStartAction()
Description copied from interface:StartSeffCreates aStartAction.- Specified by:
withStartActionin interfaceInternalSeff- Specified by:
withStartActionin interfaceStartSeff- Returns:
- the start action in the making
-
stopAction
public StopActionCreator stopAction()
Description copied from interface:ActionSeffCreates aStopAction.StopActions end a scenario behaviour and contain only a predecessor.
Call on
createBehaviourNow()to finish the SEFF/behaviour creation.- Specified by:
stopActionin 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
public InternalActionCreator internalAction()
Description copied from interface:ActionSeffCreates 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:
internalActionin 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
public InternalCallActionCreator internalCallAction()
Description copied from interface:ActionSeffCreates aInternalCallAction.A "SubSEFF"-Action: Realizes an internal method call within a SEFF.
Offers the specifying methods
withInternalBehaviour(InternalSeff)andwithVaribleUsage(VariableUsageCreator).- Specified by:
internalCallActionin 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
public ExternalCallActionCreator externalCallAction()
Description copied from interface:ActionSeffCreates 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:
externalCallActionin interfaceActionSeff- Returns:
- the external call action in the making
- See Also:
ExternalCallActionCreator.withName(String),SeffAction.followedBy()
-
emitEventAction
public EmitEventActionCreator emitEventAction()
Description copied from interface:ActionSeffCreates 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:
emitEventActionin 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
public AcquireActionCreator acquireAction()
Description copied from interface:ActionSeffCreates 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:
acquireActionin 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
public ReleaseActionCreator releaseAction()
Description copied from interface:ActionSeffCreates 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:
releaseActionin 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
public SetVariableActionCreator setVariableAction()
Description copied from interface:ActionSeffCreates 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:
setVariableActionin 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
public LoopActionCreator loopAction()
Description copied from interface:ActionSeffCreates 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:
loopActionin 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
public CollectionIteratorActionCreator collectionIteratorAction()
Description copied from interface:ActionSeffCreates 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:
collectionIteratorActionin 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
public BranchActionCreator branchAction()
Description copied from interface:ActionSeffCreates 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:
branchActionin 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
public ForkActionCreator forkAction()
Description copied from interface:ActionSeffCreates 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:
forkActionin 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
public RecoveryActionCreator recoveryAction()
Description copied from interface:ActionSeffCreates 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:
recoveryActionin 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
public SeffCreator withName(String name)
Description copied from class:EntityDefines 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:
withNamein interfaceRecoverySeff- Overrides:
withNamein classEntity- Returns:
- this current entity in the making
-
onSignature
public SeffCreator onSignature(org.palladiosimulator.pcm.repository.Signature signature)
Description copied from interface:SeffDefines the signature of the service that this SEFF's behaviour is modeling.An existing
signaturecan be fetched from the repository using the factory, i.e.create.fetchOfSignature(name).- Specified by:
onSignaturein interfaceSeff- Returns:
- this SEFF in the making
- See Also:
factory.FluentRepositoryFactory#fetchOfSignature(String)
-
withSeffTypeID
public SeffCreator withSeffTypeID(String seffTypeID)
Description copied from interface:SeffDefines the SEFF Type ID. Default=1.- Specified by:
withSeffTypeIDin interfaceSeff- Returns:
- this SEFF in the making
- See Also:
ServiceEffectSpecification.getSeffTypeID()
-
withInternalBehaviour
public SeffCreator withInternalBehaviour(InternalSeff internalBehaviour)
Description copied from interface:SeffAddsinternalBehaviourto 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:
withInternalBehaviourin interfaceSeff- Returns:
- this SEFF in the making
- See Also:
ResourceDemandingInternalBehaviour
-
withSeffBehaviour
public SeffCreator withSeffBehaviour()
Description copied from interface:SeffSpecifies the body behaviour of this SEFF. Every body behaviour starts with astart actionfollowed by an arbitrary amount of otheractions. The body behaviour always ends with a stop action and a finishing call on the methodcreateBehaviourNow().- Specified by:
withSeffBehaviourin interfaceRecoverySeff- Specified by:
withSeffBehaviourin interfaceSeff- Returns:
- this SEFF's starting body behaviour
-
withFailureType
public SeffCreator withFailureType(Failure failure)
Description copied from interface:RecoverySeffAdds the failure typefailureto 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
failureis (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:
withFailureTypein interfaceRecoverySeff- Returns:
- this recovery behaviour in the making
- See Also:
FluentRepositoryFactory.fetchOfFailureType(String)
-
withFailureType
public SeffCreator withFailureType(org.palladiosimulator.pcm.reliability.FailureType failureType)
Description copied from interface:RecoverySeffAdds the failure typefailureto 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
failureis (one of) the failure type(s) this recovery behaviour can handle.An existing
failureTypecan be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e.create.fetchOfFailureType(name).- Specified by:
withFailureTypein interfaceRecoverySeff- Returns:
- this recovery behaviour in the making
- See Also:
FluentRepositoryFactory.fetchOfFailureType(String)
-
withAlternativeRecoveryBehaviour
public SeffCreator withAlternativeRecoveryBehaviour(org.palladiosimulator.pcm.seff.seff_reliability.RecoveryActionBehaviour recoveryBehaviour)
Description copied from interface:RecoverySeffAdds 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:
withAlternativeRecoveryBehaviourin interfaceRecoverySeff- Returns:
- this recovery behaviour in the making
- See Also:
FluentRepositoryFactory.fetchOfRecoveryActionBehaviour(String)
-
build
public org.palladiosimulator.pcm.seff.ServiceEffectSpecification build()
Description copied from class:EntityTurns the entity in the making into the finished entity.
-
buildRDSeff
public org.palladiosimulator.pcm.seff.ResourceDemandingSEFF buildRDSeff()
- Specified by:
buildRDSeffin interfaceSeff
-
buildBehaviour
public org.palladiosimulator.pcm.seff.ResourceDemandingBehaviour buildBehaviour()
- Specified by:
buildBehaviourin interfaceInternalSeff- Specified by:
buildBehaviourin interfaceSeff
-
buildInternalBehaviour
public org.palladiosimulator.pcm.seff.ResourceDemandingInternalBehaviour buildInternalBehaviour()
- Specified by:
buildInternalBehaviourin interfaceInternalSeff
-
buildForkedBehaviour
public org.palladiosimulator.pcm.seff.ForkedBehaviour buildForkedBehaviour()
- Specified by:
buildForkedBehaviourin interfaceInternalSeff
-
buildRecoveryBehaviour
public org.palladiosimulator.pcm.seff.seff_reliability.RecoveryActionBehaviour buildRecoveryBehaviour()
- Specified by:
buildRecoveryBehaviourin interfaceRecoverySeff
-
setNext
protected void setNext(org.palladiosimulator.pcm.seff.AbstractAction action)
-
-