Class QPTL2TWACWCanonical

All Implemented Interfaces:
java.util.EventListener, Algorithm, AlgorithmListener, ControllableAlgorithm, EditableAlgorithm, Translator<QPTL,​TwoWayAltAutomaton>

public class QPTL2TWACWCanonical
extends AbstractTranslator<QPTL,​TwoWayAltAutomaton>
This class provides a translation from a QPTL formula in canonical forms to an equivalent two-way alternating co-Büchi automaton. Past sub-formulae are required to be convertible to prenex normal form.
Author:
Ming-Hsien Tsai
  • Constructor Details

    • QPTL2TWACWCanonical

      public QPTL2TWACWCanonical()
      Constructs this translation algorithm with default options.
    • QPTL2TWACWCanonical

      public QPTL2TWACWCanonical​(Properties options)
      Constructs this translation algorithm with custom options.
      Parameters:
      options - custom options
  • Method Details

    • isApplicable

      public static boolean isApplicable​(QPTL formula)
      Returns true if a specified QPTL formula is supported by this translator.
      Parameters:
      formula - a QPTL formula
      Returns:
      true if the specified QPTL formula is supported by this translator
    • getIntermediateResult

      public Editable getIntermediateResult()
      Description copied from interface: Translator
      Returns the intermediate result of this translator. This method can be used for displaying the intermediate result during the step-by-step translation.
      Returns:
      the intermediate result of this translator
    • applyNext

      public static void applyNext​(TwoWayAltAutomaton aut)
      Applies a next temporal operator to a TWACW.
      Parameters:
      aut - a TWACW
    • applyConjunction

      public static TwoWayAltAutomaton applyConjunction​(TwoWayAltAutomaton aut1, TwoWayAltAutomaton aut2)
      Returns a conjunction of two TWACW.
      Parameters:
      aut1 - an TWACW
      aut2 - an TWACW
      Returns:
      a conjunction of the two TWACW
    • applyDisjunction

      public static TwoWayAltAutomaton applyDisjunction​(TwoWayAltAutomaton aut1, TwoWayAltAutomaton aut2)
      Returns a disjunction of two TWACW.
      Parameters:
      aut1 - an TWACW
      aut2 - an TWACW
      Returns:
      a disjunction of the two TWACW
    • translate

      public TwoWayAltAutomaton translate​(QPTL formula) throws UnsupportedException
      Description copied from interface: Translator
      Translates a logic formula to an automaton.
      Parameters:
      formula - a logic formula to be translate
      Returns:
      the automaton translated from formula
      Throws:
      UnsupportedException - if formula is not supported by this translator
    • newInstance

      public Translator<QPTL,​TwoWayAltAutomaton> newInstance()
      Description copied from interface: Translator
      Creates a new translator instance same as this one.
      Returns:
      a new translator instance same as this one