org.processmining.analysis.conformance
Class FitnessVisualization

java.lang.Object
  extended by att.grappa.Element
      extended by att.grappa.Subgraph
          extended by att.grappa.Graph
              extended by org.processmining.framework.models.ModelGraph
                  extended by org.processmining.framework.models.petrinet.PetriNet
                      extended by org.processmining.framework.models.petrinet.algorithms.logReplay.ReplayedPetriNet
                          extended by org.processmining.analysis.conformance.DiagnosticPetriNet
                              extended by org.processmining.analysis.conformance.FitnessVisualization
All Implemented Interfaces:
att.grappa.GrappaConstants, java.lang.Cloneable, java.util.Comparator, DotFileWriter

public class FitnessVisualization
extends DiagnosticPetriNet

Overrides the default visualization methods to include all the diagnostic information being requested.

Author:
arozinat

Field Summary
 boolean failedTransitionsOption
          Represents the visualization option of indicating the tasks that have failed execution in the model.
 boolean passedEdgesOption
          Represents the visualization option of indicating the number of times that an edge has been passed during log replay.
 boolean pathCoverageOption
          Represents the visualization option of indicating the tasks that have been executed in the model.
 boolean remainingTransitionsOption
          Represents the visualization option of indicating the tasks that have remained enabled in the model.
 boolean tokenCouterOption
          Represents the visualization option of indicating the token counter results in the model.
 
Fields inherited from class org.processmining.analysis.conformance.DiagnosticPetriNet
myReplayedLog
 
Fields inherited from class org.processmining.framework.models.ModelGraph
DOESNTCROSS_REGION, ENTERS_REGION, EXITS_REGION, identifier, nodeMapping, vertices, visualObject
 
Fields inherited from class att.grappa.Graph
INDENT_STRING, REFCNTXT
 
Fields inherited from class att.grappa.Subgraph
currentSelection, defaultNamePrefix
 
Fields inherited from class att.grappa.Element
counter, highlight, linewidth, object, printAllAttributes, printDefaultAttributes, usePrintList, visible
 
