The BRICS component model: a model-based development paradigm for complex robotics software systems

Because robotic systems get more complex all the time, developers around the world have, during the last decade, created component-based software frameworks (Orocos, Open-RTM, ROS, OPRoS, SmartSoft) to support the development and reuse of "large grained" pieces of robotics software. This paper introduces the BRICS Component Model (BCM) to provide robotics developers with a set of guidelines, metamodels and tools for structuring as much as possible the development of, both, individual components and component-based architectures, using one or more of the aforementioned software frameworks at the same time, without introducing any framework- or application-specific details. The BCM is built upon two complementary paradigms: the "5Cs" (separation of concerns between the development aspects of Computation, Communication, Coordination, Configuration and Composition) and the meta-modeling approach from Model-Driven Engineering.

[1]  Alexei Makarenko,et al.  Towards component-based robotics , 2005, 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[2]  Petr Hošek,et al.  Comparison of component frameworks for real-time embedded systems , 2010, Knowledge and Information Systems.

[3]  Tom Spitzer,et al.  Component architectures , 1997 .

[4]  Raffaela Mirandola,et al.  The Common Component Modeling Example: Comparing Software Component Models [result from the Dagstuhl research seminar for CoCoME, August 1-3, 2007] , 2007, CoCoME.

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

[6]  Peter H. Feiler,et al.  The Architecture Analysis & Design Language (AADL): An Introduction , 2006 .

[7]  Elvinia Riccobene,et al.  A formal framework for coordinated simulation of heterogeneous service-oriented applications ? , 2011, FACS 2011.

[8]  Herman Bruyninckx,et al.  Open robot control software: the OROCOS project , 2001, Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164).

[9]  Takashi Suehiro,et al.  A Software Platform for Component Based RT-System Development: OpenRTM-Aist , 2008, SIMPAR.

[10]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

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

[12]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[13]  Susan Eisenbach,et al.  Coordination in Evolving Systems , 1996, TreDS.

[14]  Séverine Sentilles,et al.  A Classification Framework for Software Component Models , 2011, IEEE Transactions on Software Engineering.

[15]  Matthieu Herrb,et al.  A tool for the specification and the implementation of operating modules in a distributed robot architecture , 1999 .

[16]  Matthieu Herrb,et al.  G/sup en/oM: a tool for the specification and the implementation of operating modules in a distributed robot architecture , 1997, Proceedings of the 1997 IEEE/RSJ International Conference on Intelligent Robot and Systems. Innovative Robotics for Real-World Applications. IROS '97.

[17]  Herman Bruyninckx,et al.  OROCOS RTT-Lua: an Execution Environment for building Real-time Robotic Domain Specific Languages , 2010 .

[18]  E. Dijkstra On the Role of Scientific Thought , 1982 .

[19]  Raffaela Mirandola,et al.  CoCoTA - Common Component Task , 2007, CoCoME.

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

[21]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[22]  Bran Selic,et al.  Modeling and Analysis of Real-Time and Embedded Systems , 2005, MoDELS.

[23]  Herman Bruyninckx,et al.  Composition of complex robot applications via data flow integration , 2011, 2011 IEEE International Conference on Robotics and Automation.

[24]  Christian Schlegel,et al.  The software framework SMARTSOFT for implementing sensorimotor systems , 1999, Proceedings 1999 IEEE/RSJ International Conference on Intelligent Robots and Systems. Human and Environment Friendly Robots with High Intelligence and Emotional Quotients (Cat. No.99CH36289).

[25]  Gerhard K. Kraetzschmar,et al.  Component models in robotics software , 2010, PerMIS.

[26]  Herman Bruyninckx,et al.  The real-time motion control core of the Orocos project , 2003, 2003 IEEE International Conference on Robotics and Automation (Cat. No.03CH37422).

[27]  Hans Utz,et al.  Miro - middleware for mobile robot applications , 2002, IEEE Trans. Robotics Autom..