uk.ac.ucl.cs.uml.jmi.BehavioralElements.Actions.CompositeActions
Interface LoopAction

All Superinterfaces:
Action, Element, ExtObject, ModelElement, javax.jmi.reflect.RefBaseObject, javax.jmi.reflect.RefFeatured, javax.jmi.reflect.RefObject
All Known Implementing Classes:
LoopAction_Impl

public interface LoopAction
extends Action

A loop action contains a single clause whose test action and body action are executed repeatedly as long as the test action yields “true.” A list of output pins acts as "loop variables" for the loop action. The loop variables are not directly vailable outside the loop. Input pins of the overall loop action provide initial values that are copied into these loop variables before the first iteration of the loop. As output pins, the loop variables may be connected to available inputs of the test and body actions using normal data flows, to provide the "old values" of the loop variables during an iteration. The outputs of the loop clause provide "new values" that are copied to the loop variables at the completion of an iteration. The test is executed after the initial values are copied to the loop variables, and after each execution of the body action. The body action is executed only if the test yields true. When the loop terminates, the final values of the loop variables are copied to the regular output pins of the loop action, which are the only available outputs for the loop action as a whole.


Method Summary
 Clause getClause()
           
 Collection getLoopVariable()
           
 void setClause(Clause clause)
          Setter for atomic property clause)
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.BehavioralElements.Actions.ActionFoundation.Action
getAntecedent, getAvailableInput, getAvailableOutput, getConsequent, getGroup, getInputPin, getIsReadOnly, getJumpHandler, getOutputPin, setGroup, setIsReadOnly
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.Foundation.Core.ModelElement
getAsArgument, getBehavior, getClientDependency, getComment, getConstraint, getContainer, getDefaultElement, getIsSpecification, getName, getNamespace, getPackage, getPresentation, getReferenceTag, getSourceFlow, getStereotype, getSupplierDependency, getTaggedValue, getTargetFlow, getTemplate, getTemplateArgument, getTemplateParameter, getVisibility, setDefaultElement, setIsSpecification, setName, setNamespace, setTemplate, setVisibility
 
Methods inherited from interface uk.ac.ucl.cs.emofocl.jmi.reflect.extended.ExtObject
extAddObjectListener, extDeepCopy, extDeepCopy, extEquals, extRemoveObjectListener, extValueHash, extVisit
 
Methods inherited from interface javax.jmi.reflect.RefObject
refClass, refDelete, refImmediateComposite, refIsInstanceOf, refOutermostComposite
 
Methods inherited from interface javax.jmi.reflect.RefFeatured
refGetValue, refGetValue, refInvokeOperation, refInvokeOperation, refSetValue, refSetValue
 
Methods inherited from interface javax.jmi.reflect.RefBaseObject
equals, hashCode, refImmediatePackage, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints
 

Method Detail

getClause

Clause getClause()
                 throws javax.jmi.reflect.JmiException
Throws:
javax.jmi.reflect.JmiException

setClause

void setClause(Clause clause)
               throws javax.jmi.reflect.JmiException
Setter for atomic property clause)

Throws:
javax.jmi.reflect.JmiException

getLoopVariable

Collection getLoopVariable()
                           throws javax.jmi.reflect.JmiException
Throws:
javax.jmi.reflect.JmiException