skip to main content
10.1145/2480362.2480693acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

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

Published: 18 March 2013 Publication History

Abstract

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.

References

[1]
N. Ando, T. Suehiro, and T. Kotoku. A software platform for component based rt-system development: Openrtm-aist. In Proceedings of the 1st International Conference on Simulation, Modeling, and Programming for Autonomous Robots, SIMPAR '08, pages 87--98, Berlin, Heidelberg, 2008. Springer-Verlag.
[2]
C. Atkinson and T. Kühne. Model-driven development: a metamodeling foundation. IEEE software, 20(5):36--41, 2003.
[3]
J. Bézivin. On the unification power of models. Software and Systems Modeling, 4(2):171--188, 2005.
[4]
A. Brooks, T. Kaupp, A. Makarenko, A. Orebäck, and S. Williams. Towards component based robotics. In IEEE/RSJ Int. Conf. Intelligent Robots and Systems, pages 163--168, 2005.
[5]
D. Brugali, L. Gherardi, E. Riccobene, and P. Scandurra. A formal framework for coordinated simulation of heterogeneous service-oriented applications. 8th International Symposium on Formal Aspects of Component Software (FACS), 2011.
[6]
D. Brugali and A. Shakhimardanov. Component-based robotic engineering part ii: Systems and models. IEEE Robotics and Automation Magazine, 17(1):100--112, 2010.
[7]
H. Bruyninckx. Open RObot COntrol Software. http://www.orocos.org/, 2001.
[8]
H. Bruyninckx, P. Soetens, and B. Koninckx. The real-time motion control core of the Orocos project. In Proceedings of the International Conference on Robotics and Automation (ICRA), 2003.
[9]
A. Consortium. Autosar---AUTomotive Open System ARchitecture. http://www.automationml.org, 2003.
[10]
B. Consortium. BRIDE---the BRIcs Development Environment. http://www.best-of-robotics.org/bride/, 2012.
[11]
I. Crnković, S. Sentilles, A. Vulgarakis, and M. R. V. Chaudron. A classifcation framework for software component models. IEEE Trans. Software Engineering, 37(5):593--615, 2011.
[12]
Eclipse Foundation. The Eclipse Integrated Development Environment. http://www.eclipse.org.
[13]
P. H. Feiler, D. P. Gluch, and J. J. Hudak. The architecture analysis & design language (AADL): An introduction. Technical Report CMU/SEI-2006-TN-011, Software Engineering Institute, Carnegie Mellon University, 2006.
[14]
S. Fleury, M. Herrb, and R. Chatila. Genom: A tool for the specification and the implementation of operating modules in a distributed robot architecture. In Proceedings of the International Conference on Intelligent Robots and Systems (IROS), pages 842--848, 1997.
[15]
B. Gerkey, R. Vaughan, A. Howard, and N. Koenig. The Player/Stage project. http://playerstage.sourceforge.net/, 2001.
[16]
Groupe de Recherche en Robotique. Proteus: Platform for RObotic modeling and Transformations for End-Users and Scientific communities. http://www.anr-proteus.fr/.
[17]
P. Hošek, T. Pop, T. Bureš, P. Hnětynka, and M. Malohlava. Comparison of component frameworks for real-time embedded systems. In 13th International SIGSOFT Symposium on Component-Based Software Engineering (CBSE 2010), pages 21--36, 2010.
[18]
M. Klotzbücher, P. Soetens, and H. Bruyninckx. Orocos rtt-lua: an execution environment for building real-time robotic domain specific languages. In International Workshop on Dynamic languages for RObotic and Sensors, page 284289, 2010.
[19]
Korean Institute for Advanced Intelligent Systems. OPRoS. http://opros.or.kr/.
[20]
A. Mallet, C. Pasteur, M. Herrb, S. Lemaignan, and F. Ingrand. GenoM3: Building middleware-independent robotic components. In IEEE Int. Conf. Robotics and Automation, pages 4627--4632, 2010.
[21]
R. Mirandola and F. Plášil. CoCoTA---Common Component Task. In R. M. Andreas Rausch, Ralf Reussner and P. František, editors, The Common Component Modeling Example. Comparing Software Component Models, volume 5153 of Lecture Notes in Computer Science, pages 4--15. Springer-Verlag, 2008.
[22]
OASIS. Service Component Architecture. http://www.oasis-opencsa.org/sca.
[23]
Object Management Group. Modeling and Analysis of Real-time and Embedded systems. http://www.omgmarte.org.
[24]
Object Management Group. OMG. http://www.omg.org.
[25]
Open Management Group. CORBA: DDS for Lightweight CCM. http://www.omg.org/spec/dds4ccm/.
[26]
M. Quigley, K. Conley, B. P. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, and A. Y. Ng. Ros: an open-source robot operating system. In Proceedings of the Workshop on Open Source Software held at the International Conference on Robotics and Automation (ICRA)., 2009.
[27]
M. Radestock and S. Eisenbach. Coordination in evolving systems. In Trends in Distributed Systems. CORBA and Beyond, pages 162--176. Springer-Verlag, 1996.
[28]
C. Schlegel and R. Wörz. The software framework SmartSoft for implementing sensorimotor systems. In IEEE/RSJ Int. Conf. Intelligent Robots and Systems, pages 1610--1616, 1999.
[29]
A. Shakhimardanov, N. Hochgeschwender, and G. K. Kraetzschmar. Component models in robotics software. In Proceedings of the Workshop on Performance Metrics for Intelligent Systems, Baltimore, USA., 2010.
[30]
R. Smits and H. Bruyninckx. Composition of complex robot applications via data flow integration. In ICRA, pages 5576--5580. IEEE, 2011.
[31]
C. Szyperski. Component Software: Beyond Object-Oriented Programming. Addison Wesley, 1998.
[32]
H. Utz, S. Sablatnög, S. Enderle, and G. Kraetzschmar. Miro---Middleware for mobile robot applications. IEEE Trans. Robotics and Automation, 18(4):493--497, 2002.

