Class BusDisassembler

  • All Implemented Interfaces:
    java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

    public class BusDisassembler
    extends TypedAtomicActor
    Split the input bus relation into individual (possibly bus) output port relations. If the width of the first output port is W1, it receives the tokens from the first W1 channels of the input bus, the next output port receives its width worth share from subsequent channels of the input bus until either the input bus channels or all output port channels are exhausted.

    Note: The width of a single relation (e.g. connected to an output port) may be controlled by adding a width parameter with an IntToken value representing the desired relation width.

    Since:
    Ptolemy II 2.1
    Version:
    $Id$
    Author:
    Zoltan Kemenczy
    See Also:
    IORelation
    Pt.AcceptedRating:
    Red (cxh)
    Pt.ProposedRating:
    Red (zkemenczy)
    • Method Detail

      • preinitialize

        public void preinitialize()
                           throws IllegalActionException
        Description copied from class: AtomicActor
        Create receivers and declare delay dependencies. Derived classes can override this method to perform additional initialization functions, but they should call this base class methods or create the receivers themselves. This method gets executed exactly once prior to any other action methods. It cannot produce output data since type resolution is typically not yet done. It also gets invoked prior to any static scheduling that might occur in the domain, so it can change scheduling information.
        Specified by:
        preinitialize in interface Initializable
        Overrides:
        preinitialize in class AtomicActor<TypedIOPort>
        Throws:
        IllegalActionException - Not thrown in this base class.