Formal Specification of Robotic Architectures for Experimental Robotics

Robotic systems are becoming more safety critical systems as they are deployed in unstructured human-centered environments. These software intensive systems are composed of distributed, heterogeneous software components interacting in a highly dynamic, uncertain environment. However, no systematic software development process is followed in robotics research. This is a real barrier for system level performance analysis and reasoning, which are in turn required for scalable bench-marking methods and reusing existing software. This chapter provides an end-to-end overview on how robotic software systems can be formally specified from requirement modeling, through solution space exploration, and architecture modeling, and finally to generate executable code. The process is based on SafeRobots framework—a model-driven toolchain for designing software for robotics. Several domain-specific modeling languages that are developed as a part of this integrated approach are also discussed.

[1]  Andreas Pott,et al.  BRICS - Best practice in robotics , 2010, ISR/ROBOTIK.

[2]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[3]  E. Gat On Three-Layer Architectures , 1997 .

[4]  Adriana Tapus,et al.  Architecture modeling and analysis language for designing robotic architectures , 2014, 2014 13th International Conference on Control Automation Robotics & Vision (ICARCV).

[5]  Herman Bruyninckx,et al.  Coordinating Robotic Tasks and Systems with rFSM Statecharts , 2012 .

[6]  Davide Brugali,et al.  Modeling and reusing robotic software architectures: The HyperFlex toolchain , 2014, 2014 IEEE International Conference on Robotics and Automation (ICRA).

[7]  Pat Langley,et al.  A Unified Cognitive Architecture for Physical Agents , 2006, AAAI.

[8]  D Feil-Seifer,et al.  Socially Assistive Robotics , 2011, IEEE Robotics & Automation Magazine.

[9]  Adriana Tapus,et al.  SafeRobots: A model-driven approach for designing robotic software architectures , 2014, 2014 International Conference on Collaboration Technologies and Systems (CTS).

[10]  Holger Giese,et al.  Living with Uncertainty in the Age of Runtime Models , 2014, Models@run.time@Dagstuhl.

[11]  Jameela Al-Jaroodi,et al.  Middleware for Robotics: A Survey , 2008, 2008 IEEE Conference on Robotics, Automation and Mechatronics.

[12]  Alessandro Oltramari,et al.  Extending Cognitive Architectures with Semantic Resources , 2011, AGI.

[13]  Sanford Friedenthal,et al.  A Practical Guide to SysML: The Systems Modeling Language , 2008 .

[14]  Brian Scassellati,et al.  Socially assistive robotics [Grand Challenges of Robotics] , 2007, IEEE Robotics & Automation Magazine.

[15]  Ajinkya Bhave,et al.  Multi-domain Modeling of Cyber-Physical Systems Using Architectural Views , 2010 .

[16]  Raj Madhavan,et al.  Benchmarking and standardization of intelligent robotic systems , 2009, 2009 International Conference on Advanced Robotics.

[17]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[18]  Luca Iocchi,et al.  RoboCup@Home: Scientific Competition and Benchmarking for Domestic Service Robots , 2009 .

[19]  Jean Scholtz,et al.  Common metrics for human-robot interaction , 2006, HRI '06.

[20]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

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

[22]  David Garlan,et al.  Formal Modeling and Analysis of Software Architecture: Components, Connectors, and Events , 2003, SFM.

[23]  Sébastien Gérard,et al.  MARTE: Also an UML Profile for Modeling AADL Applications , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).

[24]  Tarek M. Sobh,et al.  Robotics Middleware: A Comprehensive Literature Survey and Attribute-Based Bibliography , 2012, J. Robotics.

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

[26]  Adriana Tapus,et al.  Model-driven software development approaches in robotics research , 2014, MiSE 2014.

[27]  Adriana Tapus,et al.  Solution Space Modeling for Robotic Systems , 2014 .

[28]  David Chapman,et al.  What are plans for? , 1990, Robotics Auton. Syst..

[29]  Tewfik Ziadi,et al.  RobotML, a Domain-Specific Language to Design, Simulate and Deploy Robotic Applications , 2012, SIMPAR.

[30]  John R. Anderson,et al.  ACT-R: A Theory of Higher Level Cognition and Its Relation to Visual Attention , 1997, Hum. Comput. Interact..

[31]  Herman Bruyninckx,et al.  The 5C-based architectural Composition Pattern: lessons learned from re-developing the iTaSC framework for constraint-based robot programming , 2014 .

[32]  Geoffrey Biggs,et al.  A Survey of Robot Programming Systems , 2010 .

[33]  S. Scotchmer,et al.  Standing on the Shoulders of Giants: Cumulative Research and the Patent Law , 1991 .

[34]  Erwin Prassler,et al.  Comparative evaluation of robotic software integration systems: A case study , 2007, 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[35]  Adriana Tapus,et al.  Formal models for cognitive systems , 2013, 2013 16th International Conference on Advanced Robotics (ICAR).

[36]  Rodney A. Brooks,et al.  A Robust Layered Control Syste For A Mobile Robot , 2022 .

[37]  Ivica Crnkovic,et al.  Component-based vs. model-based development: a comparison in the context of vehicular embedded systems , 2005 .

[38]  Nelly Bencomo,et al.  Models@run.time , 2014, Lecture Notes in Computer Science.

[39]  Rachid Alami,et al.  An Architecture for Autonomy , 1998, Int. J. Robotics Res..

[40]  Ah-Hwee Tan,et al.  Integrated cognitive architectures: a survey , 2007, Artificial Intelligence Review.

[41]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[42]  Ingo Lütkebohle,et al.  Generic middleware support for coordinating robot software components: The Task-State-Pattern , 2011 .

[43]  Andrew Howard,et al.  Design and use paradigms for Gazebo, an open-source multi-robot simulator , 2004, 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No.04CH37566).

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

[45]  Eric Yu,et al.  Evaluating goal models within the goal-oriented requirement language , 2010 .

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

[47]  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).

[48]  Axel van Lamsweerde,et al.  Requirements Engineering: From System Goals to UML Models to Software Specifications , 2009 .

[49]  Adriana Tapus,et al.  Modeling Non-Functional Properties for Human-Machine Systems , 2014, AAAI Spring Symposia.