Class EfficientDiscreteStochasticNetSemanticsImpl

  • All Implemented Interfaces:
    java.io.Serializable, StochasticNetSemantics, org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,​org.processmining.models.graphbased.directed.petrinet.elements.Transition>

    public class EfficientDiscreteStochasticNetSemanticsImpl
    extends EfficientStochasticNetSemanticsImpl
    Stores a marking encoding temporal states in a discrete domain. An array of sorted multisets stores the current marking/state of the net.
    Author:
    Andreas Rogge-Solti
    See Also:
    Serialized Form
    • Constructor Detail

      • EfficientDiscreteStochasticNetSemanticsImpl

        public EfficientDiscreteStochasticNetSemanticsImpl()
    • Method Detail

      • initialize

        public void initialize​(java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> transitions,
                               org.processmining.models.semantics.petrinet.Marking state)
        Description copied from interface: org.processmining.models.semantics.Semantics
        Initializes this semantics. Note that the set of transitions is considered read only, i.e. no changes can be made to it by a Semantics implementation. However, the initial state is not read only.
        Specified by:
        initialize in interface org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,​org.processmining.models.graphbased.directed.petrinet.elements.Transition>
        Overrides:
        initialize in class EfficientStochasticNetSemanticsImpl
      • initialize

        public void initialize​(java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> transitions,
                               org.processmining.models.semantics.petrinet.Marking state,
                               int time)
      • executeExecutableTransition

        public org.processmining.models.semantics.petrinet.PetrinetExecutionInformation executeExecutableTransition​(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute)
        Specified by:
        executeExecutableTransition in interface org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,​org.processmining.models.graphbased.directed.petrinet.elements.Transition>
        Overrides:
        executeExecutableTransition in class EfficientStochasticNetSemanticsImpl
      • executeExecutableTransition

        public int executeExecutableTransition​(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute,
                                               int transitionDuration)
                                        throws org.processmining.models.semantics.IllegalTransitionException
        Returns:
        the time of firing
        Throws:
        org.processmining.models.semantics.IllegalTransitionException
      • executeExecutableTransitionAtTime

        public int executeExecutableTransitionAtTime​(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute,
                                                     java.lang.Integer timeOfFiring)
                                              throws org.processmining.models.semantics.IllegalTransitionException
        Returns:
        the duration of the transition
        Throws:
        org.processmining.models.semantics.IllegalTransitionException
      • getDurationOfTransition

        public int getDurationOfTransition​(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute,
                                           java.lang.Short[] modelPlaceIds,
                                           int timeOfFiring)
      • setCurrentState

        public void setCurrentState​(org.processmining.models.semantics.petrinet.Marking currentState)
        Specified by:
        setCurrentState in interface org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,​org.processmining.models.graphbased.directed.petrinet.elements.Transition>
        Overrides:
        setCurrentState in class EfficientStochasticNetSemanticsImpl
      • getTransitionMatrix

        public short[][] getTransitionMatrix()