de.uka.ipd.sdq.pcm.seff
Interface ResourceDemandingBehaviour

All Known Subinterfaces:
ForkedBehaviour, ResourceDemandingSEFF
All Known Implementing Classes:
ForkedBehaviourImpl, ResourceDemandingBehaviourImpl, ResourceDemandingSEFFImpl

public interface ResourceDemandingBehaviour

A representation of the model object 'Resource Demanding Behaviour'. 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. The emphasis in this type of behaviour is on the resource demands attached to internal actions, which mainly influence performance analysis. Each action in a ResourceDemandingBehaviour references a predecessor and a successor action. Exceptions are the first and last action, which do not reference a predecessor and a successor respectively. A behaviour is valid, if there is a continuous path from the first to last action, which includes all actions. The chain must not include cycles. To specify control flow branches, loops, or forks, component developers need to use special types of actions, which contain nested inner ResourceDemandingBehaviours to specify the behaviour inside branches or loop bodies. Any ResourceDemandingBehaviour can have at most one starting and one finishing action.

The following features are supported:

See Also:
SeffPackage.getResourceDemandingBehaviour()

Field Summary
static String copyright
           
 
Method Summary
 boolean EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor(DiagnosticChain diagnostics, Map<Object,Object> context)
          not self.steps_Behaviour->select(s|not s.oclIsTypeOf(StartAction) and not s.oclIsTypeOf(StopAction))->exists(a|a.oclAsType(AbstractAction).predecessor_AbstractAction.oclIsUndefined()) and not self.steps_Behaviour->select(s|not s.oclIsTypeOf(StartAction) and not s.oclIsTypeOf(StopAction))->exists(a|a.oclAsType(AbstractAction).successor_AbstractAction.oclIsUndefined())
 boolean ExactlyOneStartAction(DiagnosticChain diagnostics, Map<Object,Object> context)
          self.steps_Behaviour->select(s|s.oclIsTypeOf(StartAction))->size() = 1
 boolean ExactlyOneStopAction(DiagnosticChain diagnostics, Map<Object,Object> context)
          self.steps_Behaviour->select(s|s.oclIsTypeOf(StopAction))->size() = 1
  getSteps_Behaviour()
          Returns the value of the 'Steps Behaviour' containment reference list.
 

Field Detail

copyright

static final String copyright

See Also:
Constant Field Values
Method Detail

getSteps_Behaviour

 getSteps_Behaviour()
Returns the value of the 'Steps Behaviour' containment reference list. The list contents are of type AbstractAction.

If the meaning of the 'Steps Behaviour' containment reference list isn't clear, there really should be more of a description here...

Returns:
the value of the 'Steps Behaviour' containment reference list.
See Also:
SeffPackage.getResourceDemandingBehaviour_Steps_Behaviour()

ExactlyOneStopAction

boolean ExactlyOneStopAction(DiagnosticChain diagnostics,
                             Map<Object,Object> context)
self.steps_Behaviour->select(s|s.oclIsTypeOf(StopAction))->size() = 1

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

ExactlyOneStartAction

boolean ExactlyOneStartAction(DiagnosticChain diagnostics,
                              Map<Object,Object> context)
self.steps_Behaviour->select(s|s.oclIsTypeOf(StartAction))->size() = 1

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor

boolean EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor(DiagnosticChain diagnostics,
                                                                                  Map<Object,Object> context)
not self.steps_Behaviour->select(s|not s.oclIsTypeOf(StartAction) and not s.oclIsTypeOf(StopAction))->exists(a|a.oclAsType(AbstractAction).predecessor_AbstractAction.oclIsUndefined()) and not self.steps_Behaviour->select(s|not s.oclIsTypeOf(StartAction) and not s.oclIsTypeOf(StopAction))->exists(a|a.oclAsType(AbstractAction).successor_AbstractAction.oclIsUndefined())

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.