Skip to content

Commit

Permalink
[WIP] Documentation for systems
Browse files Browse the repository at this point in the history
  • Loading branch information
ipa-nhg committed Nov 13, 2023
1 parent 23b3565 commit c830247
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
34 changes: 33 additions & 1 deletion docu/RosSystemModelDescription.md
Original file line number Diff line number Diff line change
@@ -1 +1,33 @@
## TBD
# HOW TO DESCRIBE ROS SYSTEMS USING THE LANGUAGE

In our case we consider a system to be a combination of nodes running at the same time. Basically we use the typical component-based system concept, where each ROS node could be considered a component. Therefore the .rossystem file allows to describe a series of nodes and the connections that are created between them using topics, services or actions. It also allows to give values to the parameters.

The structure of the system description is as shown in the following diagram:

![alt text](images/system_class_diagram.jpg)


The format of a system is as follows:
```
my_awesome_system:
processes:
process1:
nodes: [ node1 , node2 ]
threads: 2
nodes:
node1:
from: "my_awesome_pkg.awesome_node_provider" #From a .ros2 file
interfaces:
- awesome_pub: pub-> "awesome::awesome_pub" # From a .ros2 file
parameters:
- description: "awesome::awesome_param"
value: "Label"
node2:
from: "my_awesome_pkg.awesome_node_consumer" #From a .ros2 file
interfaces:
- awesome_sub: sub-> "awesome::awesome_sub"
connections:
-[awesome_pub, awesome_sub] # From line 10 and 17
```


Binary file added docu/images/system_class_diagram.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit c830247

Please sign in to comment.