SMC - The State Machine Compiler
Description
SMC takes a state machine stored in a .sm file and generates a State pattern in 14 programming languages. Includes: default transitions, transition args, transition guards, push/pop transitions and Entry/Exit actions. See User Manual for more info.
Categories
License
Update Notifications
User Ratings
User Reviews
-
Great software, thanks smc
-
smc works perfectly.
-
thanks man, great soft!
-
smc works great
-
This is the second Finite State Machine generator I have used, and the most flexible. The first was QP, which worked well on the Windows C++ platform I was developing on in 2006. But the number of target platforms for QP is small, and this licensing is complicated. I am now using SMC for some networking logic in my iOS App ( http://dr.edgemoor.com ) and plan to expand its use for other items. Advantages: 1) Simple to use and understand 2) Fairly easy to debug. If you make a mistake in you FSM definition, it will toss a nasty run time error that will point you to what is missing. 3) I want to port my App to Android and possibly Windows Phone, and SMC will work well for this. I plan to put the maximum amount of logic into state machine definitions to make porting simpler. 4) The state charts that SMC generates are really useful. I include them in my DOxygen project documentation, and can quickly look at them to remember how things are working. Disadvantages: 1) Needs more volunteers to add to the documentation. ( Of course, I could be one of those volunteers, so I can't complain. )
-
I've been using SMC to implement non blocking i/o protocols, as well as manage distributed coordination in process groups. I've been using hand written FSMs for this previously, and I was amazed at how much simpler, correct, and more importantly _understandable_ these systems have become after using SMC. Just having the FSM definition in one place, not to mention HTML and DOT generated documentation is a HUGE advantage. Most excellent stuff. And now that Javascript is supported... :)