Class ObjectCentricLocalProcessModel
- java.lang.Object
-
- org.processmining.OCLPMDiscovery.model.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.TextDescribableThe 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 Summary
Constructors Constructor Description ObjectCentricLocalProcessModel()ObjectCentricLocalProcessModel(ObjectCentricLocalProcessModel oclpm)ObjectCentricLocalProcessModel(TaggedPlace place)ObjectCentricLocalProcessModel(org.processmining.placebasedlpmdiscovery.model.LocalProcessModel lpm)ObjectCentricLocalProcessModel(org.processmining.placebasedlpmdiscovery.model.LocalProcessModel lpm, java.lang.String discoveryType)ObjectCentricLocalProcessModel(org.processmining.placebasedlpmdiscovery.model.LocalProcessModel lpm, java.lang.String discoveryType, float variableArcThreshold)ObjectCentricLocalProcessModel(org.processmining.placebasedlpmdiscovery.model.LocalProcessModel lpm, java.lang.String discoveryType, float variableArcThreshold, TaggedPlaceSet placeSet)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAllPlaces(java.util.Set<TaggedPlace> places)voidaddAllPlaces(java.util.Set<TaggedPlace> places, java.lang.Boolean keepEvaluation)voidaddExternalObjectFlowAll(ExternalObjectFlow selectedEOF, PlaceCompletion currentPlaceCompletion)voidaddExternalObjectFlowStartEnd(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 transitionsvoidaddOCLPM(ObjectCentricLocalProcessModel oclpm)voidaddPlace(TaggedPlace place)voidaddPlace(TaggedPlace place, java.lang.Boolean keepEvaluation)booleancontainsLPM(org.processmining.placebasedlpmdiscovery.model.LocalProcessModel lpm)booleancontainsPlace(java.util.Set<java.lang.String> possibleShortString)booleancontainsPlace(org.processmining.placebasedlpmdiscovery.model.Place place)voiddeletePlaces(java.util.Set<TaggedPlace> places)voiddeletePlaces(java.util.Set<TaggedPlace> places, java.lang.Boolean skipTransitionCheck)booleanequals(java.lang.Object obj)java.util.Set<org.processmining.placebasedlpmdiscovery.model.Arc>getArcs()java.lang.DoublegetCombinedScore()java.util.HashSet<java.lang.String>getDiscoveryTypes()java.lang.StringgetDiscoveryTypesString()java.util.Map<OCLPMEvaluationMetrics,java.lang.Double>getEvaluation()java.lang.ObjectgetEvaluation(OCLPMEvaluationMetrics metric)java.lang.StringgetEvaluationString()String consisting of all evaluation metrics to be displayed for this OCLPMjava.lang.StringgetEvaluationStringHTML()String consisting of all evaluation metrics to be displayed for this OCLPMjava.lang.StringgetId()java.util.Set<java.lang.String>getInputTransitionLabels()Finds all transitions that don't have output arcs with any place in the LPMjava.util.List<org.processmining.placebasedlpmdiscovery.model.Transition>getInputTransitions()Finds all transitions that don't have output arcs with any place in the LPMjava.util.Set<TaggedPlace>getIsomorphicPlaces()java.util.HashMap<java.lang.String,java.util.HashSet<java.lang.String>>getMapActivityToTypes()java.util.Map<java.lang.String,java.util.Set<java.lang.String>>getMapIdVarArcActivities()java.util.HashMap<java.lang.String,java.util.HashSet<java.lang.String>>getMapTypeToVarArcActivities()java.util.Set<java.lang.String>getObjectTypesAll()java.util.Set<java.lang.String>getOutputTransitionLabels()Finds all transitions that don't have input arcs with any place in the LPMjava.util.List<org.processmining.placebasedlpmdiscovery.model.Transition>getOutputTransitions()Finds all transitions that don't have input arcs with any place in the LPMTaggedPlacegetPlace(java.lang.String id)org.processmining.placebasedlpmdiscovery.model.PlacegetPlace(org.processmining.models.graphbased.NodeID id)java.util.Map<java.lang.String,TaggedPlace>getPlaceMapAll()java.util.Map<java.lang.String,TaggedPlace>getPlaceMapIsomorphic()java.util.Set<TaggedPlace>getPlaces()java.util.Set<java.lang.String>getPlaceTypes()the object types of places in the modeljava.lang.StringgetShortString()java.util.Collection<org.processmining.placebasedlpmdiscovery.model.Transition>getTransitions()java.util.Set<java.lang.String>getVariableArcActivities(java.lang.String placeId)java.util.Set<java.lang.String>getVariableArcActivities(TaggedPlace tp)java.util.Collection<org.processmining.placebasedlpmdiscovery.model.Transition>getVisibleTransitions()voidgrabIsomorphicPlaces(TaggedPlaceSet placeSet)Retrieves the places which are isomorphic to ones in the model and stores them in the isomorphicPlaces variable.booleanhasCommonTransitions(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.inthashCode()booleanisEqual(ObjectCentricLocalProcessModel oclpm2)Check if the OCLPMs have equal places (ignoring only variable arcs)booleanisIsomorphic(ObjectCentricLocalProcessModel oclpm2)Check if the OCLPMs have equal places (ignoring object type of places and variable arcs)voidrecalculateEvaluation()Calculates evaluation metric which are dependent on the exact places and variable arcs.voidremoveExternalObjectFlow(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)voidsetCombinedScore(java.lang.Double combinedScore)voidsetDiscoveryTypes(java.util.HashSet<java.lang.String> types)voidsetEvaluation(java.util.Map<OCLPMEvaluationMetrics,java.lang.Double> evaluation)voidsetMapIdVarArcActivities(java.util.Map<java.lang.String,java.util.Set<java.lang.String>> mapIdVarArcActivities)voidsetMapTypeToVarArcActivities(java.util.HashMap<java.lang.String,java.util.HashSet<java.lang.String>> mapTypeToVarArcActivities)voidsetObjectTypesAll(java.util.Set<java.lang.String> objectTypesAll)voidsetVariableArcThreshold(float variableArcThreshold)java.lang.StringtoString()
-
-
-
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)
-
ObjectCentricLocalProcessModel
public ObjectCentricLocalProcessModel(ObjectCentricLocalProcessModel oclpm)
-
-
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)
-
addOCLPM
public void addOCLPM(ObjectCentricLocalProcessModel oclpm)
-
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:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
getShortString
public java.lang.String getShortString()
- Specified by:
getShortStringin interfaceorg.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.
-
getEvaluation
public java.util.Map<OCLPMEvaluationMetrics,java.lang.Double> getEvaluation()
-
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)
-
getEvaluation
public java.lang.Object getEvaluation(OCLPMEvaluationMetrics metric)
-
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()
-
-