Fields inherited from interface att.grappa.GrappaConstants
_NO_TYPE, ANONYMOUS_PREFIX, BBOX_ATTR, BBOX_HASH, BOX_SHAPE, BOX_TYPE, CLUSTERRANK_ATTR, COLOR_ATTR, COLOR_HASH, COLOR_TYPE, CUSTOM_ATTR, CUSTOM_HASH, CUSTOM_SHAPE, DELETION_MASK, DIAMOND_SHAPE, DIR_ATTR, DIR_HASH, DIR_TYPE, DISTORTION_ATTR, DISTORTION_HASH, DOUBLE_TYPE, DOUBLECIRCLE_SHAPE, DOUBLEOCTAGON_SHAPE, EDGE, EGG_SHAPE, FILLCOLOR_ATTR, FILLCOLOR_HASH, FONTCOLOR_ATTR, FONTCOLOR_HASH, FONTNAME_ATTR, FONTNAME_HASH, FONTSIZE_ATTR, FONTSIZE_HASH, FONTSTYLE_ATTR, FONTSTYLE_HASH, FONTSTYLE_TYPE, GRAPPA_BACKGROUND_COLOR_ATTR, GRAPPA_BACKGROUND_COLOR_HASH, GRAPPA_DELETION_STYLE_ATTR, GRAPPA_DELETION_STYLE_HASH, GRAPPA_FONTSIZE_ADJUSTMENT_ATTR, GRAPPA_FONTSIZE_ADJUSTMENT_HASH, GRAPPA_SELECTION_STYLE_ATTR, GRAPPA_SELECTION_STYLE_HASH, GRAPPA_SHAPE, HASHLIST_TYPE, HEIGHT_ATTR, HEIGHT_HASH, HEXAGON_SHAPE, HIGHLIGHT_MASK, HIGHLIGHT_OFF, HIGHLIGHT_ON, HIGHLIGHT_TOGGLE, HOUSE_SHAPE, IDENTXFRM, IMAGE_ATTR, IMAGE_HASH, INTEGER_TYPE, INVERTEDHOUSE_SHAPE, INVERTEDTRAPEZIUM_SHAPE, INVERTEDTRIANGLE_SHAPE, LABEL_ATTR, LABEL_HASH, LINE_SHAPE, LINE_TYPE, LOG10, LP_ATTR, LP_HASH, MARGIN_ATTR, MARGIN_HASH, MCIRCLE_SHAPE, MCLIMIT_ATTR, MCLIMIT_HASH, MDIAMOND_SHAPE, MINBOX_ATTR, MINBOX_HASH, MINLEN_ATTR, MINLEN_HASH, MINSIZE_ATTR, MINSIZE_HASH, MRECORD_SHAPE, MSQUARE_SHAPE, NBSP, NEW_LINE, NO_SHAPE, NODE, NODESEP_ATTR, NODESEP_HASH, OCTAGON_SHAPE, ORIENTATION_ATTR, ORIENTATION_HASH, OVAL_SHAPE, PACKAGE_PREFIX, PARALLELOGRAM_SHAPE, PATCH_ATTR, PATCH_HASH, PENTAGON_SHAPE, PERIPHERIES_ATTR, PERIPHERIES_HASH, PERIPHERY_GAP, PKG_LOWER, PKG_UPLOW, PKG_UPPER, PLAINTEXT_SHAPE, POINT_TYPE, PointsPerInch, POLYGON_SHAPE, POS_ATTR, POS_HASH, PRINTLIST_ATTR, PRINTLIST_HASH, RANKDIR_ATTR, RANKDIR_HASH, RANKSEP_ATTR, RANKSEP_HASH, RECORD_SHAPE, RECTS_ATTR, RECTS_HASH, ROTATION_ATTR, ROTATION_HASH, ROUNDEDBOX_SHAPE, SELECTION_MASK, SHAPE_ATTR, SHAPE_HASH, SHAPE_MASK, SHAPE_TYPE, SIDES_ATTR, SIDES_HASH, SIZE_ATTR, SIZE_HASH, SIZE_TYPE, SKEW_ATTR, SKEW_HASH, STRING_TYPE, STYLE_ATTR, STYLE_HASH, STYLE_TYPE, SUBGRAPH, SYSTEM, TAG_ATTR, TAG_HASH, TIP_ATTR, TIP_HASH, TRAPEZIUM_SHAPE, TRIANGLE_SHAPE, TRIPLEOCTAGON_SHAPE, TYPES_SHIFT, WEIGHT_ATTR, WEIGHT_HASH, WIDTH_ATTR, WIDTH_HASH
 
Constructor Summary
FitnessVisualization(DiagnosticPetriNet copyTemplate)
          Create a diagnostic Petri net with path coverage visualization.
FitnessVisualization(PetriNet net, java.util.ArrayList caseIDs, DiagnosticLogReader replayedLog)
          Create a diagnostic Petri net with path coverage visualization.
 
Method Summary
protected  void finishDotWriting(java.io.Writer bw)
          This is the finishing part of the writeToDot procedure (refer to it for further information), which gets affected if the remainingTransitionsOption evaluates to true.
protected  void writeEdgesToDot(java.io.Writer bw)
          This is the edge writing part of the writeToDot procedure.
protected  void writePlacesToDot(java.io.Writer bw)
          This is the place writing part of the writeToDot procedure (refer to it for further information), which gets affected if the tokenCounterOption evaluates to true.
protected  void writeTransitionsToDot(java.io.Writer bw)
          This is the transition writing part of the writeToDot procedure (refer to it for further information), which gets affected if the pathCoverageOption or the failedTransitionsOption evaluate to true.
 
Methods inherited from class org.processmining.analysis.conformance.DiagnosticPetriNet
getMissingTokens, getRemainingTokens, makeEdge, makeEdge, makePlace, makeTransition
 
