Downloads
MiEditLLFSM
(Java editor of logic labelled finite states machines for clfsm
)
- MiEditLLFSM.jar.gz: The executable (needs java v7).
- HowToUse.pdf : The PDF guide on how to use
MiEditLLFSM
- EPuckLineFollower: : The
clfsm
machine used in the example of a finite-state machine that controls an e-Puck in Webots to follow a line (this needs clfsm
, and the MiPal Whiteboard gusimplewhiteboard
, the guwebotsbridge
)
- MiEditV2: Version 2 is a prototype to edit Meta-Model LLFSMs in an independent java application (outside Eclipse)
- JavaLLFSMsTransformationV1: Prototype of Model-To-Text transformations as a pure java application (no ATL and outside Eclipse, but EMF-based)
MiPal clfsm
(and basic tools) for ROS-2-colcon
(recommended Ubuntu 24.04 and Ros-Humble; others are possible but you are required to use
clang
compatible with c++11)
- plain_clfsm_ws.tar.gzThe colcon ROS-2 workspace with sources of clfsm, its library
libclfsm
, without the MiPal whiteboard (gusimplewhiteboard).
- How To Use
clfsm
with ROS-2 (a PDF document) with 3 logic-labeled finite-state machine examples
- The code(clfsmRos2DemoMachines.tar.gz) for the four llfsms used as examples (we recommend you use MiEditLLFSM) but you can use this this code following the instructions above (it also includes the script
machine_colcon_setup.sh
to setup for compilation with colcon
by building the
CMakeLists.txt
for each package.
- The code
(turtle_sensor_poster_ws.tar.gz)
of a wrapper on the pose of ROS turtlesim for the
third machine.
- The video MiEditLLFSM used in building a demo llfsm for clfsm to run in ROS 2 and the video Running three demo llfsms with clfsm in ROS 2 demonstrate step by step running demo machines.
MiPal clfsm
(and basic tools) for ROS-1-catkin
(recommended Ubuntu 14.04 and Ros-Indigo, recommended MacOS Mavericks and Ros-Hydro; others are possible but you are required to use
clang
compatible with c++11)
- clfsm.tar.bz2 The catkin workspace with sources of clfsm, its library
libclfsm
, if the MiPal whiteboard is desirable gusimplewhiteboard.
- How To Use
clfsm
with ROS( a PDF document) with 3 logic-labeled finite-state machine examples (script to make catkin
packages from the examples machine_catkin_setup.sh
). A video demonstrating these ROS packages and how to run the three example LLFSMs is
https://www.youtube.com/watch?v=iUNjrS9P9A4&feature=youtu.be
- The code(clfsmRosDemoMachines.tar.gz) for the three llfsms used as examples (but really, we recommend you use MiEditLLFSM) before you look at this code.
- A ROS package (
turtle_sensor_poster.tar.gz
) that implements the ROS::service used in the 3rd example machine.
- Videos of these machines can be seen at
- How To Use
gusimplewhiteboard
with ROS( a PDF document) with 3 logic-labeled finite-state machine examples
- The generator (
guwhiteboardtypegenerator.tar.gz
)of gusimplewhiteboard
types.
- The catkin package
webots_epuck_nxt_differential_robot (webots_epuck_nxt_differential_robot.tar.gz)
and examples used in the "How to Use"
- The first machine used in the "How To Use" (ePuckBehavior.tar.gz).
- The second machine used in the "How To Use" (FollowLine.tar.gz).
- The Makefile for these machines
- The C++ driver and the ROS-controller for LEGO NXT. This allows you to build programs for the brick.
- The plain NXT_driver is now provided at github
- git clone https://github.com/mipalgu/NXTdriver.git
- The ROS_NXT controller allows to command the LEGO_NXT when built as a differential robots with motors in ports B and C is now also provided at github
- git clone https://github.com/mipalgu/NXTcontroller.git
- The documentation that combines the NXTdriver, the controller and clfsm is HowToUseNXTdriver.pdf
- The example of an llfsm (motorTest.machine.tar.gz)using the robot LegoNXT. The machine (motorTest.machine.tar.gz) and its Makefile.
Docker containers for model-2-model transformations
using the software JavaLLFSMsTransformation and its associated tools.
JavaLLFSMsTransformation enables the construction of executable models
of behaviour (as logic-labelled finite-state machines)
that can be transformed either into executable models
(in C, MIPS, or LISP) or into formal models (in NuSMV or TLA+) for formal verification.
-
``How To'' document (HowToUseM2T.pdf)
to use the container
-
The containers in docker hub.
ATL-code
for the prototype model-2-model transformations
- Algorithms described in
Carrillo, M., Estivill-Castro, V. and Rosenblueth, D.
``Model-to-Model Transformations for Efficient Time-domain Verification of Concurrent Models by NuSMV Modules.''
In Proceedings of the 8th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2020)
, pages 287-298 ISBN: 978-989-758-400-8.
-
ATL-transformations.tar
The package with some examples
and LISP interpreter for
LLFSMs
in XMI format
- YouTube Video demonstrating the prototype ATL transformations.
- YouTube Video demonstrating the prototype of a GUI that emulates a trace from the model checker.
- Improved implementation
ATL-TransformationsV2andNuSMVEmulator.tar.gz including the java emulator and ATL-transformation to remove sections in states.
as per the extended paper
Carrillo, M., Estivill-Castro, V. and Rosenblueth, D.
``Verification and Simulation of Time-Domain Properties for Models of Behaviour.''
Selected papers from the 8th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2020)
, Springer-Verlag