Software development and Integration in Robotics (SDIR V)

Tutorial on
Component-based Robotics Engineering

Time Title Speaker
09:00 - 09:15 Welcome and opening remarks (PDF) Christian Schlegel
09:15 - 10.45 Software Components and Component-based Systems (PDF) Luca Gherardi and Davide Brugali
10:45 - 11.00 Coffee break
11:00 - 12.30 Component-based Robotics Middleware (PDF) Nico Hochgeschwender and Azamat Shakhimardanov
12:30 - 14.00 Lunch
14:00 - 15.30 Model-Driven Software Development in Robotics - It really works! (PDF) Christian Schlegel
SmartSoft MDSD Toolchain (PDF) Andreas Steck
15:30 - 15.45 Coffee break
15:45 - 17.00 Open discussion


The fifth edition of the ICRA SDIR workshop reflects an increased awareness within the Robotics community for the importance of identifying and developing software principles that support the development of new robotic systems as composition of reusable components in order to reduce development time and cost. Component-Based Software Engineering (CBSE) is an approach that has arisen in the software engineering community in the last decade. It aims to shift the emphasis in system-building from traditional requirement analysis, system design and implementation to composing software systems from a mixture of reusable off-the-shelf and custom-built components. In order to fully exploit the potential of CBSE in robotics, the subtle relationship between best practices in robotics, robotics requirements, needs of robotics and implementation technologies like e.g. middleware systems has to be made explicit. Bringing together researchers from these different disciplines through tutorial on CBSE and its principles for robotics lays the foundations towards the long-term goal of identifying the ingredients of a component model for robotics for model-driven system design.


In Part I, we regard a component as a piece of software that implements robotic functionality (e.g. path planning) or provides computational services to other components (e.g. synchronizing the access to a robotic device). The focus is on software components as reusable building blocks that embed robotic functionality and on the Software Product Line approach that promotes the definition of domain-specific component models, i.e. models that capture recurrent software abstractions in robotics.

In Part II, we will discuss the role of software components as architectural units of large software-intensive robotic systems, where component are deployed on a node (i.e. a general purpose processor or an embedded computer) of a networked computational infrastructure, and interact with other distributed components. The focus is on the support provided to system developers by Component-based Middleware technology to hide the complexity of and help to manage hardware, computational, and communication resources

In Part III, we will address issues related to defining platform independent component models and models transformations. The focus is, on the Model-Driven Engineering technique that enables the semi-automatic generation of software code from those component models.

About the Instructors

Davide Brugali graduated in electronic engineering at Politecnico di Milano in 1994. He received his Ph.D. degree in computer science from Politecnico di Torino in 1998. Since 2001, he has been an assistant professor at the Univer- sity of Bergamo. He has been a visiting researcher at the CMU Robotics Institute in 1997 and a visiting professor at NASA Jet Propulsion Laboratory in 2006. Since 2000, he has been a cochair of the IEEE Robotics Automation Society (RAS) Technical Committee on Software Engineering for Robotics and Automation. He is the lead author of the book Software Development—Case Studies in Java published by Addison-Wesley in 2005 and editor of the Springer STAR book on Software Engineering for Experimental Robotics (2006). His main research activity is in the field of techniques to build and reuse software for robotics. He is partner of the FP7 EU Project Best Practice in Robotics (BRICS)

Azamat Shakhimardanov was born in 1982 in Bukhara, Uzbekistan. He received his B.Eng degree from Tashkent State Technical University, Uzbekistan in 2004. He received his M.Sc degree from University of Applied Sciences Bonn-Rhein-Sieg, Germany in 2007. Since then he has been involved in several EU robotics projects with a focus on software architectures. He was responsible for middleware Team in FP6 EU project RosTa. Currently he is involved in FP7 EU Project BRICS.

Cristian Schlegel is professor in the Computer Science Department at the University of Applied Sciences Ulm. He is member of the computer science institute and head of both, the real-time systems lab and the autonomous mobile systems lab. He is project lead of the collaborative center for applied research on autonomous mobile service robots. Schlegel received his doctoral degree and his diploma degree in computer science from the department of computer science at the University of Ulm in 2004 and 1993, respectively. Schlegel's research interests are in the area of algorithms and mechanisms for intelligent systems with a focus on service robotics. His mission is to further alleviate the gap between lab systems and robust everyday applications. His main research activity is in the field of model driven software development for sensori-motor systems. He is associate editor of JOSER - Journal of Software Engineering for Robotics. For additional information, please visit the Home Page of Prof. Christian Schlegel.

The research leading to the organization of this workshop has received funding from the European Community's Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 231940.
The research leading to the tutorial on model-driven engineering for robotics components has received funding from state of Baden-Württemberg and the European Regional Development Fund (ERDF).