From: Charles Rapp Date: 2005-09-12T04:51:35+09:00 Subject: [ANN] SMC - State Machine Compiler v. 4.2.0 for Ruby SMC - The State Machine Compiler v. 4.2.0 Requires: Java 1.4.1 SE (Standard Edition) or better. Download: http://sourceforge.net/projects/smc Home Page: http://smc.sourceforge.net Why use Ruby? You know why - powerful, flexible, simple and very capable. Why use finite state machines (FSMs)? For the exact same reasons. Computing has long since moved beyond a single process, a single processor and single computer programming language. Your application lives in a distributed world with asynchronous events, I/O and timers. Objects together with FSMs can handle this difficult world in a robust and efficient manner. An object's encapsulated FSM tracks the object's current state. The current state defines how the object should respond to an event. ================================================================= What is SMC? ================================================================= SMC takes a state machine description (stored in a .sm file) and generates State pattern classes in a target language (C++, C, Java, Tcl, VB.Net, C#, Python, Perl and Ruby are currently supported). SMC is a console-based app written in Java which means SMC can run anywhere Java (1.4.1 or better) can run. The download package includes an example directory showing how SMC can used with all nine supported languages. The examples range from trivial to GUI apps. SMC generated code is trivial to hook into existing Ruby applications: + SMC does not change your code or require you to change your code's logic. + SMC does not require that your class inherit or implement any SMC class. + SMC does not use state transition arrays or switch statements. An object simply instantiates the FSM and passing in its "self" to the FSM constructor. SMC is a mature software tool: 5 years old, in use around the world and used in production software for the telecommunications and financial exchanges. It is an active open source project with new languages and features regularly added. ================================================================= How can I learn more? ================================================================= At http://smc.sourceforge.net. You can access the SMC Programmer's Manual there as well. While you're there, check out the SMC demo applet at http://smc.sourceforge.net/SmcDemo.htm. ================================================================= Where can I get it? ================================================================= SMC and the Programmer's Manual can be downloaded from http://sourceforge.net/projects/smc. You can also use this website to: + Ask questions (via the Public Forum's Help discussion) + Submit a bug. + Join a mailing list. + Access SMC documentation. + Access SMC's source code in the CVS repository. (Note: in order to make full use of SourceForge capabilities, you must be a SourceForge member. If you are not a member, head over to http://sourceforge.net/account/register.php and sign up. SourceForge membership is free - no money, no requirements and NO SPAM! Membership has its benefits.) If you have any problems, surf over to http://sourceforge.net/forum/forum.php?forum_id=27865 and report the problem. I will try and answer you via the Help forum as quickly as I can. Enjoy! Charles Rapp