Cited By

View all
  • (2025)Control Software Engineering Approaches for Cyber-Physical Systems: A Systematic Mapping StudyACM Transactions on Cyber-Physical Systems10.1145/37047379:1(1-33)Online publication date: 12-Jan-2025
  • (2024)Tree-Based versus Hybrid Graphical-Textual Model Editors: An Empirical Study of Testing SpecificationsProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3640310.3674102(80-91)Online publication date: 22-Sep-2024
  • (2024)Agents as a Design Paradigm for Robotic Systems Leveraging ROS and GazeboAgents and Robots for reliable Engineered Autonomy10.1007/978-3-031-73180-8_2(21-37)Online publication date: 13-Oct-2024
  • Show More Cited By

Index Terms

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

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      SAC '13: Proceedings of the 28th Annual ACM Symposium on Applied Computing
      March 2013
      2124 pages
      ISBN:9781450316569
      DOI:10.1145/2480362
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 18 March 2013

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. component models
      2. reusable software
      3. robotics
      4. software architectures

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      SAC '13
      Sponsor:
      SAC '13: SAC '13
      March 18 - 22, 2013
      Coimbra, Portugal

      Acceptance Rates

      SAC '13 Paper Acceptance Rate 255 of 1,063 submissions, 24%;
      Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

      Upcoming Conference

      SAC '25
      The 40th ACM/SIGAPP Symposium on Applied Computing
      March 31 - April 4, 2025
      Catania , Italy

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)64
      • Downloads (Last 6 weeks)5
      Reflects downloads up to 05 Mar 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2025)Control Software Engineering Approaches for Cyber-Physical Systems: A Systematic Mapping StudyACM Transactions on Cyber-Physical Systems10.1145/37047379:1(1-33)Online publication date: 12-Jan-2025
      • (2024)Tree-Based versus Hybrid Graphical-Textual Model Editors: An Empirical Study of Testing SpecificationsProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3640310.3674102(80-91)Online publication date: 22-Sep-2024
      • (2024)Agents as a Design Paradigm for Robotic Systems Leveraging ROS and GazeboAgents and Robots for reliable Engineered Autonomy10.1007/978-3-031-73180-8_2(21-37)Online publication date: 13-Oct-2024
      • (2023)Towards Efficient Robotic Software Development by Reusing Behavior Tree Structures for Task Planning ParadigmsComplex System Modeling and Simulation10.23919/CSMS.2023.00173:4(357-380)Online publication date: Dec-2023
      • (2023)Lifting ROS to Model-Driven Development: Lessons Learned from a bottom-up approach2023 IEEE/ACM 5th International Workshop on Robotics Software Engineering (RoSE)10.1109/RoSE59155.2023.00010(31-36)Online publication date: May-2023
      • (2023)Development and Integration of Self-Adaptation Strategies for Robotics Software2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C57050.2023.00038(131-136)Online publication date: Mar-2023
      • (2023)A Low-Code Approach for Connected RobotsJournal of Intelligent & Robotic Systems10.1007/s10846-023-01861-y108:2Online publication date: 19-Jun-2023
      • (2022)A Framework for Rapid Robotic Application Development for Citizen DevelopersSoftware10.3390/software10100041:1(53-79)Online publication date: 3-Mar-2022
      • (2022)Generalized Affordance Templates for Mobile Manipulation2022 International Conference on Robotics and Automation (ICRA)10.1109/ICRA46639.2022.9812082(6240-6246)Online publication date: 23-May-2022
      • (2022)MROS: runtime adaptation for robot control architecturesAdvanced Robotics10.1080/01691864.2022.203976136:11(502-518)Online publication date: 4-Mar-2022
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media