Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An Event-Based Deterministic Finite Automaton implementation in Java
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
jdfa-core
jdfa-tutorials
README.md
pom.xml

README.md

What is jDFA?

jDFA is an Event-Based Deterministic Finite Automaton implementation in Java.

jDFA is inspired from Erlang design principles which describe a Finite State Machine as a set of relations of the form :

State(S) x Event(E) -> Actions(A), State(S')

These relations are interpreted as meaning :

If we are in state S and the event E occurs, we should perform the actions A and make a transition to the state S'.

Using jDFA, you can define FSM transitions with an intuitive API like :

Transition t = new TransitionBuilder()
        .sourceState(s0) //if we are in state s0
        .eventType(Event.class) // and the event E occurs
        .eventHandler(myAction) // we should perform the actions A
        .targetState(s1) // and make a transition to the state s1
        .build();

Documentation

All jDFA documentation can be found here : https://github.com/benas/jDFA/wiki

License

jDFA is released under the MIT License.

Something went wrong with that request. Please try again.