Specification Patterns for Robotic Missions
http://roboticpatterns.com/
Recent content on Specification Patterns for Robotic MissionsHugo -- gohugo.ioen-usClaudio Menghi, Christos Tsigkanos, Thorsten Berger, Patrizio Pelliccione, Carlo GhezziThu, 08 Feb 2018 17:51:49 +0100Authors
http://roboticpatterns.com/authors/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/authors/Authors Claudio Menghi
Research Associate, Interdisciplinary Centre for Security, Reliability and Trust, University of Luxembourg, Luxembourg. Contact Information
Christos Tsigkanos
Lise Meitner Fellow, Technische Universität Wien, Vienna, Austria.
Contact Information
Thorsten Berger
Associate Professor, Chalmers & University of Gothenburg, Gothenburg, Sweden.
Contact Information
Patrizio Pelliccione
Associate Professor, Chalmers & University of Gothenburg, Sweden, and Assistant Professor (on leave) at the University of L’Aquila, Italy.Bound Delay
http://roboticpatterns.com/pattern/bounddelay/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/bounddelay/Intent Applies when a counteraction must be performed every time and only when a specific location is entered..
LTL Template $\mathcal{G}( p_1 \leftrightarrow \mathcal{X} (p_2))$, where $p_1 \in M$ and $p_2 \in PL \cup PA$ Examples and Known Uses The trace $l_1 \rightarrow l_3 \rightarrow \{l_2,c\} \rightarrow \{l_1\} \rightarrow \{l_4,1_1\} \rightarrow \{l_1\} \rightarrow \{l_4,a_1\} \rightarrow (l_3)^\omega$ satisfies the mission requirement. The trace $l_1 \rightarrow l_3 \rightarrow \{l_2,c\} \rightarrow \{l_1\} \rightarrow \{l_4,1_1\} \rightarrow \{l_1,a_1\} \rightarrow \{l_4\} \rightarrow (l_3)^\omega$ does not satisfy the mission requirement.Bound Reaction
http://roboticpatterns.com/pattern/boundreaction/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/boundreaction/Intent Applies when the occurrence of a stimulus triggers a counteraction promptly, i.e. in the next time instant.
LTL Template $\mathcal{G}( p_1 \leftrightarrow p_2)$, where $p_1 \in M$ and $p_2 \in PL \cup PA$ Examples and Known Uses Action $a_1$ is bound though a delay to location $l_1$. The trace $l_1 \rightarrow l_3 \rightarrow \{l_2,c\} \rightarrow \{l_1,a_1\} \rightarrow l_4 \rightarrow \{l_1,a_1\} \rightarrow (l_3)^\omega$ satisfies the mission requirement.Catalog
http://roboticpatterns.com/catalog/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/catalog/Delayed Reaction
http://roboticpatterns.com/pattern/delayedreaction/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/delayedreaction/Intent Applies when the occurrence of a stimulus triggers a counteraction some time later.
LTL Template $\mathcal{G}( p_1 \rightarrow \mathcal{F} (p_2))$, where $p_1 \in M$ and $p_2 \in PL \cup PA$ Examples and Known Uses When $c$ occurs the robot must start moving toward location $l_1$, and $l_1$ is subsequently finally reached. The trace $l_1 \rightarrow l_3 \rightarrow \{l_2,c\} \rightarrow l_1 \rightarrow l_4 \rightarrow (l_3)^\omega$ satisfies the mission requirement, since after $c$ occurs the robot starts moving toward location $l_1$, and location $l_1$ is finally reached.Evaluation
http://roboticpatterns.com/contact/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/contact/Intent Applies when the occurrence of a stimulus triggers a counteraction some time later.
Template The following formula encodes the mission in LTL for one location. Assume that location l1 must be visited exactly two times:
GLOBALLY (c IMPLIES (NEXT FINALLY (r in l1))) where “r in l1” is an expression that indicates that a robot r is in a specific area or at a given point.Evaluation
http://roboticpatterns.com/evaluation/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/evaluation/Our evaluation addressed the following two questions.
RQ1: How effective is the pattern catalog in capturing mission requirements and producing mission specifications?
RQ2: Are the proposed mission specifications correct?
Coverage of Real-World Missions (RQ1) We investigated (i) how the pattern catalog supports the specification of mission requirements and (ii) how the pattern catalog reduces ambiguities in mission requirements.
Experiment 1 We checked how the pattern catalog supports the formulation of mission requirements (and the generation of mission specifications) in real-world robotic scenarios.Exact Restricted Avoidance
http://roboticpatterns.com/pattern/exactrestrictedavoidance/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/exactrestrictedavoidance/Intent It specifies that a robot should avoid visiting a location a number of times that is different from “n”, i.e., the robot should visit a location exactly “n” times
LTL Template $\underbrace{(\neg (l1)) \mathcal{U} (l1 \wedge (\mathcal{X} ((\neg l1) \mathcal{U} (l1 \ldots \wedge (\mathcal{X} ((\neg l1) \mathcal{U} (l1}_\text{n}$ $ \wedge (\mathcal{X} (\mathcal{G} (\neg l1))))))))))$, where $l_1 \in L$ Note that the pattern is general and consider the case in which a robot can be in two locations at the same time.Exp1
http://roboticpatterns.com/experiments/exp1/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/experiments/exp1/Description We checked how the pattern catalog supports the formulation of mission requirements (and the generation of mission specifications) in real-world robotic scenarios. To this end, we defined five scenarios in collaboration with our industrial partners.
SC Description Patterns SC1 A robot is deployed within a supermarket and reports about the absence of sold items within a set of locations (i.e. l1, l2, l3, and l4).Exp2
http://roboticpatterns.com/experiments/exp2/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/experiments/exp2/Description We collected mission requirements in natural language from available requirements produced from Spectra and LTLMoP. We checked how the pattern catalog may have supported developers in the definition of the mission requirements. In the case of Spectra, we use the Spectra files to extract mission requirements for robotic systems. In total, 11 robotic applications were considered. Note that mission requirements are realistic since they were finally executed with real robots.Exp3
http://roboticpatterns.com/experiments/exp3/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/experiments/exp3/Description We analyzed the mission specifications contained in the Spectra examples collected in Exp2. We collected 1216 distinct LTL mission specifications and we analyzed each of these specifications. We verified whether it is possible to obtain the mission specifications starting from the patterns, by performing the following steps.
For each property we automatically checked whether it was an instance of a mission specification pattern or a simple combination of mission specification patterns.Exp4
http://roboticpatterns.com/experiments/exp4/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/experiments/exp4/Description We generated the LTL specifications of the considered mission requirements. We (i) negated the LTL specification; (ii) encoded the specification and the model of the scenario in NuSMV; (iii) used NuSMV to check whether the models contained a path that satisfied the mission specification (violates its negation). If a plan was present we used Simbad to simulate the robot executing the plan. We verified whether the results where correct: when we expected a plan to not be present in the given model, NuSMV was not able to compute it, and, when a plan was expected to be present it was computed by NuSMV.Exp5
http://roboticpatterns.com/experiments/exp5/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/experiments/exp5/Description We generated LTL and CTL specifications for the considered mission requirements. We (i) encoded the LTL and CTL specifications and the model of the scenario in NuSMV; (iii) we used NuSMV to check whether the verification of the specifications returned the same results. Mission requirements were generally not satisfied, since for being satisfied they have to hold on all the paths of the models. NuSMV always returned the same results for LTL and CTL specifications confirming the correctness of CTL specifications.Exp6
http://roboticpatterns.com/experiments/exp6/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/experiments/exp6/Description We investigated why in several cases the mission requirement was always not satisfied. In these cases we relaxed the mission requirements, by removing certain patterns. We executed the same steps of Exp4. Results confirmed that by relaxing the mission requirements there were cases in which the mission requirement was actually satisfied. This is a further confirmation that the mission specifications are correct.
Reproduction Kit To replicate this experiment run java -jar Exp6.Fair Patrolling
http://roboticpatterns.com/pattern/fairpatrolling/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/fairpatrolling/Intent This pattern requires a robot to keep visiting a set of locations in a fair way, i.e., the robots patrols the locations by keeping the number of times every area is patrolled equal.
LTL Template $\overset{n}{\underset{i=1}{\bigwedge}} \mathcal{G}( \mathcal{F} (l_i))$ $\overset{n}{\underset{i=1}{\bigwedge}} \mathcal{G} (l_{i} \rightarrow \mathcal{X} ((\neg l_i)\ \mathcal{W}\ l_{(i+1)\%n}))$ , where ($l_1, l_2, \ldots$ are location propositions) where “l1” and “l2” are expressions that indicate that a robot r is in location 1 and 2.Fair Visit
http://roboticpatterns.com/pattern/fairvisit/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/fairvisit/Intent Given a set of locations the robot should visit all the locations in a fair way.
LTL Template $\overset{n}{\underset{i=1}{\bigwedge}} \mathcal{F} (l_i) $ $\overset{n}{\underset{i=1}{\bigwedge}} \mathcal{G} (l_{i} \rightarrow \mathcal{X} ((\neg l_i)\ \mathcal{W}\ l_{(i+1)\%n}))$ , where ($l_1, l_2, \ldots$ are location propositions) where “l1” and “l2” are expressions that indicate that a robot r is in a specific area or at a given point.
Note that the pattern is general and consider the case in which a robot can be in two locations at the same time.Future Avoidance
http://roboticpatterns.com/pattern/futureavoidance/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/futureavoidance/Intent Specifies that a condition will be avoided in the future.
LTL Template $\mathcal{G}( (c) \rightarrow( \mathcal{G} (\neg (l_1))))$, where $c \in M$ and $l_1 \in PL$ Examples and Known Uses If the robot enters $l_1$, then it should avoid entering $l_2$ in the future. The trace $l_3 \rightarrow l_4 \rightarrow l_3 \rightarrow l_1 \rightarrow l_4 \rightarrow l_3 \rightarrow ( l_3 \rightarrow l_2 \rightarrow l_3)^\omega$ does not satisfy the mission requirement since $l_2$ is entered after $l_1$.Global Avoidance
http://roboticpatterns.com/pattern/globalavoidance/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/globalavoidance/Intent Specifies that an avoidance condition globally holds.
LTL Template $\mathcal{G}(\neg (l_1))$, where $l_1 \in L$ Examples and Known Uses The robot should avoid entering location $l_1$. Trace $l_3 \rightarrow l_4 \rightarrow l_3 \rightarrow l_2 \rightarrow l_4 \rightarrow l_3 \rightarrow ( l_3 \rightarrow l_2 \rightarrow l_3)^\omega$, satisfies the mission requirement since the robot never enters $l_1$.
Relationships Global avoidance is a specific instance of the Avoidance patterns requiring a location to be always avoided.Instantaneous Reaction
http://roboticpatterns.com/pattern/instantaneousreaction/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/instantaneousreaction/Intent Applies when the occurrence of a stimulus instantaneously triggers a counteraction.
LTL Template $\mathcal{G}( p_1 \rightarrow p_2)$, where $p_1 \in M$ and $p_2 \in PL \cup PA$ Examples and Known Uses When location $l_2$ is reached action $a$ must be executed. The trace $l_1 \rightarrow l_3 \rightarrow \{ l_2,a \} \rightarrow \{ l_2,a \} \rightarrow l_4 \rightarrow (l_3)^\omega$ satisfies the mission requirement since when location $l_2$ is entered condition $a$ is performed.Lower Restricted Avoidance
http://roboticpatterns.com/pattern/lowerrestrictedavoidance/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/lowerrestrictedavoidance/Intent Applies when a restriction on the minimum number of occurrences is desired.
LTL Template $\mathcal{F} (\underbrace{l_1 \wedge \mathcal{X} (\mathcal{F}(l_1 \wedge \ldots \mathcal{X} (\mathcal{F}(l_1)}_\text{n})))) $, where $l_1 \in L$ Examples and Known Uses A robot to enter location $l_1$ at least $3$ times. The trace $l_4 \rightarrow l_3 \rightarrow l_2 \rightarrow l_2\rightarrow l_4 \rightarrow ( l_3)^\omega$ violates the mission requirement since location $1$ is never entered. The trace $l_1 \rightarrow l_4 \rightarrow l_3 \rightarrow l_1 \rightarrow l_4 \rightarrow l_1 \rightarrow ( l_3)^\omega$ satisfies the mission requirement.Mission Requirements Collection
http://roboticpatterns.com/reqcollection/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/reqcollection/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”.Ordered Patrolling
http://roboticpatterns.com/pattern/orderedpatrolling/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/orderedpatrolling/Intent This pattern requires a robot to keep visiting a set of locations, in some specified order, similarly to sequenced patrolling. However, given an order, e.g., 1 and 2 between two locations, it is not admitted to the robot to visit 2 before 1.
LTL Template $\mathcal{G} (\mathcal{F} (l_1 \wedge \mathcal{F}(l_2 \wedge \ldots \mathcal{F}(l_n)))) $ $\overset{n-1}{\underset{i=1}{\bigwedge}} (\neg l_{i+1}) \mathcal{U} l_i$\\ $\overset{n}{\underset{i=1}{\bigwedge}} \mathcal{G} (l_{(i+1)\%n} \rightarrow \mathcal{X} ( (\neg l_{(i+1)\%n}) \mathcal{U} l_{i}))$ , where ($l_1, l_2, \ldots$ are location propositions) Note that the pattern is general and consider the case in which a robot can be in two locations at the same time.Ordered Visit
http://roboticpatterns.com/pattern/orderedvisit/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/orderedvisit/Intent Given a set of locations the robot should visit all the locations in order.
LTL Template $\mathcal{F} (l_1 \wedge \mathcal{F}(l_2 \wedge \ldots \mathcal{F}(l_n))) $ $\overset{n-1}{\underset{i=1}{\bigwedge}} (\neg l_{i+1})\ \mathcal{U}\ l_i$ , where ($l_1, l_2, \ldots$ are location propositions) Sequence visit does not forbid to visit a successor location before its predecessor, but only that after the predecessor is visited the successor is also visited. Ordered visit forbids a successor to be visited before its predecessor.Past Avoidance
http://roboticpatterns.com/pattern/pastavoidance/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/pastavoidance/Intent Requires a condition to not occur until another condition is satisfied
LTL Template $(\neg (l_1)) \mathcal{U} p$, where $l_1 \in L$ and $p \in M$ Note that the pattern is general and consider the case in which a robot can be in two locations at the same time. For example, a robot can be in an area of a building indicated as l1 (e.g., area 01) and at the same time in a room of the area indicated as l2 (e.Patrolling
http://roboticpatterns.com/pattern/patrolling/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/patrolling/Intent Keep visiting a set of locations, but not in a particular order.
LTL Template $ \overset{n}{\underset{i=1}{\bigwedge}} \mathcal{G} \mathcal{F} (l_i)$ , where ($l_1, l_2, \ldots$ are location propositions) Note that the pattern is general and consider the case in which a robot can be in two locations at the same time. For example, a robot can be in an area of a building indicated as l1 (e.Pattern System
http://roboticpatterns.com/patternsystem/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/patternsystem/ Pattern Catalog -- Prompt Reaction
http://roboticpatterns.com/pattern/promptreaction/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/promptreaction/Intent Applies when the occurrence of a stimulus triggers a counteraction promptly, i.e. in the next time instant.
LTL Template $\mathcal{G}( p_1 \rightarrow \mathcal{X} (p_2))$, where $p_1 \in M$ and $p_2 \in PL \cup PA$ Examples and Known Uses If $c$ occurs $l_1$ is reached in the next time instant. The trace $l_1 \rightarrow l_3 \rightarrow \{l_2,c\} \rightarrow l_1 \rightarrow l_4 \rightarrow (l_3)^\omega$ satisfies the mission requirement, since after $c$ occurs $l_1$ is reached within the next time instant.PsALM
http://roboticpatterns.com/psalm/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/psalm/PsALM provides a GUI (1) that allows the definition of robotic missions requirements through a structured English grammar which uses patterns as basic building blocks and AND and OR logic operators to compose these patterns.
The SE2PT component extracts from a mission requirement the set of patterns that are composed through the AND and OR operators (2). The PT2LTL (3) and PT2CTL (4) components automatically generate LTL and CTL specifications from these patterns.Research
http://roboticpatterns.com/research/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/research/Papers Claudio Menghi, Christos Tsigkanos, Thorsten Berger, Patrizio Pelliccione, Carlo Ghezzi Specification Patterns for Robotic Missions. IEEE Transactions on Software Engineering, 2019.
Claudio Menghi, Christos Tsigkanos, Thorsten Berger, and Patrizio Pelliccione PsALM: Specification of Dependable Robotic Missions. IEEE/ACM ICSE (Companion Volume), 2019.
Claudio Menghi, Christos Tsigkanos, Thorsten Berger, Patrizio Pelliccione, Carlo Ghezzi Property specification patterns for robotic missions. IEEE/ACM ICSE (Companion Volume) 2018: 434-435.Sequenced Patrolling
http://roboticpatterns.com/pattern/sequencedpatrolling/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/sequencedpatrolling/Intent Given a set of locations the robot should REPEATEDLY visit all the locations in sequence.
LTL Template $\mathcal{G} (\mathcal{F} (l_1 \wedge \mathcal{F}(l_2 \wedge \ldots \mathcal{F}(l_n))))$ , where ($l_1, l_2, \ldots$ are location propositions) Note that the pattern is general and consider the case in which a robot can be in two locations at the same time. For example, a robot can be in an area of a building indicated as l1 (e.Sequenced Visit
http://roboticpatterns.com/pattern/sequencedvisit/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/sequencedvisit/Intent Given a set of locations the robot should visit all the locations in sequence.
LTL Template $\mathcal{F} (l_1 \wedge \mathcal{F}(l_2 \wedge \ldots \mathcal{F}(l_n)))$ , where ($l_1, l_2, \ldots$ are location propositions) Note that the pattern is general and consider the case in which a robot can be in two locations at the same time. For example, a robot can be in an area of a building indicated as l1 (e.Strict Ordered Patrolling
http://roboticpatterns.com/pattern/strictorderedpatrolling/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/strictorderedpatrolling/Intent A robot must patrol a set of locations following a strict order.
LTL Template $\mathcal{G} (\mathcal{F} (l_1 \wedge \mathcal{F}(l_2 \wedge \ldots \mathcal{F}(l_n)))) $ $\overset{n-1}{\underset{i=1}{\bigwedge}} (\neg l_{i+1}) \mathcal{U} l_i$ $\overset{n}{\underset{i=1}{\bigwedge}} \mathcal{G} (l_{(i+1)\%n} \rightarrow \mathcal{X} ( (\neg l_{(i+1)\%n}) \mathcal{U} l_{i}))$ $\overset{n-1}{\underset{i=1}{\bigwedge}} \mathcal{G} ((l_{i}) \rightarrow \mathcal{X} (\neg l_{i} \mathcal{U} (l_{(i+1)\%n})))$, where $l_1, l_2, \ldots$ are location propositions. Note that the pattern is general and consider the case in which a robot can be in two locations at the same time.Strict Ordered Visit
http://roboticpatterns.com/pattern/strictorderedvisit/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/strictorderedvisit/Intent Given a set of locations the robot should visit all the locations following a strict order.
LTL Template $\mathcal{F} (l_1 \wedge \mathcal{F}(l_2 \wedge \ldots \mathcal{F}(l_n))) $ $\overset{n-1}{\underset{i=1}{\bigwedge}} (\neg l_{i+1}) \mathcal{U} l_i$ $\overset{n-1}{\underset{i=1}{\bigwedge}} (\neg l_{i}) U (l_i \wedge \mathcal{X} (\neg l_{i} \mathcal{U} (l_{i+1})))$, where $l_1, l_2, \ldots$ are location propositions. Ordered visit pattern does not avoid a predecessor location to be visited multiple times before its successor.Upper Restricted Avoidance
http://roboticpatterns.com/pattern/upperrestrictedavoidance/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/upperrestrictedavoidance/Intent Applied when a restriction on the maximum number of occurrences is desired.
LTL Template $\neg \mathcal{F} (\underbrace{l_1 \wedge \mathcal{X} (\mathcal{F}(l_1 \wedge \ldots \mathcal{X} (\mathcal{F}(l_1)}_\text{n})))) $, where $l_1 \in L$ Note that the pattern is general and consider the case in which a robot can be in two locations at the same time. For example, a robot can be in an area of a building indicated as l1 (e.Visit
http://roboticpatterns.com/pattern/visit/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/visit/Intent Given a set of locations the robot should visit all the locations.
LTL Template $\overset{n}{\underset{i=1}{\bigwedge}} F (l_i)$, where $l_1, l_2, \ldots$ are location propositions. Examples and Known Uses Locations $l_1$, $l_2$, and $l_3$ must be visited. $ l_1 \rightarrow l_4 \rightarrow l_3 \rightarrow l_1 \rightarrow l_4 \rightarrow l_2 \rightarrow (l_{\#})^\omega $ is an example trace that satisfies the mission requirement.
A common usage example of the Visit pattern is a scenario in which a robot has to collect a set of items that are placed in different locations and bring them in a target destination.Wait
http://roboticpatterns.com/pattern/wait/
Thu, 08 Feb 2018 17:51:49 +0100http://roboticpatterns.com/pattern/wait/Intent Applies when a counteraction must be performed every time and only when a specific location is entered..
LTL Template $(l_1) \mathcal{U} (p) $, where $l_1 \in L$ and $p \in PE \cup PA$ Examples and Known Uses The robot remains in location $l_1$ until condition $c$ is satisfied. The trace $l_1 \rightarrow l_3 \rightarrow { l_2,c} \rightarrow l_1 \rightarrow l_4 \rightarrow (l_3)^\omega$ violates the mission requirement since the robot left $l_1$ before condition $c$ is satisfied.