Use cases with RagConnect

MPM4CPS Paper - Codename 'Ros2Rag'

In the publication "Connecting conceptual models using Relational Reference Attribute Grammars", a use case involving a simulated robot arm and two different models connected to it was shown. One model was used to ensure a low speed of the robot when within a safety zone (purple boxes in the picture below), and the other model executes a workflow to control the robot.

Screenshot of Gazebo

This paper was presented on October, 16h during the MPM4CPS workshop within the MODELS 2020 conference. For more information, see the presented slides, a recording of the session or the accompanied poster.

The repository with the used source code can be found at: The usage is dockerized, so starting the application only involves the commands listed below. As ROS takes some time to start up, it is best to use separate terminals for the three applications (ROS, Safety-Model, Goal-Model):

# Preparation (only need once)
docker-compose up -d mosquitto  # Starts the MQTT broker

# Terminal 1: ROS
docker-compose up --build ros
# Wait until you see no more new logging output

# Terminal 2: Safety-Model
docker-compose up rag_app

# Terminal 3: Goal-Model
docker-compose up rag_goal