{'fraction_non_alphanumeric': 0.02258064516129032, 'fraction_numerical': 0.0032258064516129032, 'mean_word_length': 5.430051813471502, '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}}
Specifying QoS Requirements and Capabilities for Component-Based Robot Software

Assembling robotic multi-agent systems is becoming increasingly attractive due to the emergence of affordable robots. For coordinated missions such fleets usually have to communicate over unreliable channels and still achieve adequate performance. To support system designers in quantifying adequateness, in this paper we present a domain-specific language (DSL) that allows domain-experts to specify (i) quality of service (QoS) requirements of the communication channels; and (ii) QoS capabilities of the involved software components. Such QoS specifications complement the QoS management that has recently been introduced into ROS 2. To fully utilize this approach we have also developed an associated ROS 2 DSL which enables us to verify QoS specifications and provide feedback to the users already at design time. We have evaluated the developed language workbench following the Goal-Question-Metric (GQM) approach which demonstrates that the QoS DSL is complete with respect to ROS 2 and can be easily extended. Additionally, we generate a proof-of-concept implementation for a QoS monitor that can be seamlessly integrated into existing ROS 2 projects.