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

Revision history [back]

click to hide/show revision 1
initial version

mallikarjun:

chrissunny94 and gvdhoorn are correct in that there are some things that are unavoidable to explore in detail--it is possible to follow just the flow of control for the use cases you are interested in.

It sounds like you have found some UML diagrams already. The Doxygen code documentation tool can generate diagrams for C, C++ and Java code and that can be very useful. It can also generate call graphs, but they do not always show details of repetition and preconditions for calls like a message sequence diagram will. I have not found a shortcut /tool for that yet :(

Some Integrated Development Environments have good code analysis tools, but it usually takes a high-specification computer and a bit of tweaking to their configuration to handle large projects. I consider ROS to be a medium-large project compared to the one I'm paid to work on. The complexity is (weirdly) the packaging that compartmentalizes the pieces of code. Code analyzers don't always handle that well.

For the past few years I have been using NetBeans C/C++ because it can handle (with tweaks to the JVM limits) large projects. Eclipse is another choice, but I have not worked with it recently.

Good luck with understanding the part of ROS you want to understand. It can be a big job; but usually you can find an expert to answer your questions when you really get stuck. The big thing is; if you ask harder questions with specific evidence of effort, then 'experts' are more likely to take the time to answer. Helping those who help themselves is very gratifying and I learn a lot doing it.

 Albert.