Distinguish between structural and semantic interpretations of automata#103
Open
mtf90 wants to merge 8 commits into
Open
Distinguish between structural and semantic interpretations of automata#103mtf90 wants to merge 8 commits into
mtf90 wants to merge 8 commits into
Conversation
Member
Author
|
@fhowar One thing worth discussing is the random generation of automata. Currently, it only works for |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces the concept of semantics which allow one to distinguish between the structural and semantic interpretation of automata. On an abstract level, it introduces various semantics providers in the
net.automatalib.semanticpackage (automata-api) to establish a standardized way of expressing semantics. However, for the most time, this interface is not yet used in AutomataLib. Instead, many of the inherently finite formalisms (DFAs, Mealy machines, etc.) provide customFiniteSemanticssub-interfaces that combine their own interface with a semantics provider. For these formalisms, the state structure can be directly accessed as before which allows us to skip the need for refactoring in many places.Along these changes,
SEVPAs have been adjusted to the structure/semantics split by now implementing theUniversalAutomatoninterface for structural properties and providingDeterministicAcceptorTSsemantics to express their acceptance behavior.IntAbstractions (including sub types) have been moved to thenet.automatalib.automaton.abstractionpackage (automata-api) alongisde their default implementations in order to de-clutter the original automaton definitions.