Yigal Rachman wrote: > 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? > There's also the State Machine Compiler (http://smc.sourceforge.net/). If you haven't you might want to check it out too. It also uses a special language with embedded Java code which needs to be compiled into Java by a special compiler.
My main motivation for starting mina-sm was that I wanted to express my state machine in pure Java. It's by no means finished so any suggestions for improvements would be most welcome. If you want more info about mina-sm you could check out the tutorial I'm working on, http://cwiki.apache.org/confluence/display/MINA/Introduction+to+mina-sm. Please be aware that it's not finished yet. -- Niklas Therning www.spamdrain.net
