Class ExtendedHybridPetrinet

  • All Implemented Interfaces:
    java.lang.Cloneable, java.lang.Comparable<org.processmining.models.graphbased.directed.DirectedGraph<org.processmining.models.graphbased.directed.petrinet.PetrinetNode,​org.processmining.models.graphbased.directed.petrinet.PetrinetEdge<? extends org.processmining.models.graphbased.directed.petrinet.PetrinetNode,​? extends org.processmining.models.graphbased.directed.petrinet.PetrinetNode>>>, org.processmining.models.graphbased.AttributeMapOwner, org.processmining.models.graphbased.directed.DirectedGraph<org.processmining.models.graphbased.directed.petrinet.PetrinetNode,​org.processmining.models.graphbased.directed.petrinet.PetrinetEdge<? extends org.processmining.models.graphbased.directed.petrinet.PetrinetNode,​? extends org.processmining.models.graphbased.directed.petrinet.PetrinetNode>>, org.processmining.models.graphbased.directed.DirectedGraphElement, org.processmining.models.graphbased.directed.petrinet.Petrinet, org.processmining.models.graphbased.directed.petrinet.PetrinetGraph

    public class ExtendedHybridPetrinet
    extends org.processmining.models.graphbased.directed.petrinet.impl.PetrinetImpl
    Created by demas on 27/07/16.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      java.util.Collection<org.processmining.models.semantics.petrinet.Marking> finalMarkings  
      org.processmining.models.semantics.petrinet.Marking initialMarking  
      protected java.util.Map<java.lang.String,​org.processmining.models.graphbased.directed.petrinet.elements.Transition> labelTransitionsMap  
      protected java.awt.Color LDColor  
      protected java.awt.Color sureColor  
      protected java.awt.Color surePlaceColor  
      protected java.awt.Color unsureColor  
      • Fields inherited from class org.processmining.models.graphbased.directed.petrinet.impl.AbstractResetInhibitorNet

        arcs, inhibitorArcs, places, resetArcs, substitutionTransitions, transitions
      • Fields inherited from class org.processmining.models.graphbased.AbstractGraph

        id
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.processmining.models.graphbased.directed.petrinet.elements.Arc addArc​(org.processmining.models.graphbased.directed.petrinet.elements.Place p, org.processmining.models.graphbased.directed.petrinet.elements.Transition t)  
      org.processmining.models.graphbased.directed.petrinet.elements.Arc addArc​(org.processmining.models.graphbased.directed.petrinet.elements.Transition t, org.processmining.models.graphbased.directed.petrinet.elements.Place p)  
      org.processmining.models.graphbased.directed.petrinet.elements.Arc addLongDepArc​(org.processmining.models.graphbased.directed.petrinet.elements.Transition s, org.processmining.models.graphbased.directed.petrinet.elements.Transition t)  
      LongDepEdge addLongDepTransitionsArcPrivate​(org.processmining.models.graphbased.directed.petrinet.elements.Transition source, org.processmining.models.graphbased.directed.petrinet.elements.Transition target, int weight)  
      org.processmining.models.graphbased.directed.petrinet.elements.Place addPlace​(java.lang.String label)  
      <N extends org.processmining.models.graphbased.directed.AbstractDirectedGraphNode>
      void
      addPlaceFromPartialPlaceEvaluation​(PartialPlaceEvaluation<N> placeEval)  
      org.processmining.models.graphbased.directed.petrinet.elements.Arc addSureArc​(org.processmining.models.graphbased.directed.petrinet.elements.Transition s, org.processmining.models.graphbased.directed.petrinet.elements.Transition t)  
      SureEdge addSureTransitionsArcPrivate​(org.processmining.models.graphbased.directed.petrinet.elements.Transition source, org.processmining.models.graphbased.directed.petrinet.elements.Transition target, int weight)
      The semantics o the method is the following.
      org.processmining.models.graphbased.directed.petrinet.elements.Transition addTransition​(java.lang.String label)
      We build fuzzyPetrinets with a heavy restriction: we do not ever have two transition with the same label.
      Edge addTransitionsArcFromFCGEdge​(HybridDirectedGraphEdge edge)  
      Edge addTransitionsArcFromFCGEdge​(HybridDirectedGraphEdge edge, int weight)  
      org.processmining.models.graphbased.directed.petrinet.elements.Arc addUnsureArc​(org.processmining.models.graphbased.directed.petrinet.elements.Transition s, org.processmining.models.graphbased.directed.petrinet.elements.Transition t)  
      ExtendedHybridPetrinet cloneToPN()  
      java.util.Set<org.processmining.models.graphbased.directed.petrinet.PetrinetNode> getInputNodes​(org.processmining.models.graphbased.directed.petrinet.PetrinetNode target)  
      java.awt.Color getLDColor()  
      java.util.Set<org.processmining.models.graphbased.directed.petrinet.PetrinetNode> getOutputNodes​(org.processmining.models.graphbased.directed.petrinet.PetrinetNode source)  
      org.processmining.models.graphbased.directed.petrinet.elements.Place getPlace​(java.lang.String label)
      Returns a place named label
      java.util.Collection<SureEdge> getSureArcs()
      CHIARA Returns the set of sure arcs
      java.awt.Color getSureColor()  
      java.awt.Color getSurePlaceColor()  
      org.processmining.models.graphbased.directed.petrinet.elements.Transition getTransition​(java.lang.String label)
      Returns a transition named label
      java.util.Collection<UncertainEdge> getUncertainArcs()
      CHIARA Returns the set of uncertain arcs
      java.awt.Color getUnsureColor()  
      void init()  
      void setColors()  
      void setColors​(java.awt.Color c1, java.awt.Color c2, java.awt.Color c3)  
      void setColors​(java.awt.Color c1, java.awt.Color c2, java.awt.Color c3, java.awt.Color c4)  
      java.util.Collection<org.processmining.models.semantics.petrinet.Marking> setFinalMarkings()  
      org.processmining.models.semantics.petrinet.Marking setInitialMarking()  
      java.lang.String toString()  
      void updateLDColor​(java.awt.Color c)  
      void updateSureColor​(java.awt.Color c)  
      void updateSurePlaceColor​(java.awt.Color c)  
      void updateUnsureColor​(java.awt.Color c)  
      • Methods inherited from class org.processmining.models.graphbased.directed.petrinet.impl.PetrinetImpl

        getEmptyClone
      • Methods inherited from class org.processmining.models.graphbased.directed.petrinet.impl.AbstractResetInhibitorNet

        addArc, addArc, addArc, addArc, addArc, addArc, addArcPrivate, addGroup, addGroup, addInhibitorArc, addInhibitorArc, addInhibitorArc, addInhibitorArc, addPlace, addResetArc, addResetArc, addResetArc, addResetArc, addTransition, cloneFrom, cloneFrom, getArc, getEdges, getGroups, getInhibitorArc, getNodes, getPlaces, getResetArc, getTransitions, removeArc, removeEdge, removeGroup, removeInhibitorArc, removeNode, removePlace, removeResetArc, removeTransition
      • Methods inherited from class org.processmining.models.graphbased.directed.AbstractDirectedGraph

        checkAddEdge, compareTo, getGraph, getInEdges, getOutEdges, graphElementAdded, graphElementChanged, graphElementRemoved, removeSurroundingEdges
      • Methods inherited from class org.processmining.models.graphbased.AbstractGraph

        equals, getEdges, hashCode, removeFromEdges, removeNodeFromCollection
      • Methods inherited from class org.processmining.models.graphbased.AbstractGraphElement

        getAttributeMap, getLabel
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.processmining.models.graphbased.AttributeMapOwner

        getAttributeMap
      • Methods inherited from interface java.lang.Comparable

        compareTo
      • Methods inherited from interface org.processmining.models.graphbased.directed.DirectedGraph

        getEdges, getInEdges, getNodes, getOutEdges, removeEdge, removeNode
      • Methods inherited from interface org.processmining.models.graphbased.directed.DirectedGraphElement

        equals, getGraph, hashCode
      • Methods inherited from interface org.processmining.models.graphbased.directed.petrinet.PetrinetGraph

        addArc, addArc, addArc, addArc, addArc, addArc, addGroup, addGroup, addPlace, addTransition, getArc, getGroups, getLabel, getPlaces, getTransitions, removeArc, removeGroup, removePlace, removeTransition
    • Field Detail

      • labelTransitionsMap

        protected java.util.Map<java.lang.String,​org.processmining.models.graphbased.directed.petrinet.elements.Transition> labelTransitionsMap
      • surePlaceColor

        protected java.awt.Color surePlaceColor
      • sureColor

        protected java.awt.Color sureColor
      • unsureColor

        protected java.awt.Color unsureColor
      • LDColor

        protected java.awt.Color LDColor
      • initialMarking

        public org.processmining.models.semantics.petrinet.Marking initialMarking
      • finalMarkings

        public java.util.Collection<org.processmining.models.semantics.petrinet.Marking> finalMarkings
    • Constructor Detail

      • ExtendedHybridPetrinet

        public ExtendedHybridPetrinet​(java.lang.String label)
    • Method Detail

      • setColors

        public void setColors()
      • setColors

        public void setColors​(java.awt.Color c1,
                              java.awt.Color c2,
                              java.awt.Color c3)
      • setColors

        public void setColors​(java.awt.Color c1,
                              java.awt.Color c2,
                              java.awt.Color c3,
                              java.awt.Color c4)
      • addSureTransitionsArcPrivate

        public SureEdge addSureTransitionsArcPrivate​(org.processmining.models.graphbased.directed.petrinet.elements.Transition source,
                                                     org.processmining.models.graphbased.directed.petrinet.elements.Transition target,
                                                     int weight)
        The semantics o the method is the following. It adds a SureTransitionsArc between transition source and target if there is no place already connecting source and target. This because when building the fuzzyNet, we first add all the places and respective transitions, and then add the (sure and uncertain) arcs connecting two transitions. Things are complicated by the presence of the weight, which is not taken into consideration in this first version (all arcs have weight=1). However, to be on the safe side, the method checks if there already is a sureArc connecting the same source and transition but with a different weight, and if this is the case, it sets the new weight as the sum of the two.
        Parameters:
        source - the source of the sureTransitionArc to be added
        target - the target of the sureTransitionArc to be added
        weight - the weight of the arc
        Returns:
        the SureTransitionArc if not present or if already present with a different weight. Null if there is already a place connecting source and target.
      • addLongDepTransitionsArcPrivate

        public LongDepEdge addLongDepTransitionsArcPrivate​(org.processmining.models.graphbased.directed.petrinet.elements.Transition source,
                                                           org.processmining.models.graphbased.directed.petrinet.elements.Transition target,
                                                           int weight)
      • getOutputNodes

        public java.util.Set<org.processmining.models.graphbased.directed.petrinet.PetrinetNode> getOutputNodes​(org.processmining.models.graphbased.directed.petrinet.PetrinetNode source)
      • getInputNodes

        public java.util.Set<org.processmining.models.graphbased.directed.petrinet.PetrinetNode> getInputNodes​(org.processmining.models.graphbased.directed.petrinet.PetrinetNode target)
      • addTransition

        public org.processmining.models.graphbased.directed.petrinet.elements.Transition addTransition​(java.lang.String label)
        We build fuzzyPetrinets with a heavy restriction: we do not ever have two transition with the same label. For such a reason, when adding a new transition, we have to check if a transition with the same label is already present.
        Specified by:
        addTransition in interface org.processmining.models.graphbased.directed.petrinet.PetrinetGraph
        Overrides:
        addTransition in class org.processmining.models.graphbased.directed.petrinet.impl.AbstractResetInhibitorNet
        Parameters:
        label - the name of the transition
        Returns:
        a new Transition if a transition with the same label DO NOT already exists, otherwise returns the already present transition.
      • addPlaceFromPartialPlaceEvaluation

        public <N extends org.processmining.models.graphbased.directed.AbstractDirectedGraphNode> void addPlaceFromPartialPlaceEvaluation​(PartialPlaceEvaluation<N> placeEval)
      • getPlace

        public org.processmining.models.graphbased.directed.petrinet.elements.Place getPlace​(java.lang.String label)
        Returns a place named label
        Parameters:
        label -
        Returns:
      • getTransition

        public org.processmining.models.graphbased.directed.petrinet.elements.Transition getTransition​(java.lang.String label)
        Returns a transition named label
        Parameters:
        label -
        Returns:
      • getSureArcs

        public java.util.Collection<SureEdge> getSureArcs()
        CHIARA Returns the set of sure arcs
        Returns:
        set of sure arcs
      • getUncertainArcs

        public java.util.Collection<UncertainEdge> getUncertainArcs()
        CHIARA Returns the set of uncertain arcs
        Returns:
        set of uncertain arcs
      • addPlace

        public org.processmining.models.graphbased.directed.petrinet.elements.Place addPlace​(java.lang.String label)
        Specified by:
        addPlace in interface org.processmining.models.graphbased.directed.petrinet.PetrinetGraph
        Overrides:
        addPlace in class org.processmining.models.graphbased.directed.petrinet.impl.AbstractResetInhibitorNet
      • addArc

        public org.processmining.models.graphbased.directed.petrinet.elements.Arc addArc​(org.processmining.models.graphbased.directed.petrinet.elements.Place p,
                                                                                         org.processmining.models.graphbased.directed.petrinet.elements.Transition t)
        Specified by:
        addArc in interface org.processmining.models.graphbased.directed.petrinet.PetrinetGraph
        Overrides:
        addArc in class org.processmining.models.graphbased.directed.petrinet.impl.AbstractResetInhibitorNet
      • addSureArc

        public org.processmining.models.graphbased.directed.petrinet.elements.Arc addSureArc​(org.processmining.models.graphbased.directed.petrinet.elements.Transition s,
                                                                                             org.processmining.models.graphbased.directed.petrinet.elements.Transition t)
      • addLongDepArc

        public org.processmining.models.graphbased.directed.petrinet.elements.Arc addLongDepArc​(org.processmining.models.graphbased.directed.petrinet.elements.Transition s,
                                                                                                org.processmining.models.graphbased.directed.petrinet.elements.Transition t)
      • addUnsureArc

        public org.processmining.models.graphbased.directed.petrinet.elements.Arc addUnsureArc​(org.processmining.models.graphbased.directed.petrinet.elements.Transition s,
                                                                                               org.processmining.models.graphbased.directed.petrinet.elements.Transition t)
      • addArc

        public org.processmining.models.graphbased.directed.petrinet.elements.Arc addArc​(org.processmining.models.graphbased.directed.petrinet.elements.Transition t,
                                                                                         org.processmining.models.graphbased.directed.petrinet.elements.Place p)
        Specified by:
        addArc in interface org.processmining.models.graphbased.directed.petrinet.PetrinetGraph
        Overrides:
        addArc in class org.processmining.models.graphbased.directed.petrinet.impl.AbstractResetInhibitorNet
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class org.processmining.models.graphbased.AbstractGraphElement
      • getSurePlaceColor

        public java.awt.Color getSurePlaceColor()
      • getSureColor

        public java.awt.Color getSureColor()
      • getUnsureColor

        public java.awt.Color getUnsureColor()
      • updateSurePlaceColor

        public void updateSurePlaceColor​(java.awt.Color c)
      • updateSureColor

        public void updateSureColor​(java.awt.Color c)
      • updateUnsureColor

        public void updateUnsureColor​(java.awt.Color c)
      • setInitialMarking

        public org.processmining.models.semantics.petrinet.Marking setInitialMarking()
      • setFinalMarkings

        public java.util.Collection<org.processmining.models.semantics.petrinet.Marking> setFinalMarkings()
      • init

        public void init()
      • getLDColor

        public java.awt.Color getLDColor()
      • updateLDColor

        public void updateLDColor​(java.awt.Color c)