ANNOUNCE: SMC - State Machine Compiler v. 4.2.1 for Perl

Discussion in 'Perl Misc' started by Charles Rapp, Sep 14, 2005.

  1. Charles Rapp

    Charles Rapp Guest

    SMC - The State Machine Compiler v. 4.2.1

    Requires: Java 1.4.1 SE (Standard Edition) or better.
    Home Page:

    Why use Perl? 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, Ruby and Perl 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 Perl

    + 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

    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 You can access the SMC
    Programmer's Manual there as well. While you're there, check out
    the SMC demo applet at

    Where can I get it?

    SMC and the Programmer's Manual can be downloaded from 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
    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 and report
    the problem. I will try and answer you via the Help forum as
    quickly as I can.


    Charles Rapp
    Charles Rapp, Sep 14, 2005
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Charles Rapp
    Charles Rapp
    Jul 9, 2003
  2. Charles Rapp
    Charles Rapp
    Sep 1, 2003
  3. Charles Rapp
    Charles Rapp
    May 31, 2004
  4. Charles Rapp
    Charles Rapp
    Sep 6, 2004
  5. Replies:

Share This Page