ptolemy.domains.sr.lib
Class EnabledComposite.CausalityInterfaceForEnabledComposite

java.lang.Object
  extended by ptolemy.actor.util.DefaultCausalityInterface
      extended by ptolemy.actor.util.CausalityInterfaceForComposites
          extended by ptolemy.domains.sr.lib.EnabledComposite.CausalityInterfaceForEnabledComposite
All Implemented Interfaces:
CausalityInterface
Enclosing class:
EnabledComposite

private class EnabledComposite.CausalityInterfaceForEnabledComposite
extends CausalityInterfaceForComposites

Causality interface that overrides the behavior of the base class to ensure that every output depends on the enable input port.


Field Summary
 
Fields inherited from class ptolemy.actor.util.CausalityInterfaceForComposites
_actorDepthVersion, _actorToDepth, _dependencyVersion, _equivalenceClasses, _forwardDependencies, _reverseDependencies
 
Fields inherited from class ptolemy.actor.util.DefaultCausalityInterface
_actor, _backwardPrunedDependencies, _defaultDependency, _delayDependencies, _EMPTY_COLLECTION, _forwardPrunedDependencies
 
Constructor Summary
EnabledComposite.CausalityInterfaceForEnabledComposite(Actor actor)
           
 
Method Summary
protected  void _computeActorDepth()
          Compute the depth of ports and actors.
 
Methods inherited from class ptolemy.actor.util.CausalityInterfaceForComposites
checkForCycles, dependentPorts, describeDepths, equivalentPorts, getDependency, getDepthOfActor, getDepthOfPort, invalidate, removeDependency, topologicalSort
 
Methods inherited from class ptolemy.actor.util.DefaultCausalityInterface
_growDependencies, declareDelayDependency, getActor, getDefaultDependency, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EnabledComposite.CausalityInterfaceForEnabledComposite

public EnabledComposite.CausalityInterfaceForEnabledComposite(Actor actor)
                                                       throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException
Method Detail

_computeActorDepth

protected void _computeActorDepth()
                           throws IllegalActionException
Description copied from class: CausalityInterfaceForComposites
Compute the depth of ports and actors. The actor depth is typically used to prioritize firings in response to pure events (fireAt() calls). The port depth is used to prioritize firings due to input events. Lower depths translate into higher priorities, with the lowest value being zero. The depth of an actor is the minimum depth of the output ports. This typically causes the actor to fire as early as possible to produce an output on those output ports in response to a pure event, but no earlier than the firings of actors that may source it data that the firing may depend on. If there are no output ports, then the depth of the actor it is the maximum depth of the input ports. This typically delays the response to fireAt() until all input events with the same tag have arrived. If there are no input ports or output ports, the depth is zero.

Overrides:
_computeActorDepth in class CausalityInterfaceForComposites
Throws:
IllegalActionException - If a zero-delay loop is found.