A Service Oriented Architecture for Robotic Platforms

Abstract : Existing architectures, infrastructures, and frameworks for robotic systems have limited utility when used in the context of integration. This limited utility derives from either a narrow scope assigned to the architecture or a lack of application of generally accepted software engineering principles for integration. Commercial development strategies utilizing well-defined software architectural principles are frequently at odds with how typical robotic software architectures are designed. This inherent conflict results in resource consumption on integration work in projects where integration is not the primary goal. Moving results out of the laboratory and into the commercial domain becomes difficult. In this thesis, I present an architecture based on a clear definition of software architecture, an understanding of the stakeholders for the architecture, those stakeholder interests, and the use of accepted principles of software architecture definition and design. A software architecture is constructed around the viewpoint that a robotic system can be considered an enterprise and everything associated with that enterprise provides a service. This enterprise perspective leads to the description of a service oriented architecture (SOA), which provides integration flexibility while satisfying stakeholder requirements and interests. I construct an implementation approach embodying these principles and apply that implementation approach to real world integration problems to illustrate the utility of such an approach in robotic software development. Finally, I define a set of metrics to be used when comparing the SOA approach with other architectures for integration on robotic systems.

[1]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[2]  T. Vernazza,et al.  Defining metrics for software components , 2002 .

[3]  Werner Buchholz,et al.  Planning a Computer System: Project Stretch , 1962 .

[4]  François Michaud,et al.  Code reusability tools for programming mobile robots , 2004, 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No.04CH37566).

[5]  G. Dedene,et al.  M.E.R.O.DE.: a model-driven entity-relationship object-oriented Development method , 1994, SOEN.

[6]  Cem Kaner,et al.  Software Engineering Metrics: What Do They Measure and How Do We Know? , 2004 .

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

[8]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[9]  Changjun Hu,et al.  A Software Complexity Metric for SCA Specification , 2008, 2008 International Conference on Computer Science and Software Engineering.

[10]  Tara Estlin,et al.  CLARAty: Coupled Layer Architecture for Robotic Autonomy , 2000 .

[11]  Deepak Kumar,et al.  Python robotics: an environment for exploring robotics beyond LEGOs , 2003, SIGCSE.

[12]  Luiz Chaimowicz,et al.  ROCI: a distributed framework for multi-robot perception and control , 2003, Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453).

[13]  Thomas Erl,et al.  SOA Design Patterns , 2008 .

[14]  Nicolai M. Josuttis,et al.  SOA in Practice , 2007 .

[15]  Bobby Woolf,et al.  Enterprise Integration Patterns , 2003 .

[16]  Erann Gat,et al.  Experiences with an architecture for intelligent, reactive agents , 1997, J. Exp. Theor. Artif. Intell..

[17]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[18]  Bernhard Hulin A Software-Architecture for Sensor Integration in advanced Robotic Systems , 2003 .

[19]  Dennis G. Kafura A survey of software metrics , 1985, ACM '85.

[20]  Cemal Yilmaz,et al.  Software Metrics , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[21]  Nasib S. Gill,et al.  Dependency and interaction oriented complexity metrics of component-based systems , 2008, SOEN.

[22]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement in Object-Oriented Systems , 1997, Proceedings Fourth International Software Metrics Symposium.

[23]  Hichem Sahli,et al.  CoRoBa, a Multi Mobile Robot Control and Simulation Framework , 2006 .

[24]  James E. Harvey,et al.  Systems engineering analysis of image quality , 2000, SPIE Optics + Photonics.

[25]  Gaurav S. Sukhatme,et al.  Most valuable player: a robot device server for distributed control , 2001, Proceedings 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems. Expanding the Societal Role of Robotics in the the Next Millennium (Cat. No.01CH37180).

[26]  Yingxu Wang,et al.  On the Cognitive Complexity of Software and its Quantification and Formal Measurement , 2009, Int. J. Softw. Sci. Comput. Intell..

[27]  Pradeep K. Khosla,et al.  A HUMAN-MACHINE INTERFACE FOR RECONFIGURABLE SENSOR-BASED CONTROL SYSTEMS , 1993 .

[28]  Carola Lilienthal,et al.  Architectural Complexity of Large-Scale Software Systems , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[29]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..

[30]  Bakhtiar Mikhak,et al.  A tangible architecture for creating modular, subsumption-based robot control systems , 2004, CHI EA '04.

[31]  Guido Wirtz,et al.  Supporting Service-Oriented Design with Metrics , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[32]  Delbert Tesar,et al.  A reusable operational software architecture for advanced robotics , 1996 .

[33]  Norman E. Fenton,et al.  Measurement : A Necessary Scientific Basis , 2004 .

[34]  Richard T. Vaughan,et al.  The Player/Stage Project: Tools for Multi-Robot and Distributed Sensor Systems , 2003 .

[35]  Motoshi Saeki,et al.  Evaluating software architectures by coloured petri nets , 2002, SEKE '02.

[36]  Richard T. Vaughan,et al.  On device abstractions for portable, reusable robot code , 2003, Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453).

[37]  Ralph E. Johnson,et al.  Design Patterns: Abstraction and Reuse of Object-Oriented Design , 1993, ECOOP.

[38]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[39]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[40]  James S. Albus,et al.  4D/RCS: a reference model architecture for intelligent unmanned ground vehicles , 2002, SPIE Defense + Commercial Sensing.

[41]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[42]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[43]  Latika Kharb,et al.  Complexity metrics for component-oriented software systems , 2008, SOEN.

[44]  Ronald C. Arkin,et al.  Motor Schema — Based Mobile Robot Navigation , 1989, Int. J. Robotics Res..

[45]  Nils J. Nilsson,et al.  Shakey the Robot , 1984 .

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

[47]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[48]  Holly A. Yanco,et al.  The Pyro Toolkit for AI and Robotics , 2006, AI Mag..

[49]  Holly A. Yanco,et al.  Pyro: A python-based versatile programming environment for teaching robotics , 2004, JERC.