[ros-users] [Orocos-users] Joint controller manager

Edwards, Shaun M. sedwards at swri.org
Mon Jan 28 20:55:20 UTC 2013


Regarding tools for the MDE approach, I think you've missed an opportunity here.  You've certainly made the argument for the MDE approach, but you are less clear when it comes to the tools that can be used.  It's clear that you have a lot of experience in this space, you should be able to offer your opinion on the best tool for the job.  I think it's a hard pill to swallow for most developers when you suggest new methods for development with very little guidance on the toolbox to get the job done.  If I'm going to spend time to learn a new development method, I don't want to spend even more time evaluating tools.

By the way, I don't buy that the simple model-to-model transformations make the tool selection irrelevant.  If we decide to go this route for this or any other development, let's standardize on a capable, supported, easy to use tool.

Shaun Edwards
Senior Research Engineer
Manufacturing System Department

Join the ROS-Industrial Developers List
Southwest Research Institute

> Is there any sort of happy medium you know of between the current 
> component-based
> C++-code-writing and having to learn either a new declarative modeling 
> C++language or own
> a piece of proprietary software for visual block-diagram design? Maybe 
> some balance where the functional interfaces of a given block are 
> associated with more semantic information than just a data type, but 
> the actual computation is still written out in an imperative language like c++?

I don't know what exactly your definition of "happy" is, but there is already a lot out there in open source: OpenModelica, Scilab/Scicos, BRIDE, RODIN, etc.; they all do modelling and code generation, to different extends. Are this kind of projects really completely unknown in the ROS universe...?

But we _will_ have to learn "new declarative modeling languages", because that's the only way to standardize, on semantics and syntax; the advantage of such languages is that one is not bound by one particular syntax, or rather, two implementations with different syntax can still communicate with each other via "model-to-model" transformations.

Side note: as soon as one accepts such a MDE approach, C++ all of a sudden becomes a much less attractive language, while languages such as (System)C come into the picture because of their appropriateness for code generation to _all_ hardware (also the ones not supporting C++ runtimes): indeed, the code generation ("model-to-text compilation") does not much more than filling in plain computational functions and generated data structs.

> -j


More information about the ros-users mailing list