On Mon, 28 Jan 2013, Edwards, Shaun M. wrote: > Herman, > > 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. I don't know a good tool for the purposes of modelling and code generation for ROS or Orocos-based systems, unfortunately. :-( > 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. Please, please, please: the _most important_ thing to standardize are the "meta models" and not the tools. A good meta model will allow many different tools to be used for parts of a full design, development and deployment process. > Shaun Edwards Herman > Senior Research Engineer > Manufacturing System Department > > > http://robotics.swri.org > http://rosindustrial.swri.org/ > http://ros.swri.org > Join the ROS-Industrial Developers List > Southwest Research Institute > 210-522-3277 > > > >> >> 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 > > Herman > -- KU Leuven, Mechanical Engineering, Robotics Research Group Tel: +32 16 328056 Vice-President Research euRobotics Open RObot COntrol Software Associate Editor JOSER , IJRR