Class SDFModularScheduler

    • Constructor Detail

      • SDFModularScheduler

        public SDFModularScheduler()
    • Method Detail

      • getFiringVector

        public java.util.Map getFiringVector​(CompositeActor container,
                                             int vectorizationFactor)
                                      throws IllegalActionException
        Get the firing vector for a given container.
        Parameters:
        container - The container that is being scheduled.
        vectorizationFactor - The vectorization factor
        Returns:
        A map from each actor to its fractional firing.
        Throws:
        IllegalActionException - If thrown while solving the balance equations.
      • _solveBalanceEquations

        protected java.util.Map _solveBalanceEquations​(CompositeActor container,
                                                       java.util.List actorList,
                                                       java.util.Map externalRates)
                                                throws NotSchedulableException,
                                                       IllegalActionException
        Solve the balance equations for the list of connected Actors. For each actor, determine the ratio that determines the rate at which it should fire relative to the other actors for the graph to be live and operate within bounded memory. Normalize this ratio into integer, which is the minimum number of firings of the actor to satisfy the balance equations.
        Overrides:
        _solveBalanceEquations in class SDFScheduler
        Parameters:
        container - The container that is being scheduled.
        actorList - The actors that we are interested in.
        externalRates - A map from external ports of container to the fractional rates of that port. This starts out initialized with Fraction.ZERO and will be populated during this method.
        Returns:
        A map from each actor to its fractional firing.
        Throws:
        NotSchedulableException - If the graph is not consistent under the synchronous dataflow model, or if the graph is not connected.
        IllegalActionException - If any called method throws it.