Class NonStrictLogicGate

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

    public class NonStrictLogicGate
    extends LogicGate
    A nonstrict actor that performs a specified logic operation on the input.

    On each firing, produce an output token with a value that is equal to the specified logic operator of the input(s) if that output can be determined. The functions are:

    • and: The logical and operator. This is the default function for this actor.
    • or: The logical or operator.
    • xor: The logical xor operator.
    • nand: The logical nand operator. Equivalent to the negation of and.
    • nor: The logical nor operator. Equivalent to the negation of or.
    • xnor: The logical xnor operator. Equivalent to the negation of xor.

    NOTE: All operators have a single input port, which is a multiport, and a single output port, which is not a multiport. All ports have type boolean.

    This actor is nonstrict. That is, it does not require that each input channel have a token upon firing. If the output can be determined from the known inputs, the output will be produced. If the output can not be determined in the given firing, no output will be produced. If all of the inputs are known and absent, the output will be made known and absent. At most one token is consumed on each input channel.

    Since:
    Ptolemy II 10.0
    Version:
    $Id$
    Author:
    Paul Whitaker
    Pt.AcceptedRating:
    Red (pwhitake)
    Pt.ProposedRating:
    Red (pwhitake)