It is impossible to imagine today’s production facilities without robots. With precise and optimized hardware/software solutions, they automate many steps in modern manufacturing. Since the required hardware gets cheaper, the available software solutions more sophisticated, and their acceptance within society increases, robots will become a more common part of daily life as well. In contrast to production, where all external inﬂuencing factors are known and explicitly treated at design-time, the development of software for robots operating in unpredictable environments (such as service robots) requires new and more sophisticated approaches. Over the last decades, research in robotics made huge progress, especially in the ﬁelds of recognition, image processing, knowledge representation, planning, control, and collaboration. However, robotic researchers mainly concentrate on creating hardware/software solutions for specialized tasks. This leads to a landscape of isolated solutions which cannot be reused and combined easily. Furthermore, today’s approaches lack comprehensive software engineering methodologies and abstractions for handling the increased heterogeneity and complexity of robotic software systems. Hence, there is a need to incorporate software engineering principles within the development of future robot platforms.
Unfortunately, robot applications fundamentally differ from classical software systems. For instance, the available hardware platforms for robots are highly heterogeneous and there is neither hardware nor software standardization, making cross-product development intractable. Moreover, the variety of possible usage scenarios and their implications on the necessary quality criteria requires several distinct development processes and models. Furthermore, the dynamic interaction of multiple robots will inevitably lead to unwanted emergent behavior, violating safety constraints and, thus, potentially cause severe damage.
Model-Based Robot Software Engineering (MORSE) is a methodology (including languages, tools, infrastructures, patterns, principles and ecosystems) for the development, evolution and use of robotic applications on standard platforms based on models as primary engineering assets.
With the advent of standard hardware/software platforms for robots and the dynamics with which software ecosystems and App Stores develop in application markets, the following research topics arise in the overlap of Software Engineering and Robotics:
- Model-Driven Software Development for robotic systems
- Software and app reuse for robotics
- End-user app development
- The compliance to legal and safety constraints
- Total cost of ownership
Model-based engineering helps to design and develop complex systems by automating the development process concentrating on different levels of abstraction. With the advances in the robotic research communities and the increasing complexity of application scenarios for future robotic systems, model-driven techniques must be established to improve the quality (e.g., re-usability, reliability, maintainability) of the developed systems. Therefore, there is a need for a new paradigm of software and system development for robots. This suggests establishing a new joint community of researchers from robotics and software engineering.