Eclipse SmartMDSD and its main development asset, the SmartMDSD Toolchain, started in 2009 by the Service Robotics Research Center at Ulm University of Applied Sciences. The initial contributors who will kickstart and actively maintain SmartMDSD are still actively maintaining the project.
The SmartMDSD Toolchain started in 2009 using the Itemis Open-Architecture Ware (OAW) and Papyrus UML, then between 2013 and 2016 used Xtext, Xtend and Papyrus UML. It has currently moved towards using the latest Eclipse Modeling technologies based on latest Xtext, Xtend and Sirius plugins. This major rework enabled additional internal flexibility and conformance to the European Union's Horizon 2020 research and innovation programme “RobMoSys” (https://robmosys.eu/) and BWMi SeRoNet project. The initial version that will be included in the SmartMDSD Eclipse project is the fourth generation of the tooling.
Since 2008, several research projects on German national level and the european level have contributed to the background of this eclipse project: ZAFH Servicerobotik (Germany, state of Baden Württemberg), FIONA (european level), iserveU (German national level) etc.
The underlying structures for robotics software development that become accessible through the tooling provided by SmartMDSD date back to 1998. They have been constantly refined and enhanced and are now being formalized on the european level via the European Union's Horizon 2020 research and innovation programme “RobMoSys” (https://robmosys.eu/) with the support of the Eclipse Foundation as a consortium partner.
A lot of robotics software components exist and are being used. The initial code-base of SmartMDSD builds upon the third generation of the SmartMDSD Toolchain. It is very mature as it is being used in operational environments (technology readiness level 6). Its development artifacts (software components and systems) are shipped worldwide within products of FESTO Didactic and REC.
Eclipse SmartMDSD will focus on model-driven tooling for service-oriented and component-based robotics software development (hence the project name). The main outcome in this project is the SmartMDSD Toolchain, an IDE for robotics software development.
SmartMDSD will mainly support the “SmartSoft Framework”, a service-oriented component-based framework for software development in service robotics. It also outreaches and supports ROS and OPC UA
SmartMDSD is conformant to the RobMoSys and SeRoNet approaches
Other infrastructure (e.g. meta-models, examples, etc.) will be hosted here as well.
Apart from examples, the project will not host robotics software components for composition. Due to the robotics ecosystem organization and separation of roles, these (open or closed-source) software components originate from vendor-specific repositories. The project focuses on (open) tooling for (open) structures to enable composition.
Tooling developed in this project is the “SmartMDSD Toolchain”, an Eclipse-based Integrated Development Environment (IDE). The model-driven SmartMDSD Toolchain provides support and guidance to apply structures and best-practices the composition of software building blocks to robotics systems. This project will maintain the eclipse-based tooling and necessary infrastructure (e.g. meta-models, code-generators).
The SmartMDSD Toolchain supports users in applying the necessary structures to enable composition in an robotics ecosystem. The tooling enables domain experts to model robotics domain structures, enables component suppliers to provide software components and enables system builders to flexibly combine and re-combine (“compose”) them to new applications according to their needs.
Main target is the SmartSoft Framework
SmartMDSD covers the complete workflow from domain structures and interface definitions, to component development, to system composition. SmartMDSD will mainly support the “SmartSoft Framework”, a service-oriented component-based framework for software development in service robotics. However, it also outreaches to make use of the ROS framework and OPC UA.
SmartMDSD conforms to the structures proposed by the European Union's Horizon 2020 research and innovation programme “RobMoSys” (https://robmosys.eu/) and BMWi/PAiCE “SeRoNet” (https://www.seronet-projekt.de).
For more information, see the following resources:
- Dennis Stampfer, Alex Lotz, Matthias Lutz, and Christian Schlegel. “The SmartMDSD Toolchain: An Integrated MDSD Workflow and Integrated Development Environment (IDE) for Robotics Software”. In: Journal of Software Engineering for Robotics (JOSER): Special Issue on Domain-Specific Languages and Models in Robotics (DSLRob) 7.1 (July 2016). ISSN 2035-3928, pp. 3–19. URL: http://joser.unibg.it/index.php/joser/article/view/91
Eclipse SmartMDSD is contributing to an composition-oriented approach for robotics software development to create an ecosystem in which robotics developers can exchange building blocks. A key enabler for this vision are technical structures that need to be open (e.g. open meta-models). These structures must be maintained by an active community. An eclipse project supports in kickstarting this open community and in providing a frame for further evolvement.
The members of the proposed project have a strong background in software engineering and robotics. Both the robotics and the eclipse community can benefit from fostering a close link via this eclipse project:
- Model-driven engineering demonstrated to be a key driver to manage system complexity. Robotics can benefit from knowledge in tooling and model-driven engineering which is both well established in the eclipse community.
- Through the proposed project, the Eclipse community can extend its scope to the robotics domain. The main outcome of “SmartMDSD” will be the “SmartMDSD Toolchain”, a matured robotics software development IDE that is well known in the service robotics domain.
- The very same arguments hold true for choosing “Eclipse Modeling Project” as the parent project: SmartMDSD heavily applies tools from the Eclipse Modeling Project.
An initial contribution is to be expected very soon after the infrastructure is available.
We expect that the incubation phase can be kept short as the project has a history since 2009, is in active use by a broad user basis, and the development (at time of writing) supported by two publicly funded projects (RobMoSys and SeRoNet, see Background and Interested Parties), and two private companies.
The functionality is stable and mature as the project is under development since 2009. We will focus on the enhanced usability in the first year. We will further work on getting current experimental features stable: support for using ROS nodes and OPC UA devices in order to link to these communities. We further plan to connect closer to industry 4.0 / asset administration shell.