Class DataflowWithRates

  • All Implemented Interfaces:
    Executable, Initializable, DDI
    Direct Known Subclasses:
    DDF, SDF

    public class DataflowWithRates
    extends Dataflow
    A base class that provides support for dataflow models that publish external rate information. This includes SDF (where the rates are constant) and DDF (where the rates are published once an action is selected.
    Since:
    Ptolemy II 5.2
    Version:
    $Id$
    Author:
    Christopher Chang, Steve Neuendorffer
    Pt.AcceptedRating:
    Red (cxh)
    Pt.ProposedRating:
    Red (cxh)
    • Constructor Detail

      • DataflowWithRates

        public DataflowWithRates​(TypedAtomicActor ptActor,
                                 caltrop.interpreter.ast.Actor actor,
                                 caltrop.interpreter.Context context,
                                 caltrop.interpreter.environment.Environment env)
        Create an new DataflowWithRates DDI.
        Parameters:
        ptActor - The instance of ptolemy.actor.Actor that the plugin will be associated with.
        actor - The abstract syntax tree of the CAL source.
        context - The context that the plugin will use.
        env - The environment that the plugin will use.
    • Method Detail

      • _annotatePortsWithRates

        protected void _annotatePortsWithRates​(java.util.List ports,
                                               java.util.Map rateMap,
                                               java.lang.String varName)
        Annotate the given list of TypedIOPorts with rate parameters according to the given map.
      • _atLeastOneUnguardedAction

        protected boolean _atLeastOneUnguardedAction()
      • _checkInitializerGuards

        protected boolean _checkInitializerGuards()
      • _computeActionRates

        protected DataflowWithRates.ActionRateSignature[] _computeActionRates​(caltrop.interpreter.ast.Action[] actions)
                                                                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _computeActionRates

        protected DataflowWithRates.ActionRateSignature _computeActionRates​(caltrop.interpreter.ast.Action action)
                                                                     throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _isBoundByPortVar

        protected static boolean _isBoundByPortVar​(java.lang.String name,
                                                   caltrop.interpreter.ast.Action action)
      • _allEqual

        protected static boolean _allEqual​(java.lang.Object[] objs)