An instance of this class describes the dependency that data at an output port has on data at an input port in a firing of the container (an atomic actor). In particular, an output port does not depend on an input port if the fire() method of the container produces outputs on the output port or asserts that no outputs will be produced on the output port in this iteration without knowing anything about the input port (what data are there, or even whether there are data). An actor that has one or more output ports that does not depend on one or more input ports is said to be non-strict.
By default, each output port of an atomic actor depends on all input ports of the actor. To change this, an actor should override the pruneDependencies() method of AtomicActor to remove dependencies between these ports. For example, {@link ptolemy.domains.de.lib.TimedDelay}declares that its output port is not dependent of its input port by defining this method:
public void pruneDependencies() { super.pruneDependencies(); removeDependency(input, output); }
@see FunctionDependency
@see ptolemy.domains.de.lib.TimedDelay
@see ptolemy.actor.AtomicActor#pruneDependencies()
@author Haiyang Zheng
@version $Id: FunctionDependencyOfAtomicActor.java,v 1.2 2004/02/2107:57:24 hyzheng Exp $
@since Ptolemy II 4.0
@Pt.ProposedRating Green (hyzheng)
@Pt.AcceptedRating Green (eal)