Class Place

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

    public class Place
    extends Transformer
    implements java.util.Comparator
    A Petri net place compatible with the PetriNetDirector. A Petri net place is a basic component of the Petri Net model. Another basic component is the Transition. A place is connected to transitions. It contains an integer as the marking of the place, which represents the number of tokens in the place. The operation of the Petri net is controlled by the marking and the weights of arcs connecting places and transitions. The methods here are used to manipulate the integer marking. The TemporaryMarking is used for checking whether a transition is ready or not.
    Since:
    Ptolemy II 8.1
    Version:
    $Id$
    Author:
    Yuke Wang and Edward A. Lee, modified by Zach Ezzell
    Pt.AcceptedRating:
    Red (cxh)
    Pt.ProposedRating:
    Red (cxh)
    • Field Detail

      • initialMarking

        public Parameter initialMarking
        The number of initial tokens in the place. This is an integer.
    • Constructor Detail

      • Place

        public Place​(CompositeEntity container,
                     java.lang.String name)
              throws IllegalActionException,
                     NameDuplicationException
        Create a new actor in the specified container with the specified name. The name must be unique within the container or an exception is thrown. The container argument must not be null, or a NullPointerException will be thrown.
        Parameters:
        container - The container.
        name - The name of this actor within the container.
        Throws:
        IllegalActionException - If this actor cannot be contained by the proposed container (see the setContainer() method).
        NameDuplicationException - If the name coincides with an entity already in the container.
    • Method Detail

      • compare

        public int compare​(java.lang.Object o1,
                           java.lang.Object o2)
                    throws java.lang.ClassCastException
        The method compares two objects that should be Places.
        Specified by:
        compare in interface java.util.Comparator
        Parameters:
        o1 - The first place.
        o2 - The second place.
        Returns:
        A negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
        Throws:
        java.lang.ClassCastException - If either object cannot be casted in to a Place.
      • decreaseMarking

        public void decreaseMarking​(int i)
        Decrease the _currentMarking.
        Parameters:
        i - the number to be decreased for the marking in the place.
      • decreaseTemporaryMarking

        public void decreaseTemporaryMarking​(int i)
        Decrease the _temporaryMarking by i.
        Parameters:
        i - the number to be decreased for the TemporaryMarking in the place.
      • getMarking

        public int getMarking()
        getMarking() is to get the _currentMarking of the place.
        Returns:
        the currentMarking of the place.
      • getTemporaryMarking

        public int getTemporaryMarking()
        getTemporaryMarking() is to get the temporaryMarking of the place. temporaryMarking is used for checking whether the _currentMarking of the place is bigger than the sum of all links between the place and a transition. TemporaryMarking is used in Transition.prefire.
        Returns:
        the _temporaryMarking of the place.
        See Also:
        setTemporaryMarking(int)
      • increaseMarking

        public void increaseMarking​(int i)
        Increase the _currentMarking.
        Parameters:
        i - the number to be increased for the marking in the place.
      • setTemporaryMarking

        public void setTemporaryMarking​(int i)
        Set the _temporaryMarking.
        Parameters:
        i - set the TemporaryMarking of the place to i.
        See Also:
        getTemporaryMarking()