rFSM is a lightweight Statechart implementation in Lua
Lua Other
Latest commit 8e3ce1c Sep 21, 2017 Markus Klotzbuecher Markus Klotzbuecher doc: convert docs to markdown
Permalink
Failed to load latest commit information.
doc doc: convert docs to markdown Sep 21, 2017
env-hooks Added catkin files and env-hooks to set the LUA_PATH Feb 14, 2014
examples Fix stupid await bug. Feb 1, 2013
tests cleanup pre/post step hooks. add accessor functions Jan 5, 2012
tools remove old rfsm-dbg Sep 25, 2013
CMakeLists.txt Added catkin files and env-hooks to set the LUA_PATH Feb 14, 2014
COPYING minor cleanups Aug 19, 2010
README.md doc: convert docs to markdown Sep 21, 2017
ansicolors.lua add ansicolors module Feb 10, 2011
manifest.xml Readded manifest.xml file to not break rFSM for fuerte and earlier Feb 19, 2014
package.xml Added catkin files and env-hooks to set the LUA_PATH Feb 14, 2014
rfsm.lua Fix stupid await bug. Feb 1, 2013
rfsm2json.lua add event reader gen_read_str_events optimized for strings Feb 20, 2012
rfsm2tree.lua consolidate csta and sista into state Jan 5, 2012
rfsm2uml.lua improve transition rendering May 25, 2012
rfsm_await.lua Fix stupid await bug. Feb 1, 2013
rfsm_checkevents.lua Add checkevents plugin. Jun 28, 2012
rfsm_emem.lua cleanup plugin loaded messages Feb 22, 2012
rfsm_ext.lua improve seqand err msgs Dec 4, 2012
rfsm_marsh.lua add event reader gen_read_str_events optimized for strings Feb 20, 2012
rfsm_preview.lua minor fixes Jan 25, 2013
rfsm_proto.lua rfsm_proto: don't block in read (by default) Jan 31, 2013
rfsm_rtt.lua rfsm_rtt: add extra_in_ports Oct 12, 2012
rfsm_testing.lua consolidate csta and sista into state Jan 5, 2012
rfsm_timeevent.lua rfsm_timeevent: use advise Apr 17, 2012
rfsmpp.lua consolidate csta and sista into state Jan 5, 2012
time.lua minor fix to time.normalize Apr 17, 2012
utils.lua update utils (v0.991) Sep 28, 2012

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/