java.lang.Object
org.processmining.models.graphbased.directed.analysis.ComponentFactory

public class ComponentFactory extends Object
  • Constructor Details

    • ComponentFactory

      public ComponentFactory()
  • Method Details

    • componentize

      public static <N extends DirectedGraphNode, E extends DirectedGraphEdge<? extends N, ? extends N>> Collection<Collection<N>> componentize(DirectedGraph<N,E> graph)
      Computes strongly connected components for the given directed graph.
      Type Parameters:
      N - Node type of the graph
      E - Edge type of the graph
      Parameters:
      graph - The graph to componentize
      Returns:
      The set of strongly connected components of the graph
    • buggedComponentize

      public static <N extends DirectedGraphNode, E extends DirectedGraphEdge<? extends N, ? extends N>> Collection<Collection<N>> buggedComponentize(DirectedGraph<N,E> graph)
    • isTerminal

      public static <N extends DirectedGraphNode, E extends DirectedGraphEdge<? extends N, ? extends N>> boolean isTerminal(DirectedGraph<N,E> graph, Collection<N> component)
      Checks whether a component is terminal, that is, whether it has no outgoing edges.
      Type Parameters:
      N - The type of nodes in the graph
      E - The type of edges in the graph
      Parameters:
      graph - The given graph
      component - The given component
      Returns:
      Whether the component is terminal