ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Best way to represent the SW architecture of a ROS application based on services?

asked 2013-04-11 23:40:59 -0600

Kilin gravatar image

updated 2014-04-20 14:09:45 -0600

ngrennan gravatar image

Hi everyone,

I'm writing my master thesis in Computer Engineering, the experimental part of the work consists of a ROS application.

My application massively exploits ROS services, while topics are less used. This is due to the fact that my application is not "very real time", it is more based on sequence of states.

What is, in your opinion, the best method to graphically represent the relations (e.g. use/offers a service, publishes/subscribes topic) among ROS nodes in a comprehensive manner? I took a look at rxgraph, but unfortunately only topics are depicted.

While most of the relations among nodes are represented by services, I have also some topics around, so a model that could represent both at the same time would be better.

I was thinking to component diagrams (e.g. something like this), with components representing nodes, and interfaces representing services (and possibly topics), but I'm afraid that such a choose could be interpreted as an abuse of notation by "classical" computer engineering professors.

What do you suggest?

Thank you very much

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-04-12 02:37:42 -0600

This image is from wiki page of concepts in which a dotted line represents service invocation and a continous line pointing from a node to a square and from the square to another node represents topic publication/subscription. I think the attached diagram is fine for nodes and services. And for the topics, I suggest something like a 'bus' in which many nodes could publish to or subscribe to.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2013-04-11 23:40:59 -0600

Seen: 1,655 times

Last updated: Apr 12 '13