Methods inherited from class org.processmining.framework.models.petrinet.algorithms.logReplay.ReplayedPetriNet
hasEnabledInvisibleTasks
 
Methods inherited from class org.processmining.framework.models.petrinet.PetriNet
addAndLinkEdge, addAndLinkEdge, addAndLinkPlace, addAndLinkTransition, addCluster, addEdge, addEdge, addNet, addPlace, addPlace, addToken, addTransition, addTransition, clone, delPlace, delTransition, extractNet, findPlace, findPlace, findRandomTransition, findTransition, findTransition, findTransitions, getClusters, getIncidenceMatrix, getInputArcsTransitionsIncidenceMatrix, getInvisibleTasks, getNodes, getNumberOfInvisibleTasks, getNumberOfNonDuplicateTasks, getNumberOfVisibleTasks, getOutputArcsTransitionsIncidenceMatrix, getPlaces, getSink, getSource, getTransitions, getVisibleTasks, initDotWriting, isAcyclic, makeClusters, mergePlaces, numberOfNodes, numberOfPlaces, numberOfTransitions, removeVertex, Test, writeClustersToDot, writeToDot
 
Methods inherited from class org.processmining.framework.models.ModelGraph
addEdge, addEdge, addVertex, calculateAllNonCompRegions, calculateAllRegions, calculateMinimalRegions, calculateRegionsMaxSize, delEdge, getAllEdges, getEdgeObjects, getEdges, getEdgesBetween, getFirstEdge, getGrappaVisualization, getIdentifier, getNumberOfEdges, getPostRegions, getPreRegions, getShortestDistances, getVerticeList, getWeightedArcs, reduceTransitively, removeEdge, removeEdges, setIdentifier, setWeightedArcs
 
Methods inherited from class att.grappa.Graph
addPanel, attributeType, buildShapes, decrementIndent, dropcloth, getErrorWriter, getGlobalAttribute, getGlobalAttributeKeys, getGlobalAttributePairs, getGlobalAttributeSize, getGrappaAttribute, getGrappaAttributeKeys, getGrappaAttributeValue, getId, getIndent, getSynchronizePaint, getToolTipText, incrementIndent, isDirected, isEditable, isMenuable, isSelectable, isStrict, paintImmediately, printError, printError, printGraph, printGraph, removePanel, repaint, reset, reset, resync, setEditable, setErrorWriter, setGrappaAttribute, setMenuable, setSelectable, setSynchronizePaint, setToolTipText, validGrappaAttributeKey
 
Methods inherited from class att.grappa.Subgraph
addEdge, addNode, addSubgraph, addTypeTag, clearPatchWork, compare, computePatchWork, countOfElements, countOfLocalElements, createElement, edgeElements, elements, elements, equals, findEdgeByName, findNodeByName, findSubgraphByName, getBoundingBox, getEdgeAttribute, getEdgeAttributeKeys, getEdgeAttributePairs, getEdgeAttributeValue, getNodeAttribute, getNodeAttributeKeys, getNodeAttributePairs, getNodeAttributeValue, getShowEdgeLabels, getShowNodeLabels, getShowSubgraphLabels, getType, hasEmptySubgraphs, hasTypeTag, hasTypeTags, isCluster, isLR, isRoot, isSubgraph, nodeElements, patchWork, preparePatchWork, printSubgraph, removeEdge, removeEmptySubgraphs, removeNode, removeSubgraph, removeTypeTag, removeTypeTags, resetBoundingBox, setAttribute, setAttribute, setEdgeAttribute, setEdgeAttribute, setName, setNodeAttribute, setNodeAttribute, setShowEdgeLabels, setShowNodeLabels, setShowSubgraphLabels, subgraphElements, vectorOfElements
 
