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

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Asmodehn via ros-users
Date:  
To: ros-users
Subject: [ros-users] [Discourse.ros.org] [Next Generation ROS] Design By Contract


Contracts aim is to enforce complex dynamic properties of a system.
Types aim is to enforce simple (usually) static properties of a system.

Therefore I am of this point of view : https://stackoverflow.com/a/5965869
Notice how the complexity increase from top left to bottom right.

So, before trying to do something complex (which means heavy maintenance, and likely to be unused until it is perfectly optimized), I would focus on the doable, lighter side of things.

I also agree with @gbiggs and would like first to see more strict enforced message types, before thinking about their combination in an IDL, how this would behave dynamically, and how to enforce some behavior and prevent others...
Right now the message field type is too ambiguous ("node N can subscribe to a message M with a field int, but actually there will ever be only even numbers there..." except the developer of N don't know that, unless he goes through the code of all nodes publishing M)

> This does not fit into this thread as well but what is the benefit of erlang VM integration?


Don't try to reinvent the wheel, reuse 30 years of expertise in distributed system programming. There are already a bunch of people working on these questions in a distributed setting, and some tools available : http://learnyousomeerlang.com/types-or-lack-thereof

By the way, isn't this thread some kind of [X-Y problem](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Which problem exactly are you planning to solve with DbC ?





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


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list

http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>