Class OmegaAcceptanceCast


  • public final class OmegaAcceptanceCast
    extends Object
    This class provides functionality to cast an automaton to an automaton with a more generic acceptance condition. This operation yields a on-the-fly generated view on the backing automaton. It is assumed that the backing automaton is not modified anymore after the cast.
    • Method Detail

      • cast

        public static <S,​A extends EmersonLeiAcceptance,​B extends EmersonLeiAcceptanceAutomaton<S,​? extends B> cast​(Automaton<S,​A> automaton,
                                                                                                                                        Class<? extends B> acceptanceClass)
        Cast the given automaton to the given acceptance condition if possible. A conversion is considered possible if (trivial) rewriting of the acceptance condition is done and no changes to state space are necessary, e.g. a Büchi condition can be translated to a Rabin condition, but a Rabin condition (even only with a single pair) cannot be cast to parity acceptance condition.
        Type Parameters:
        S - The state type.
        A - The current acceptance type.
        B - The desired acceptance type.
        Parameters:
        automaton - The automaton. It is assumed that after calling this method the automaton is not modified anymore.
        acceptanceClass - The desired acceptance condition.
        Returns:
        A view on the given automaton with the necessary changes.