Class PcmAction
- java.lang.Object
-
- org.palladiosimulator.protocom.lang.java.util.PcmAction
-
- Direct Known Subclasses:
PcmProtoAction,PcmStubAction
public abstract class PcmAction extends Object
Abstract class for implementing PCM actions, i.e., the behavior of components as specified via SEFFs. Refinements of this class could, for instance, add simulate stack frames for performance prototypes or provide code stub generation.
-
-
Constructor Summary
Constructors Constructor Description PcmAction()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String_action(org.palladiosimulator.pcm.seff.AcquireAction action)AcquireAction is mapped to the acquire method of Java Collection's semaphore implementation.protected String_action(org.palladiosimulator.pcm.seff.BranchAction action)BranchAction is implemented as an IF condition.protected String_action(org.palladiosimulator.pcm.seff.CollectionIteratorAction action)No idea.protected String_action(org.palladiosimulator.pcm.seff.EmitEventAction action)TODO Think about EmitEventAction.protected String_action(org.palladiosimulator.pcm.seff.ExternalCallAction action)ExternalCallAction calls a remote service.protected String_action(org.palladiosimulator.pcm.seff.ForkAction action)A ForkAction spawns a new thread for each defined behavior.protected String_action(org.palladiosimulator.pcm.seff.InternalAction action)InteralAction uses a load generator to simulate CPU/HDD usage.protected String_action(org.palladiosimulator.pcm.seff.LoopAction action)LoopAction is transformed into a simple FOR statement.protected String_action(org.palladiosimulator.pcm.seff.ReleaseAction action)ReleaseAction is mapped to the release method of Java Collection's semaphore implementation.protected String_action(org.palladiosimulator.pcm.seff.SetVariableAction action)protected String_action(org.palladiosimulator.pcm.seff.StartAction action)StartAction.protected String_action(org.palladiosimulator.pcm.seff.StopAction action)StopAction.protected CharSequence_branchTransition(org.palladiosimulator.pcm.seff.BranchAction action, org.palladiosimulator.pcm.seff.GuardedBranchTransition transition)Branch transition for GuardedBranchTransition.protected CharSequence_branchTransition(org.palladiosimulator.pcm.seff.BranchAction action, org.palladiosimulator.pcm.seff.ProbabilisticBranchTransition transition)Branch transition for ProbabilisticBranchTransition entities.Stringaction(org.palladiosimulator.pcm.seff.AbstractAction action)Stringactions(org.palladiosimulator.pcm.seff.AbstractAction action)Follows the action path and calls "action" for each action in it.CharSequencebranchTransition(org.palladiosimulator.pcm.seff.BranchAction action, org.palladiosimulator.pcm.seff.AbstractBranchTransition transition)static org.palladiosimulator.pcm.seff.StartActionfindStart(Iterable<org.palladiosimulator.pcm.seff.AbstractAction> actions)Helper method to find the first StartAction in a list of actions.
-
-
-
Method Detail
-
actions
public String actions(org.palladiosimulator.pcm.seff.AbstractAction action)
Follows the action path and calls "action" for each action in it. Note that actions do not branch! Branching is solved by a BranchAction, therefore at most one successor is given at any time.
-
_action
protected String _action(org.palladiosimulator.pcm.seff.StartAction action)
StartAction. Should be empty, I guess.
-
_action
protected String _action(org.palladiosimulator.pcm.seff.StopAction action)
StopAction. Nothing to see here either.
-
_action
protected String _action(org.palladiosimulator.pcm.seff.CollectionIteratorAction action)
No idea. We didn't implement this for the last ProtoCom either. FIXME Implement this as it is a crucial part of the bahavior (lehrig)
-
_action
protected String _action(org.palladiosimulator.pcm.seff.LoopAction action)
LoopAction is transformed into a simple FOR statement.
-
_action
protected String _action(org.palladiosimulator.pcm.seff.ExternalCallAction action)
ExternalCallAction calls a remote service.
-
_action
protected String _action(org.palladiosimulator.pcm.seff.InternalAction action)
InteralAction uses a load generator to simulate CPU/HDD usage. Note that ProtoCom does NOT use InfrastructureCalls from the PCM model, because these should be reflected by the underlying middleware and OS!
-
_action
protected String _action(org.palladiosimulator.pcm.seff.BranchAction action)
BranchAction is implemented as an IF condition. A BranchAction may have two different transition types: ProbabilisticBranchTransition and GuardedBranchTransition.
-
_branchTransition
protected CharSequence _branchTransition(org.palladiosimulator.pcm.seff.BranchAction action, org.palladiosimulator.pcm.seff.ProbabilisticBranchTransition transition)
Branch transition for ProbabilisticBranchTransition entities.
-
_branchTransition
protected CharSequence _branchTransition(org.palladiosimulator.pcm.seff.BranchAction action, org.palladiosimulator.pcm.seff.GuardedBranchTransition transition)
Branch transition for GuardedBranchTransition.
-
_action
protected String _action(org.palladiosimulator.pcm.seff.AcquireAction action)
AcquireAction is mapped to the acquire method of Java Collection's semaphore implementation.
-
_action
protected String _action(org.palladiosimulator.pcm.seff.ReleaseAction action)
ReleaseAction is mapped to the release method of Java Collection's semaphore implementation.
-
_action
protected String _action(org.palladiosimulator.pcm.seff.SetVariableAction action)
-
_action
protected String _action(org.palladiosimulator.pcm.seff.ForkAction action)
A ForkAction spawns a new thread for each defined behavior. These should be processed asynchronously in parallel. Please note that manually spawning new threads is discouraged on certain middlewares (like JavaEE)!
-
_action
protected String _action(org.palladiosimulator.pcm.seff.EmitEventAction action)
TODO Think about EmitEventAction. JMS?
-
findStart
public static org.palladiosimulator.pcm.seff.StartAction findStart(Iterable<org.palladiosimulator.pcm.seff.AbstractAction> actions)
Helper method to find the first StartAction in a list of actions.
-
action
public String action(org.palladiosimulator.pcm.seff.AbstractAction action)
-
branchTransition
public CharSequence branchTransition(org.palladiosimulator.pcm.seff.BranchAction action, org.palladiosimulator.pcm.seff.AbstractBranchTransition transition)
-
-