smc - State Machine Compiler

Distribution: RPM Universal
Repository: JPackage 5.0 all
Package name: smc
Package version: 5.0.2
Package release: 2.jpp5
Package architecture: noarch
Package type: rpm
Installed size: 325.77 KB
Download size: 312.17 KB
Official Mirror:
Your application lives in a world of asynchronous, unordered events: mouse clicks, timeouts, messages, and OS signals. And you're ready for them. You've carefully designed your objects. You're using robust patterns that facilitate reuse and anticipates future product direction. Your dynamic models allow your objects to recover from all but the most catestrophic events. Your application is ready for anything. But there's a hitch. Your detailed state diagrams are only pictures. How are you going to translate your drawings into code? A transition matrix is cryptic while switch statements means your state machine logic is scattered all over your code. The state pattern looks like a great solution but that means writing and maintaining a class for each state - too much work. Enter SMC - The State Machine Compiler. Now you put your state diagram in one file using an easy-to-understand language. SMC generates the state pattern classes for you. No more hand-maintained transition matrices. No more widely scattered switch statements. Instead, the state diagram is in one place, coded directly from the picture to the SMC language and is easily maintained. SMC uses the state pattern to its fullest extent. In the real world, events don't always happen when they should. Dealing with unexpected events is a must for a robust application. By combining virtual methods with the state pattern, SMC allows you to define "Default" transitions - transitions which allow your objects to handle unexpected events, recover and continue providing service (rather than crashing, burning and getting you into trouble). SMC is a Java application. That means SMC will work on any platform where Java 1.5.0 or better is supported.



  • smc = 5.0.2-2.jpp5


    Source package: smc-5.0.2-2.jpp5.src.rpm

    Install Howto

    Fedora, CentOS, RHEL:
    1. Download the latest jpackage-release rpm from
    2. Install jpackage-release rpm:
      # rpm -Uvh jpackage-release*rpm
    3. Install smc rpm package:
      # yum install smc
    1. Add the JPackage 5.0 repository:
      # zypper addrepo jpackage-5.0
    2. Install smc rpm package:
      # zypper install smc
    Mandriva, Mageia:
    1. Add the JPackage 5.0 repository:
      # urpmi.addmedia jpackage-5.0 with
    2. Update packages list:
      # urpmi.update -a
    3. Install smc rpm package:
      # urpmi smc


    • /etc/maven/fragments/smc
    • /usr/share/java/smc-5.0.2.jar
    • /usr/share/java/smc.jar
    • /usr/share/maven2/
    • /usr/share/maven2/poms/JPP-smc.pom


    2008-12-08 - Will Tatam <> 5.0.2-2 - Auto rebuild for JPackage 5 in mock

    2008-04-22 - Ralph Apel <> - 0:5.0.2-1jpp - First JPP release - Validate build in mock