org.processmining.analysis.conformance
Class BehAppropriatenessVisualization

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.BehAppropriatenessVisualization
All Implemented Interfaces:
att.grappa.GrappaConstants, java.lang.Cloneable, java.util.Comparator, DotFileWriter

public class BehAppropriatenessVisualization
extends DiagnosticPetriNet

Overrides the default Petri net visualization to add behavioral appropriateness diagnostics.

Author:
arozinat

Field Summary
 boolean alwaysFollowsOption
          Represents the visualization option of indicating those activities that always followed each other.
 boolean alwaysPrecedesOption
          Represents the visualization option of indicating those activities that always preceded each other.
 boolean neverFollowsOption
          Represents the visualization option of indicating those activities that never followed each other.
 boolean neverPrecedesOption
          Represents the visualization option of indicating those activities that never preceded each other.
 
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
BehAppropriatenessVisualization(DiagnosticPetriNet copyTemplate)
          Creates a diagnostic Petri net with successorship relation visualization.
BehAppropriatenessVisualization(PetriNet net, java.util.ArrayList caseIDs, DiagnosticLogReader replayedLog)
          Creates a diagnostic Petri net with successorship relation visualization.
 
Method Summary
protected  void finishDotWriting(java.io.Writer bw)
          Adds diagnostic edges to the model view (indicating the global successorship and predecessorship relations).
 
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, writeEdgesToDot, writePlacesToDot, writeToDot, writeTransitionsToDot
 
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

alwaysFollowsOption

public boolean alwaysFollowsOption
Represents the visualization option of indicating those activities that always followed each other. The public attribute is necessary because the writeToDot() method has a fixed interface.


neverFollowsOption

public boolean neverFollowsOption
Represents the visualization option of indicating those activities that never followed each other. The public attribute is necessary because the writeToDot() method has a fixed interface.


alwaysPrecedesOption

public boolean alwaysPrecedesOption
Represents the visualization option of indicating those activities that always preceded each other. The public attribute is necessary because the writeToDot() method has a fixed interface.


neverPrecedesOption

public boolean neverPrecedesOption
Represents the visualization option of indicating those activities that never preceded each other. The public attribute is necessary because the writeToDot() method has a fixed interface.

Constructor Detail

BehAppropriatenessVisualization

public BehAppropriatenessVisualization(PetriNet net,
                                       java.util.ArrayList caseIDs,
                                       DiagnosticLogReader replayedLog)
Creates a diagnostic Petri net with successorship relation visualization.

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

BehAppropriatenessVisualization

public BehAppropriatenessVisualization(DiagnosticPetriNet copyTemplate)
Creates a diagnostic Petri net with successorship relation 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

finishDotWriting

protected void finishDotWriting(java.io.Writer bw)
                         throws java.io.IOException
Adds diagnostic edges to the model view (indicating the global successorship and predecessorship relations).

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