SMC takes a state machine stored in an .sm file and generates the state pattern classes in fourteen programming languages. Its features include default transitions, transition arguments, transition guards, push/pop transitions, and Entry/Exit actions. It requires Java SE 1.6 or better.
| Tags | Software Development Build Tools Code Generators Compilers |
|---|---|
| Licenses | MPL |
| Operating Systems | OS Independent |
| Implementation | C# C++ Java Tcl Visual Basic Python C |
Recent releases


Release Notes: This release contains minor feature improvements and bugfixes. It adds %access and %fsmclass keywords, improves reflection to include states list, adds -g0 and -g1 debug output, and support for .Net generic collections.


Release Notes: This release requires Java 1.6. The source code has been rearranged to create 3 underlying Java packages: parser, model, and generator, allowing developers to use SMC technology in their own application. Javadoc documentation is provided for each package. Internal and external loopback features are completed. Several bugs have been fixed.


Release Notes: This release adds PHP and Scala support. It adds a new Jump transition. There are various bugfixes.


Release Notes: Release 5.0.1 was missing files. This release corrects that oversight.


Release Notes: This release adds Groovy code generation. It adds Java state change notification based on Java Beans. 7 bugs have been corrected.
Recent comments
13 Jun 2005 03:44
Re: very entertaining sales pitch
> nice compiler too :-) How hard do you
> think it would be to target more
> declarative languages, eg: BXML
> (backbase.com)?
I am not familiar with BXML so I do not know what the
generated output should look like. But as for adding a new
language to SMC, it is a matter of adding
SmcBXMLGenerator class which extends the
SmcCodeGenerator class. SMC uses the visitor pattern to
emit the target language output.
Of course, after writing SmcBXMLGenerator there is writing
the documenation.
09 Jun 2005 05:49
very entertaining sales pitch
nice compiler too :-) How hard do you think it would be to target more declarative languages, eg: BXML (backbase.com)?
A powerful SQL editor tool for SAP consultants and ABAP developers.
Enables Qt-based applications to export graphics to the Enhanced Metafile format.