Methods inherited from class att.grappa.Element
addTag, attrNotOfInterest, attrOfInterest, bdfs, buildShape, canonString, canonValue, clearBBox, delete, getAttribute, getAttributePairs, getAttributeValue, getDefaultAttribute, getDefaultAttribute, getGraph, getGrappaNexus, getId, getIdKey, getLocalAttribute, getLocalAttributeKeys, getLocalAttributePairs, getName, getSubgraph, getThisAttribute, getThisAttributeValue, hasAttributeForKey, hasDefaultTag, hasDefaultTags, hasLocalTag, hasLocalTags, hasTag, hasTags, isEdge, isNode, isOfInterest, listAttrsOfInterest, printElement, removeTag, removeTags, setDefaultAttribute, setDefaultAttribute, setDefaultAttribute, setDefaultAttribute, setIdKey, setSubgraph, setUserAttributeType, toString, typeString
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

tokenCouterOption

public boolean tokenCouterOption
Represents the visualization option of indicating the token counter results in the model. The public attribute is necessary because the writeToDot() method has a fixed interface.


remainingTransitionsOption

public boolean remainingTransitionsOption
Represents the visualization option of indicating the tasks that have remained enabled in the model. The public attribute is necessary because the writeToDot() method has a fixed interface.


failedTransitionsOption

public boolean failedTransitionsOption
Represents the visualization option of indicating the tasks that have failed execution in the model. The public attribute is necessary because the writeToDot() method has a fixed interface.


pathCoverageOption

public boolean pathCoverageOption
Represents the visualization option of indicating the tasks that have been executed in the model. The public attribute is necessary because the writeToDot() method has a fixed interface.


passedEdgesOption

public boolean passedEdgesOption
Represents the visualization option of indicating the number of times that an edge has been passed during log replay. The public attribute is necessary because the writeToDot() method has a fixed interface.

Constructor Detail

FitnessVisualization

public FitnessVisualization(PetriNet net,
                            java.util.ArrayList caseIDs,
                            DiagnosticLogReader replayedLog)
Create a diagnostic Petri net with path coverage visualization.

Parameters:
net - the Petri net to be passed to super
caseIDs - the trace IDs to be passed to super

FitnessVisualization

public FitnessVisualization(DiagnosticPetriNet copyTemplate)
Create a diagnostic Petri net with path coverage visualization. The copy constructor is used to change the visualization but to keep all the diagnostic results.

Parameters:
copyTemplate - The Petri net containing all the diagnostic information that should be preserved (to be passed to super).
Method Detail

writeTransitionsToDot

protected void writeTransitionsToDot(java.io.Writer bw)
                              throws java.io.IOException
This is the transition writing part of the writeToDot procedure (refer to it for further information), which gets affected if the pathCoverageOption or the failedTransitionsOption evaluate to true.

Overrides:
writeTransitionsToDot in class PetriNet
Parameters:
bw - The writer used by the framework to create the temporary dot file.
Throws:
java.io.IOException - If writing to the writer fails.

writePlacesToDot

protected void writePlacesToDot(java.io.Writer bw)
                         throws java.io.IOException
This is the place writing part of the writeToDot procedure (refer to it for further information), which gets affected if the tokenCounterOption evaluates to true.

Overrides:
writePlacesToDot in class PetriNet
Parameters:
bw - The writer used by the framework to create the temporary dot file.
Throws:
java.io.IOException - If writing to the writer fails.

writeEdgesToDot

protected void writeEdgesToDot(java.io.Writer bw)
                        throws java.io.IOException
This is the edge writing part of the writeToDot procedure. This part of the visualization gets affected as soon as the passedEdgesOption evaluates to true.

Overrides:
writeEdgesToDot in class PetriNet
Parameters:
bw - the writer used by the framework to create the temporary dot file
Throws:
java.io.IOException - if writing to the writer fails

finishDotWriting

protected void finishDotWriting(java.io.Writer bw)
                         throws java.io.IOException
This is the finishing part of the writeToDot procedure (refer to it for further information), which gets affected if the remainingTransitionsOption evaluates to true.

Overrides:
finishDotWriting in class PetriNet
Parameters:
bw - The writer used by the framework to create the temporary dot file.
Throws:
java.io.IOException - If writing to the writer fails.