Class PcmAction
java.lang.Object
org.palladiosimulator.protocom.lang.java.util.PcmAction
- Direct Known Subclasses:
PcmProtoAction
,PcmStubAction
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected 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.action
(org.palladiosimulator.pcm.seff.AbstractAction action) actions
(org.palladiosimulator.pcm.seff.AbstractAction action) Follows the action path and calls "action" for each action in it.branchTransition
(org.palladiosimulator.pcm.seff.BranchAction action, org.palladiosimulator.pcm.seff.AbstractBranchTransition transition) static org.palladiosimulator.pcm.seff.StartAction
Helper method to find the first StartAction in a list of actions.
-
Constructor Details
-
PcmAction
public PcmAction()
-
-
Method Details
-
actions
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
StartAction. Should be empty, I guess. -
_action
StopAction. Nothing to see here either. -
_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
LoopAction is transformed into a simple FOR statement. -
_action
ExternalCallAction calls a remote service. -
_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
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
AcquireAction is mapped to the acquire method of Java Collection's semaphore implementation. -
_action
ReleaseAction is mapped to the release method of Java Collection's semaphore implementation. -
_action
-
_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
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
-
branchTransition
public CharSequence branchTransition(org.palladiosimulator.pcm.seff.BranchAction action, org.palladiosimulator.pcm.seff.AbstractBranchTransition transition)
-