Class Fixpoint<G extends Graph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<G,​N,​E>,​T>

  • Type Parameters:
    G - the type of the source Graph
    N - the type of the Nodes in the source graph
    E - the type of the Edges in the source graph
    T - the type of data computed by the fixpoint

    public class Fixpoint<G extends Graph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<G,​N,​E>,​T>
    extends java.lang.Object
    A fixpoint algorithm for a Graph, parametric to the Fixpoint.FixpointImplementation that one wants to use to compute the results.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  Fixpoint.FixpointImplementation<N,​E,​T>
      Concrete implementation of the general methods used by a fixpoint algorithm to perform.
    • Constructor Summary

      Constructors 
      Constructor Description
      Fixpoint​(Graph<G,​N,​E> graph)
      Builds a fixpoint for the given Graph.
    • Constructor Detail

      • Fixpoint

        public Fixpoint​(Graph<G,​N,​E> graph)
        Builds a fixpoint for the given Graph.
        Parameters:
        graph - the source graph
    • Method Detail

      • fixpoint

        public java.util.Map<N,​T> fixpoint​(java.util.Map<N,​T> startingPoints,
                                                 WorkingSet<N> ws,
                                                 Fixpoint.FixpointImplementation<N,​E,​T> implementation)
                                          throws FixpointException
        Runs the fixpoint. Invoking this method effectively recomputes the result: no caching on previous runs is executed.
        Parameters:
        startingPoints - a map containing all the nodes to start the fixpoint at, each mapped to its entry state.
        ws - the instance of WorkingSet to use for the fixpoint
        implementation - the Fixpoint.FixpointImplementation to use for running the fixpoint
        Returns:
        a mapping from each (reachable) node of the source graph to the fixpoint result computed at that node
        Throws:
        FixpointException - if something goes wrong during the fixpoint execution