rFSM is a lightweight Statechart implementation in Lua
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
env-hooks
examples
tests
tools
CMakeLists.txt
COPYING
README.md
ansicolors.lua
manifest.xml
package.xml
rfsm.lua
rfsm2json.lua
rfsm2tree.lua
rfsm2uml.lua
rfsm_await.lua
rfsm_checkevents.lua
rfsm_emem.lua
rfsm_ext.lua
rfsm_marsh.lua
rfsm_preview.lua
rfsm_proto.lua
rfsm_rtt.lua
rfsm_testing.lua
rfsm_timeevent.lua
rfsmpp.lua
time.lua
utils.lua

README.md

rFSM logo

rFSM Statecharts (v1.0)

What is it?

rFSM is a small and powerful Statechart implementation. It is mainly used for Coordination of complex systems but is not limited to that. rFSM is written in pure Lua and is therefore highly portable and embeddable. As a Lua domain specific language rFSM inherits the extensibility of its host language.

Documentation

See the rFSM documentation

Information about how to use rFSM using the OROCOS RTT Framework can be found here.

Download

The code can be found in this git repository.

A cheatsheet summarizing the DSL is available here.

License

rFSM is dual licensed under LGPL/BSD.

Contact

Please direct questions, bugs or improvements to the orocos-users mailing list.

Acknowledgement

  • Funding

    The research leading to these results has received funding from the European Community's Seventh Framework Programme (FP7/2007-2013) under grant agreement no. FP7-ICT-231940-BRICS (Best Practice in Robotics)

  • Scientific background

    This work borrows many ideas from the Statecharts by David Harel and some from UML 2.1 State Machines. The following publications are the most relevant

    David Harel and Amnon Naamad. 1996. The STATEMATE semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5, 4 (October 1996), 293-333. DOI=10.1145/235321.235322 http://doi.acm.org/10.1145/235321.235322

    The OMG UML Specification: http://www.omg.org/spec/UML/2.3/Superstructure/PDF/