Robot software systems are (again) reaching levels of size and complexity that makes them difficult to construct, evolve, and maintain. One current issue is that systems are increasingly built to perform many different tasks in parallel, each of which must be coordinated and monitored to achieve a goal. If all components were to require different interfaces, system complexity would rapidly grow. General interfaces partially exist on the conceptual level, but their implementations are typically strongly linked to particular architectural proposals, thus reducing re-use and comparability. This paper presents an architecture-agnostic design pattern for the coordination-related component interaction. It results in a simple and clean component interface to invoke specific functionality, monitor task progress, and update the goals of running tasks. It provides an abstract coordination interface with high observability for the development of coordination and architecture. It thus provides value to all stakeholders in the design and implementation of robot software systems: component developers, coordination developers, and system architects. We trace the convergence of concepts and approaches from early coordination systems and through various abstraction proposals. Recently, two very similar realizations were developed independently by the authors. This paper presents the underlying insights and practical experience as a generic software engineering method which we named the \emph{Task-State-Pattern}. We describe the functionality it provides to component developers and detail the technical steps necessary to implement it in a distributed event-based toolkit for specific application domains. We provide empirical evidence for the relevance and utility of our approach by presenting case studies and discussing how the proposed pattern leads to a flexible system structure with reduced integration effort.

(2011). Generic middleware support for coordinating robot software components: The Task-State-Pattern [journal article - articolo]. In JOURNAL OF SOFTWARE ENGINEERING IN ROBOTICS. Retrieved from http://hdl.handle.net/10446/86199

Generic middleware support for coordinating robot software components: The Task-State-Pattern

2011-09-01

Abstract

Robot software systems are (again) reaching levels of size and complexity that makes them difficult to construct, evolve, and maintain. One current issue is that systems are increasingly built to perform many different tasks in parallel, each of which must be coordinated and monitored to achieve a goal. If all components were to require different interfaces, system complexity would rapidly grow. General interfaces partially exist on the conceptual level, but their implementations are typically strongly linked to particular architectural proposals, thus reducing re-use and comparability. This paper presents an architecture-agnostic design pattern for the coordination-related component interaction. It results in a simple and clean component interface to invoke specific functionality, monitor task progress, and update the goals of running tasks. It provides an abstract coordination interface with high observability for the development of coordination and architecture. It thus provides value to all stakeholders in the design and implementation of robot software systems: component developers, coordination developers, and system architects. We trace the convergence of concepts and approaches from early coordination systems and through various abstraction proposals. Recently, two very similar realizations were developed independently by the authors. This paper presents the underlying insights and practical experience as a generic software engineering method which we named the \emph{Task-State-Pattern}. We describe the functionality it provides to component developers and detail the technical steps necessary to implement it in a distributed event-based toolkit for specific application domains. We provide empirical evidence for the relevance and utility of our approach by presenting case studies and discussing how the proposed pattern leads to a flexible system structure with reduced integration effort.
articolo
set-2011
Lütkebohle, Ingo; Philippsen, Roland; Pradeep, Vijay; Marder Eppstein, Eitan; Wachsmuth, Sven
File allegato/i alla scheda:
File Dimensione del file Formato  
41-211-1-PB.pdf

accesso aperto

Versione: publisher's version - versione editoriale
Licenza: Creative commons
Dimensione del file 654.18 kB
Formato Adobe PDF
654.18 kB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

Aisberg ©2008 Servizi bibliotecari, Università degli studi di Bergamo | Terms of use/Condizioni di utilizzo

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10446/86199
Citazioni
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact