Class TestModel

    • Field Detail

      • correctValues

        public Parameter correctValues
        A matrix specifying what the input should be. This defaults to a one-by-one array containing a boolean true.
      • requireAllCorrectValues

        public Parameter requireAllCorrectValues
        If true, and the number of tokens seen in wrapup() is not equal to or greater than the number of elements in the correctValues array, then throw an exception. The default value is true. This parameter is a shared parameter, meaning that changing it for any one instance in a model will change it for all instances in the model.
      • trainingMode

        public SharedParameter trainingMode
        If true, then do not check inputs, but rather collect them into the correctValues array. This parameter is a boolean, and it defaults to false. It is a shared parameter, meaning that changing it for any one instance in a model will change it for all instances in the model.
      • _numberOfInputTokensSeen

        protected int _numberOfInputTokensSeen
        Number of input tokens seen by this actor in the fire method.
      • _iteration

        protected int _iteration
        Count of iterations.
      • _trainingTokens

        protected java.util.List _trainingTokens
        List to store tokens for training mode.
      • _firedOnce

        protected boolean _firedOnce
        Set to true if fire() is called once. If fire() is not called at least once, then throw an exception in wrapup().
      • _initialized

        protected boolean _initialized
        Set to true when initialized() is called.
    • Constructor Detail

      • TestModel

        public TestModel​(CompositeEntity container,
                         java.lang.String name)
                  throws IllegalActionException,
                         NameDuplicationException
        Construct an event with the given name contained by the specified composite entity. The container argument must not be null, or a NullPointerException will be thrown. This event will use the workspace of the container for synchronization and version counts. If the name argument is null, then the name is set to the empty string. Increment the version of the workspace. This constructor write-synchronizes on the workspace.
        Parameters:
        container - The container.
        name - The name of the state.
        Throws:
        IllegalActionException - If the state cannot be contained by the proposed container.
        NameDuplicationException - If the name coincides with that of an entity already in the container.
    • Method Detail

      • clone

        public java.lang.Object clone​(Workspace workspace)
                               throws java.lang.CloneNotSupportedException
        Clone the event into the specified workspace. This calls the base class and then sets the attribute and port public members to refer to the attributes and ports of the new state.
        Overrides:
        clone in class Event
        Parameters:
        workspace - The workspace for the new event.
        Returns:
        A new event.
        Throws:
        java.lang.CloneNotSupportedException - If a derived class contains an attribute that cannot be cloned.
        See Also:
        NamedObj.exportMoML(Writer, int, String), NamedObj.setDeferringChangeRequests(boolean)
      • fire

        public Event.RefiringData fire​(Token arguments)
                                throws IllegalActionException
        Process this event and show the model in the model parameter in the designated tableau.
        Overrides:
        fire in class Event
        Parameters:
        arguments - The arguments used to process this event, which must be either an ArrayToken or a RecordToken.
        Returns:
        A refiring data structure that contains a non-negative double number if refire() should be called after that amount of model time, or null if refire() need not be called.
        Throws:
        IllegalActionException - If the tableau cannot be used, or if thrown by the superclass.
        See Also:
        Event.refire(Token, RefiringData)
      • wrapup

        public void wrapup()
                    throws IllegalActionException
        If trainingMode is true, then take the collected training tokens and store them as an array in correctValues.
        Specified by:
        wrapup in interface Initializable
        Overrides:
        wrapup in class Event
        Throws:
        IllegalActionException - If initialized() was called and fire() was not called or if the number of inputs tokens seen is not greater than or equal to the number of elements in the correctValues array.