Class ObjectCentricLocalProcessModel

  • All Implemented Interfaces:
    java.io.Serializable, org.processmining.placebasedlpmdiscovery.model.TextDescribable

    public class ObjectCentricLocalProcessModel
    extends java.lang.Object
    implements java.io.Serializable, org.processmining.placebasedlpmdiscovery.model.TextDescribable
    The ObjectCentricLocalProcessModel class is used to represent the logic for object-centric local process models. It contains places, transitions and arcs between them. Copied from local process models and adjusted to use tagged places.
    See Also:
    Serialized Form
    • Constructor Detail

      • ObjectCentricLocalProcessModel

        public ObjectCentricLocalProcessModel()
      • ObjectCentricLocalProcessModel

        public ObjectCentricLocalProcessModel​(org.processmining.placebasedlpmdiscovery.model.LocalProcessModel lpm)
      • ObjectCentricLocalProcessModel

        public ObjectCentricLocalProcessModel​(TaggedPlace place)
      • ObjectCentricLocalProcessModel

        public ObjectCentricLocalProcessModel​(org.processmining.placebasedlpmdiscovery.model.LocalProcessModel lpm,
                                              java.lang.String discoveryType)
      • ObjectCentricLocalProcessModel

        public ObjectCentricLocalProcessModel​(org.processmining.placebasedlpmdiscovery.model.LocalProcessModel lpm,
                                              java.lang.String discoveryType,
                                              float variableArcThreshold)
      • ObjectCentricLocalProcessModel

        public ObjectCentricLocalProcessModel​(org.processmining.placebasedlpmdiscovery.model.LocalProcessModel lpm,
                                              java.lang.String discoveryType,
                                              float variableArcThreshold,
                                              TaggedPlaceSet placeSet)
    • Method Detail

      • getDiscoveryTypes

        public java.util.HashSet<java.lang.String> getDiscoveryTypes()
      • getDiscoveryTypesString

        public java.lang.String getDiscoveryTypesString()
      • setDiscoveryTypes

        public void setDiscoveryTypes​(java.util.HashSet<java.lang.String> types)
      • getInputTransitions

        public java.util.List<org.processmining.placebasedlpmdiscovery.model.Transition> getInputTransitions()
        Finds all transitions that don't have output arcs with any place in the LPM
        Returns:
        transitions for which there is no place with output arc toward them
      • getOutputTransitions

        public java.util.List<org.processmining.placebasedlpmdiscovery.model.Transition> getOutputTransitions()
        Finds all transitions that don't have input arcs with any place in the LPM
        Returns:
        transitions for which there is no place with input arc toward them
      • getInputTransitionLabels

        public java.util.Set<java.lang.String> getInputTransitionLabels()
        Finds all transitions that don't have output arcs with any place in the LPM
        Returns:
        transitions for which there is no place with output arc toward them
      • getOutputTransitionLabels

        public java.util.Set<java.lang.String> getOutputTransitionLabels()
        Finds all transitions that don't have input arcs with any place in the LPM
        Returns:
        transitions for which there is no place with input arc toward them
      • getArcs

        public java.util.Set<org.processmining.placebasedlpmdiscovery.model.Arc> getArcs()
      • getId

        public java.lang.String getId()
      • getPlaces

        public java.util.Set<TaggedPlace> getPlaces()
      • addPlace

        public void addPlace​(TaggedPlace place)
      • addPlace

        public void addPlace​(TaggedPlace place,
                             java.lang.Boolean keepEvaluation)
      • addAllPlaces

        public void addAllPlaces​(java.util.Set<TaggedPlace> places,
                                 java.lang.Boolean keepEvaluation)
      • addAllPlaces

        public void addAllPlaces​(java.util.Set<TaggedPlace> places)
      • deletePlaces

        public void deletePlaces​(java.util.Set<TaggedPlace> places)
      • deletePlaces

        public void deletePlaces​(java.util.Set<TaggedPlace> places,
                                 java.lang.Boolean skipTransitionCheck)
      • containsPlace

        public boolean containsPlace​(org.processmining.placebasedlpmdiscovery.model.Place place)
      • containsPlace

        public boolean containsPlace​(java.util.Set<java.lang.String> possibleShortString)
      • containsLPM

        public boolean containsLPM​(org.processmining.placebasedlpmdiscovery.model.LocalProcessModel lpm)
      • hasCommonTransitions

        public boolean hasCommonTransitions​(org.processmining.placebasedlpmdiscovery.model.Place place)
        Checks whether the LPM and the place have common transitions that can be used in order to add the place in the LPM.
        Parameters:
        place - : The place for which we check if there are common transitions with the LPM
        Returns:
        true if there are common transitions and false otherwise
      • getTransitions

        public java.util.Collection<org.processmining.placebasedlpmdiscovery.model.Transition> getTransitions()
      • getVisibleTransitions

        public java.util.Collection<org.processmining.placebasedlpmdiscovery.model.Transition> getVisibleTransitions()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getShortString

        public java.lang.String getShortString()
        Specified by:
        getShortString in interface org.processmining.placebasedlpmdiscovery.model.TextDescribable
      • getPlace

        public org.processmining.placebasedlpmdiscovery.model.Place getPlace​(org.processmining.models.graphbased.NodeID id)
      • isIsomorphic

        public boolean isIsomorphic​(ObjectCentricLocalProcessModel oclpm2)
        Check if the OCLPMs have equal places (ignoring object type of places and variable arcs)
        Parameters:
        oclpm2 -
        Returns:
      • getPlaceTypes

        public java.util.Set<java.lang.String> getPlaceTypes()
        the object types of places in the model
        Returns:
      • isEqual

        public boolean isEqual​(ObjectCentricLocalProcessModel oclpm2)
        Check if the OCLPMs have equal places (ignoring only variable arcs)
        Parameters:
        oclpm2 -
        Returns:
      • addExternalObjectFlowStartEnd

        public void addExternalObjectFlowStartEnd​(java.util.Map<java.lang.String,​java.util.Set<java.lang.String>> startingActivities,
                                                  java.util.Map<java.lang.String,​java.util.Set<java.lang.String>> endingActivities,
                                                  ExternalObjectFlow selectedEOF,
                                                  PlaceCompletion currentPlaceCompletion)
        add special places for starting and ending transitions
        Parameters:
        startingActivities -
        endingActivities -
        selectedEOF -
        currentPlaceCompletion -
      • addExternalObjectFlowAll

        public void addExternalObjectFlowAll​(ExternalObjectFlow selectedEOF,
                                             PlaceCompletion currentPlaceCompletion)
        Parameters:
        selectedEOF -
        currentPlaceCompletion -
      • removeExternalObjectFlow

        public void removeExternalObjectFlow​(java.util.Map<java.lang.String,​java.util.Set<java.lang.String>> startingActivities,
                                             java.util.Map<java.lang.String,​java.util.Set<java.lang.String>> endingActivities)
      • getEvaluationString

        public java.lang.String getEvaluationString()
        String consisting of all evaluation metrics to be displayed for this OCLPM
        Returns:
      • getEvaluationStringHTML

        public java.lang.String getEvaluationStringHTML()
        String consisting of all evaluation metrics to be displayed for this OCLPM
        Returns:
      • recalculateEvaluation

        public void recalculateEvaluation()
        Calculates evaluation metric which are dependent on the exact places and variable arcs. Calculates the combined score as the average of all scores.
      • setEvaluation

        public void setEvaluation​(java.util.Map<OCLPMEvaluationMetrics,​java.lang.Double> evaluation)
      • getCombinedScore

        public java.lang.Double getCombinedScore()
      • setCombinedScore

        public void setCombinedScore​(java.lang.Double combinedScore)
      • getMapIdVarArcActivities

        public java.util.Map<java.lang.String,​java.util.Set<java.lang.String>> getMapIdVarArcActivities()
      • setMapIdVarArcActivities

        public void setMapIdVarArcActivities​(java.util.Map<java.lang.String,​java.util.Set<java.lang.String>> mapIdVarArcActivities)
      • getIsomorphicPlaces

        public java.util.Set<TaggedPlace> getIsomorphicPlaces()
      • grabIsomorphicPlaces

        public void grabIsomorphicPlaces​(TaggedPlaceSet placeSet)
        Retrieves the places which are isomorphic to ones in the model and stores them in the isomorphicPlaces variable. If equal places (isomorphic & same type) are found then they replace the ones in the model! Hence, after calling this it is guaranteed that the ids of places in the model occur also in the placeSet.
        Parameters:
        placeSet -
      • getPlace

        public TaggedPlace getPlace​(java.lang.String id)
      • getPlaceMapAll

        public java.util.Map<java.lang.String,​TaggedPlace> getPlaceMapAll()
      • getPlaceMapIsomorphic

        public java.util.Map<java.lang.String,​TaggedPlace> getPlaceMapIsomorphic()
      • getVariableArcActivities

        public java.util.Set<java.lang.String> getVariableArcActivities​(TaggedPlace tp)
      • getVariableArcActivities

        public java.util.Set<java.lang.String> getVariableArcActivities​(java.lang.String placeId)
      • getObjectTypesAll

        public java.util.Set<java.lang.String> getObjectTypesAll()
      • setObjectTypesAll

        public void setObjectTypesAll​(java.util.Set<java.lang.String> objectTypesAll)
      • setVariableArcThreshold

        public void setVariableArcThreshold​(float variableArcThreshold)
      • getMapActivityToTypes

        public java.util.HashMap<java.lang.String,​java.util.HashSet<java.lang.String>> getMapActivityToTypes()
      • setMapTypeToVarArcActivities

        public void setMapTypeToVarArcActivities​(java.util.HashMap<java.lang.String,​java.util.HashSet<java.lang.String>> mapTypeToVarArcActivities)
      • getMapTypeToVarArcActivities

        public java.util.HashMap<java.lang.String,​java.util.HashSet<java.lang.String>> getMapTypeToVarArcActivities()