Design Abstraction and Processes in Robotics: From Code-Driven to Model-Driven Engineering

Advanced software engineering is the key factor in the design of future complex cognitive robots. It will decide about their robustness, (run-time) adaptivity, cost-effectiveness and usability. We present a novel overall vision of a model-driven engineering approach for robotics that fuses strategies for robustness by design and robustness by adaptation. It enables rigid definitions of quality-of-service, re-configurability and physics-based simulation as well as for seamless system level integration of disparate technologies and resource awareness. We report on steps towards implementing this idea driven by a first robotics meta-model with first explications of non-functional properties. A model-driven toolchain provides the model transformation and code generation steps. It also provides design time analysis of resource parameters (e.g. schedulability analysis of realtime tasks) as step towards resource awareness in the development of integrated robotic systems.

[1]  Christian Schlegel Communication Patterns as Key Towards Component Interoperability , 2005, PPSDR@ICRA.

[2]  Herman Bruyninckx Robotics Software: The Future Should Be Open , 2008 .

[3]  Patrizia Scandurra,et al.  Component-based robotic engineering (Part I) [Tutorial] , 2009, IEEE Robotics & Automation Magazine.

[4]  Christian Schlegel,et al.  Communication Patterns as Key towards Component-Based Robotics , 2006 .

[5]  Gordon S. Blair,et al.  Models@ run.time , 2009, Computer.

[6]  Jörg Illmann,et al.  2 Integrating Vision Based Behaviors with an Autonomous Robot , 2000 .

[7]  Dragos Truscan,et al.  MDE for SoC design , 2009, Innovations in Systems and Software Engineering.

[8]  Christian Schlegel,et al.  Robotic software systems: From code-driven to model-driven designs , 2009, 2009 International Conference on Advanced Robotics.

[9]  Axel Uhl,et al.  Model-Driven Architecture , 2002, OOIS Workshops.

[10]  Davide Brugali Software Engineering for Experimental Robotics, Workshop on Principles and Practice of Software Development in Robotics, PPSDR@ICRA 2005, Barcelona, Spain, April 18, 2005 , 2007, PPSDR@ICRA.

[11]  Azamat Shakhimardanov,et al.  Component-Based Robotic Engineering (Part II) , 2010, IEEE Robotics & Automation Magazine.

[12]  Azamat Shakhimardanov,et al.  Component-Based Robotics Engineering (Part II): Systems and Models , 2010 .

[13]  D. Brugali,et al.  Component-based Robotic Engineering Part I: Reusable building blocks , 2009 .

[14]  Francisco José Ortiz Zaragoza,et al.  V3CMM: a 3-view component meta-model for model-driven robotic software development , 2010 .

[15]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[16]  Brice Morin,et al.  Taming Dynamically Adaptive Systems using models and aspects , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[17]  Gordon S. Blair,et al.  Genie , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[18]  Herman Bruyninckx Robotics Software: The Future Should Be Open [Position] , 2008, IEEE Robotics & Automation Magazine.

[19]  Matthieu Herrb,et al.  GenoM3: Building middleware-independent robotic components , 2010, 2010 IEEE International Conference on Robotics and Automation.

[20]  Sam Malek,et al.  On the Role of Features in Analyzing the Architecture of Self-Adaptive Software Systems , 2009 .

[21]  Christian Schlegel,et al.  Integrating Vision Based Behaviours with an Autonomous Robot , 1999, ICVS.

[22]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .