SMC - The State Machine Compiler v. 4.0.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 Python? 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. 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++, Java, Tcl, VB.Net, C# and Python 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 C++, Java, Tcl (requires [incr Tcl] package), VB.Net, C# and Python. The examples range from trivial to GUI apps. SMC generated code is trivial to hook into existing Python 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. SMC generates code for C++, C#, Java, Tcl, VB.Net and now Python. 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 mailto:[EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html