Solved

Class that implements a FSM (Finite State Machine)

Posted on 2003-11-11
8
429 Views
Last Modified: 2006-11-17
Could anybody recommend a Java class that could be employed to implement a FSM?

The solution that is being developed will access some machine peripherals and needs to send them commands depending on their current responses, in order to make them execute some tasks.

If the solution was based on C++, there would be a table containing informations such as the possible states, the methods that could be executed for each state depending on the last response, the next states, etc.

I'm new at Java programming and don't have any idea on how to program FSMs using this language, but was told to find any ready to use FSM class to help me.

Thanks,
Edson
0
Comment
Question by:edsont
8 Comments
 
LVL 35

Accepted Solution

by:
TimYates earned 84 total points
ID: 9721405
0
 
LVL 35

Expert Comment

by:TimYates
ID: 9721410
0
 
LVL 86

Assisted Solution

by:CEHJ
CEHJ earned 83 total points
ID: 9721431
You might also benefit from looking at rules engines in Java, which are configurable with text files (xml) and can take actions based on a particular state. Look at http://sourceforge.net/search under "Java rules engine" (Require All Words)
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 9

Assisted Solution

by:doronb
doronb earned 83 total points
ID: 9727744
I think you'll find everything in here: http://www.coyotegulch.com/bookart/books.html

Download the Java Source Code for the Java Algorithms book, in which you'll find source code for FSM's and how they can be mutated as well :)

Good luck!
Doron
0
 
LVL 14

Expert Comment

by:sudhakar_koundinya
ID: 10049956
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:


[split points to doronb,CEHJ and TimYates]


Please leave any comments here within the next seven days.
 
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
 
sudhakar_koundinya
EE Cleanup Volunteer
---------------------
If you feel that your question was not properly addressed, or that none of the comments received were appropriate answers, please post your concern in THIS thread.
0
 
LVL 9

Expert Comment

by:doronb
ID: 11515131
No objections
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
count11 challenge 6 47
Starting to learn JAVA, 7 47
java 8 lambda expresssions exception handling 3 34
Java DateChooser? 2 5
For customizing the look of your lightweight component and making it look opaque like it was made of plastic.  This tip assumes your component to be of rectangular shape and completely opaque.   (CODE)
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now