Hi, Folks:
Yesterday my first MINA-based code went into production. As expected,
it is working wonderfully well - really cool! Thank you all for making
MINA such a joy to use.
As noted by others in this group, MINA is very well suited for use with
state machines because all the operations are non-blocking. I am
planning to exploit this for the instrument drivers that I am developing
with MINA, but am still researching the best tools for the job (no
offense to mina-sm). The most promising tool I have found is CHSM
(Concurrent Hierarchical State Machine). The home page is
http://chsm.sourceforge.net/index.html . Written originally for C++,
it now works for Java, too.
If you have an interest in state machines in general, then the original
thesis that spawned CHSM is a must-read:
http://homepage.mac.com/pauljlucas/resume/pjl-chsm-thesis.pdf (there is
a link to it from the home page, too). It describes in detail the
theory of hierarchical state machines (based on UML state charts - much
more powerful than the "usual" state machines), the programming
algorithms, and some great examples. It is the best work on the subject
that I have found thus far.
CHSM is a pre-compiler, which may make it more awkward to use than
direct java. However, I suspect that there may be a way to rework it to
use java directly, in the spirit of mina-sm.
Comments, anyone?
Yigal Rachman
Instrument Data Acquisition Developer
NEPTUNE Canada
www.neptunecanada.ca