Interface NbaSimAlgorithm<S,​T>

  • Type Parameters:
    T - type of parsed CLI Argument

    public interface NbaSimAlgorithm<S,​T>
    Interface that all pluggable language inclusion / simulation algorithms should implement.
    • Method Detail

      • parseArg

        T parseArg​(String arg)
        This method should parse the provided argument into the right type (e.g. as Integer).
        Parameters:
        arg - Argument provided to the simulation.
        Returns:
        An argument of the actual type that is required.
        Throws:
        IllegalArgumentException - if the argument can not be meaningfully parsed.
      • compute

        Set<Pair<S,​S>> compute​(Automaton<S,​? extends BuchiAcceptance> aut,
                                     T parsedArg)
        This method should be the actual main entry point into the algorithm.
        Parameters:
        aut - Input Büchi automaton
        parsedArg - Argument provided to the simulation
        Returns:
        Set of obtained language inclusions (i.e., (a,b) means L(a) subset of L(b))
      • run

        default Set<Pair<S,​S>> run​(Automaton<S,​? extends BuchiAcceptance> aut,
                                         String cliArg)
        This method just parses the argument provided by the user and runs the algorithm.
        Parameters:
        aut - input Büchi automaton
        cliArg - provided argument from the user (as String, unparsed)