Summary of Most Relevant Topic Papers
Robotics can be considered a special field of Cyber-Physical Systems that is defined by an inherent heterogeneity of involved domains, relevant platforms, and challenges. Engineering robotics applications requires composition and interaction of diverse distributed software modules. This usually leads to complex monolithic software solutions hardly reusable, maintainable, and comprehensible, which hampers broad propagation of robotics applications.
Our research in model-driven software engineering for robotics on one hand focuses on Modeling Software Architecture to structure reusable units of behavior. On the other hand, we concentrate on Domain-Specific Languages (DSLs) for robotic product assembly tasks in industrial contexts as well as planned and unplanned logistic tasks. We apply this to indoor robots interacting with humans as well as to industrial robots and to autonomous cars.
Modeling Robotic Application Architectures and Behavior
Describing both, a robot’s software architecture and its behavior in integrated models, yields many advantages to cope with complexity: the models are platform independent, can be decomposed to be developed independently by experts of the respective fields, are highly reusable and may be subjected to formal analysis.
In [RRW12] [RRW14a] we have introduced the architecture and behavior modeling language and framework MontiArcAutomaton which provides an integrated, platform independent structure and behavior modeling language family with an extensible code generation framework. MontiArcAutomaton’s central concept is encapsulation and decomposition known from component & connector architecture description languages (ADLs). This concept applied to the modeling language, the code generation process and the target runtime to bridge the gap of platform specific and independent implementations along well designed interfaces. This facilitates the reuse of robot applications and makes their development more efficient.
MontiArcAutomaton extends the ADL MontiArc and integrates various component behavior modeling languages implemented using MontiCore as well as code generation for the ROS robot operating system [QGC+09]. The integration of automata and tables to model component behavior are described in [RRW13c]. The integration capabilities of MontiArc have been extended and generalized in [RRRW15b] [AHRW17] [AHRW17b]. For interested readers, the MontiArcAutomaton provides further information on the MontiArcAutomaton framework.
In several projects, we modeled logistics services with Festo Robotino Robots, ROS, and Python.
Capability-Based Robotics Architectures
Although, the costs for robotics hardware and software decrease, deploying a successful robotics application still requires tremendous effort. While various challenging issues for service robotics have been solved to a degree where their deployment is possible, integration of the corresponding hardware components and software components requires intensive collaboration of domain experts, robotics experts, and software experts. Model-driven software engineering can facilitate development and integration of robotics software components while retaining a proper separation between domain expert concerns and software expert concerns.
To foster the separation of concerns in engineering service robotics applications, we conceived the iserveU modeling framework to describe domains, actors, goals, and tasks of service robotics applications [ABH+16]. From these declarative modeling languages [ABH+17], we generate parts of a MontiArcAutomaton architecture including component structure and behavior. In this architecture, goals and tasks are translated into models of the planning domain definition language (PDDL) [MGH+98] and solved online using the Metric-FF [Hof03] planner [ABK+17]. Through our work, domain experts can focus on describing the domain and its properties and robotics experts can focus on implementing actors with their properties and actions.
LightRocks: Modeling Robotic Assembly Tasks
The importance of flexible automated manufacturing grows continuously as products become increasingly individualized. Flexible assembly processes with compliant robot arms are still hard to be developed due to many uncertainties caused - among others - by object tolerances, position uncertainties and tolerances from external and internal sensors. Thus, only domain experts are able to program such compliant robot arms. The reusability of these programs depends on each individual expert and tools allowing to reuse and the composed models at different levels of detail are missing.
In cooperation with the DLR Institute on Robotics and Mechatronics we have introduced the LightRocks (Lightweight Robot Coding for Skills) framework in [THR+13] [BRS+15] which allows robotics experts and laymen to model robotic assembly tasks on different levels of abstraction, namely: assembly tasks, skills, and elemental actions. Robotics experts provide a domain model of the assembly environment and elemental actions which reference this model. Factory floor workers combine these to skills and task to implement assembly processes provided by experts. This allows a separation of concerns, increases reuse and enables flexible production.
Many of the concepts we learnt in engineering autonomic robotics come from automotive software engineering and especially our successful participation in the DARPA Urban Challenge. In [BBR07] we describe the well-engineered model-driven toolchain, which is heavily based on automatic simulation of a cars context (actually streets, obstacles, other cars of an entire city) and automatic testing for correct a driving behavior. We discussed in [BR12b] that this a main enabler for intensive regression testing and thus agile development and has now become the primary technique for virtually driving millions of miles for safety validation in the car domain.
- Development of robotics applications is highly complex and requires abstraction, e.g. using appropriate abstract modeling techniques.
- Domain specific modeling languages (DSLs) apply perfect to model tasks of robots, the surrounding world, test scenarios etc.
- Abstraction through DSLs leads to better standardization and allows improve quick development of robotic application as well a agile adaptation of robot tasks by users.
- Autonomously driving cars exhibit lots of robotic characteristics and many techniques used there for function validation can be carried over.
Selected Topic-Specific Publications
[ABH+17]Aachener Informatik-Berichte, Software Engineering, Band 28, ISBN 978-3-8440-5319-7, Shaker Verlag, Dec. 2017.
[ABK+17]In: Proceedings of MODELS 2017. Workshop EXE, CEUR 2019, Sep. 2017.
[AHRW17]In: International Conference on Robotic Computing (IRC’17), pp. 172-179, IEEE, Apr. 2017.
[AHRW17b]In: Journal of Software Engineering for Robotics (JOSER), Volume 8(1), pp. 3-16, 2017.
[ABH+16]In: International Workshop on Domain-Specific Modeling (DSM’16), pp. 22-27, ACM, Oct. 2016.
[BRS+15]In: International Workshop on Domain-Specific Languages and Models for Robotic Systems (DSLRob 2015), 2015.
[RRRW15b]Language and Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems.In: Journal of Software Engineering for Robotics (JOSER), Volume 6(1), pp. 33-57, 2015.
[RRW14a]Aachener Informatik-Berichte, Software Engineering, Band 20, Shaker Verlag, Dec. 2014.
[RRW13c]In: Conference on Robotics and Automation (ICRA’13), pp. 10-12, IEEE, 2013.
[THR+13]In: Conference on Robotics and Automation (ICRA’13), pp. 461-466, IEEE, 2013.
[RRW12]In: Modelling and Quality in Requirements Engineering: Essays Dedicated to Martin Glinz on the Occasion of His 60th Birthday, Seyff, N. and Koziolek, A. (Eds.), pp. 133-146, ISBN 978-3869917245, Monsenstein und Vannerdat, Münster, 2012.
[BR12b]Autonomous Driving - 5 Years after the Urban Challenge: The Anticipatory Vehicle as a Cyber-Physical System.In: Automotive Software Engineering Workshop (ASE’12), pp. 789-798, 2012.
[QGC+09]In: ICRA workshop on open source software, Volume 3, Kobe, Japan, May 2009.
[BBR07]Software & Systems Engineering Process and Tools for the Development of Autonomous Driving Intelligence.In: Journal of Aerospace Computing, Information, and Communication (JACIC), Volume 4(12), pp. 1158-1174, 2007.
[Hof03]In: Journal of Artificial Intelligence Research, Volume 20, pp. 291-341, 2003.
[MGH+98]Yale Center for Computational Vision and Control, Technical Report, CVC TR-98-003/DCS TR-1165, Oct. 1998.
- Agile Model-Based Software Engineering
- Domain-Specific Languages (DSLs)
- Generative Software Engineering
- Modeling Software Architecture
- MontiCore - Language Workbench
- Semantics of Modeling Languages
- State Based Modeling (Automata)
- MontiThings - Modeling the IoT