{'fraction_non_alphanumeric': 0.0222972972972973, 'fraction_numerical': 0.0, 'mean_word_length': 5.302127659574468, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Generating ROS-based Software for Industrial Cyber-Physical Systems from UML/MARTE

This work proposes an approach to generate automatically the embedded software for distributed Cyber-Physical Systems implemented using the Robotic Operating System (ROS) framework. For that, the Aspect-oriented Model Driven Engineering for Real-Time systems (AMoDE-RT) design approach has been extended in order to support the C++ code generation using the semantics and libraries available in ROS framework which is widely used in both academia and industry to implement the embedded software for robotic systems. The system architecture, behavior, requirements and constraints are specified in a UML/MARTE model. The information specified in the high-level model is used as input for a tool that generates a great part of the embedded software for all distributed computing devices. The main goal is to foster the use of Model-Driven Engineering in the context of cyber-physical systems design aiming the rapid prototyping via simulation and also the generation of the actual implementation of the system components. The proposed approach has been validated through a case study that demonstrates the feasibility to implement a ROS/C++ software for industrial systems. The results indicate that the proposed approach can be applied to complex systems comprising a larger number of interacting devices, whereas keeping the high-level of abstraction for system specification in UML/MARTE models.