Mission Requirements Collection

We analyzed mission specifications published in the four major venues in the robotics domain over the last five years, aiming to primarily cover the top conferences and journals in robotics. Altogether we obtained 282 papers concerning robotic movements, through which, matching our inclusion criteria, we obtained 245 mission requirements, which are available in XLSX format. The file is comprised of the following fields:

papers-reqs-considered.xlsx: “Year”, “Robotics Venue”, “Paper Title”, “Mission Requirement”, “Keywords”.

Identification of Mission Specification Problems

Step. 1

We divided the collected mission requirements among two of the authors, who labeled them with keywords that describe the mission specification problems they describe. For example, the mission requirement “The robot has to autonomously patrol the site and measure the state of valve levers and dial gauges at four checkpoints in order to decide if some machines need to be shut down” (occuring in [69]) was associated with the keywords “patrol,” since the robot has to patrol the site, and “instantaneous reaction,” since when a valve is reached its level must be checked.

Step. 2

We created a graph structure representing semantic relations between keywords. Each keyword is associated with a node of the graph structure. Two nodes were connected if their keywords identify two similar mission specification problems. For example, the keywords “visit” and “reach” are related since in both cases the robot has to to visit/reach a location.

alt text

Step. 3

Since our interest was not a mere classification of actions and movements that are executed by a robots, but rather detecting mission specification problems that concern how actions and movements are executed by a robot behavior over time, nodes that contain keywords that only refer to actions are removed (e.g., balance).

Step. 4

Nodes that were connected through edges and con- tained keywords that identify to the same mission specification problem, e.g., visit and reach, were merged.

Step. 5

We organized the mission specification problems into a catalog represented through a tree structure that facilitates browsing among mission specification problems:

Pattern Prevalence

We evaluate patterns in three different dimensions; we analysed: (i) the effectiveness of our specification pattern system in capturing mission specification problems, (ii) the applicability of each pattern in mission specifications; this is done by calculating the frequency of usage of each pattern in the set of mission requirements, and (iii) how the granularity of the pattern system helps in mission specification; this is done by investigating the usage of pattern combinations.

occurences.py:


Occurences of patterns:
('Visit', 138)
('Global Avoidance', 66)
('Patrolling', 40)
('Instant Reaction', 38)
...

Occurences count 349

Frequencies of combinations:
(frozenset(['Visit']), 71)
(frozenset(['Global Avoidance', 'Visit']), 28)
(frozenset(['Patrolling']), 22)
(frozenset(['Global Avoidance']), 17)
(frozenset(['Instant Reaction', 'Visit']), 9)
(frozenset(['Sequence Visit ']), 8)
(frozenset(['Strict Visit']), 8)
(frozenset(['Instant Reaction', 'Global Avoidance']), 5)
(frozenset(['Global Avoidance', 'Patrolling']), 4)
(frozenset(['Instant Reaction', 'Patrolling']), 4)
...

Frequency of usage of each pattern:
Sequence Visit  18 (5.15759312321%)
Patrolling 40 (11.4613180516%)
Future Avoidance 8 (2.29226361032%)
Visit 138 (39.5415472779%)
Instant Reaction 38 (10.888252149%)
...

Requirements that have at least a concern not covered by patterns 60 (23.2558139535%)
Terms not covered by patterns  set(['spacebound', ' futureavoid', ' ireaction', 'timebound', 'trajectory', 'moveobject', 'seqpatrol', 'restrict', 'collision', 'avoidcollision', 'formation', ' follow', 'follow', 'balance', 'response'])


Total reqs 258


Concepts inherent in requirements that are not covered by the pattern system refer to multi-robot configurations, bounds in space, trajectories, robot-specific operations (e.g. balance), formation movements (e.g. leader-follower), communication (e.g. request-response) etc. Such aspects not covered in the classification will be considered in future work.