[ros-users] [Discourse.ros.org] [Next Generation ROS] Design By Contract

Ingo Lütkebohle ros.discourse at gmail.com
Thu Oct 12 08:00:58 UTC 2017



[quote="fkromer, post:33, topic:2405"]
You know that the subscribing nodes (b) topic message values may never be outside a valid value range
[/quote]

Okay, range specs would certainly be interesting.

I also once had a case with parameters, where the *combination* of two parameters resulted in an out-of-range condition. 

[quote="fkromer, post:33, topic:2405"]
As far as I know the only way to detect unconnected nodes which should be connected is to use rqt_graph. (Mismatched topic types are even harder to detect and require to look for missing Connections: when using rosnode list <node>.) Does anyone know how to check issues like that in an automated fashion?
[/quote]

You can use "roswtf" during runtime, it will report subscriptions that have no publisher, and also type mismatches.

The thing is, you never know whether a subscription might be optional, and there are also cases where either one or the other subscription can be used, but not both.

Again, I agree this would be useful to check. We've so far called such things "graph consistency checks".

[quote="fkromer, post:33, topic:2405"]
Not yet. I was looking for exactly something like LTTng. Will there be open sourced tools in addition to LTTng?
[/quote]

The video-link is here: https://vimeo.com/236186712

I have since published the related code at https://github.com/bosch-robotics-cr/tracetools, but be aware that it's not very useful without our instrumentation of roscpp. I'm also in the process of publishing that, but not quite there, yet.

[quote="fkromer, post:33, topic:2405"]
If the same node is used in different applications and/or environments the requirements thats true abd could be classified via use cases (here: warehouse, car) and the checks parametrized according to that. (Application specific: A warehouse robot should never drive faster than 1m/s. Environment specific: Every of your self-driving cars should not drive faster than 50km/h in the city and faster than 200km/h on the autobahn.)
[/quote]

Well, yes, you could, but that's why I would prefer to put those specs (at least in part) onto the resulting system.





---
[Visit Topic](https://discourse.ros.org/t/design-by-contract/2405/34) or reply to this email to respond.




More information about the ros-users mailing list