Kerstin Eder
Design Automation and Verification Trustworthy Systems Laboratory Verification and Validation for Safety in Robots, Bristol Robotics Laboratory
Verification and Validation for Safety in Robots Kerstin Eder - - PowerPoint PPT Presentation
Verification and Validation for Safety in Robots Kerstin Eder Design Automation and Verification Trustworthy Systems Laboratory Verification and Validation for Safety in Robots, Bristol Robotics Laboratory Verification and Validation for Safety
Design Automation and Verification Trustworthy Systems Laboratory Verification and Validation for Safety in Robots, Bristol Robotics Laboratory
2
User Requirements
High-level Specification
Optimizer
Design and Analysis (Simulink)
Controller (SW/HW)
e.g. C, C++, RTL (VHDL/Verilog)
Translate Implement
3
Verification and testing of mobile robot navigation algorithms: A case study in SPARK. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).
http://dx.doi.org/10.1109/IROS.2014.6942753
4
Verification and testing of mobile robot navigation algorithms: A case study in SPARK. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).
http://dx.doi.org/10.1109/IROS.2014.6942753
5
6
§ No Memory allocation, pointers, concurrency
§ Pre- and post-conditions, loop (in)variants § Numeric subtypes (e.g. Positive) § Formal data containers
7
§ Three open-source implementations of navigation algorithms translated from C/C++ (2.7 kSLOC) to SPARK (3.5 kSLOC)
§ Several bugs discovered by run-time checks injected by the Ada compiler
interpretation.
§ Up to 97% of the verification conditions discharged automatically by SMT solvers in less than 10 minutes § Performance of the SPARK and C/C++ code similar
8
9
https://rclutz.wordpress.com/2016/09/23/hammer-and-nail/
Verification and testing of mobile robot navigation algorithms: A case study in SPARK. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).
http://dx.doi.org/10.1109/IROS.2014.6942753
10
User Requirements
High-level Specification
Optimizer
Design and Analysis (Simulink)
Controller (SW/HW)
e.g. C, C++, RTL (VHDL/Verilog)
Translate Implement
11
User Requirements
High-level Specification
Optimizer
Design and Analysis (Simulink)
Controller (SW/HW)
e.g. C, C++, RTL (VHDL/Verilog)
Translate Implement
12
Formal Verification of Control Systems’ Properties with Theorem Proving. International Conference on Control (CONTROL), pp. 244 - 249. IEEE, Jul 2014. http://dx.doi.org/10.1109/CONTROL.2014.6915147
Verification of Control Systems Implemented in Simulink with Assertion Checks and Theorem Proving: A Case Study. European Control Conference (ECC), pp. 2670 - 2675. Jul 2015. http://arxiv.org/abs/1505.05699
13
§ Analysis techniques from control systems theory (e.g., stability) § Serve as requirements/specification § For (automatic) code generation
Control systems design level Implementation level
14
Stability Matrix P > 0 (Lyapunov function) Equivalence
V(k)-V(k-1) = x(k-1)T [(A−BK)T P(A−BK)-P]x(k-1)
(Lyapunov's equation application) Add as assertions Capture control systems requirements Retain in code implementation Matrix P−(A−BK)T P(A−BK) > 0 (Lyapunov function's difference)
16
Stability Matrix P > 0 (Lyapunov function) Equivalence
V(k)-V(k-1) = x(k-1)T [(A−BK)T P(A−BK)-P]x(k-1)
(Lyapunov's equation application) Matrix P−(A−BK)T P(A−BK) > 0 (Lyapunov function's difference)
Test in simulation
17
Automatic theorem proving
Formalize logic theory of the Simulink diagram
Axiom: Bu = B * u ... … Goal: vdiff == vdiff_an
Stability Matrix P > 0 (Lyapunov function) Equivalence
V(k)-V(k-1) = x(k-1)T [(A−BK)T P(A−BK)-P]x(k-1)
(Lyapunov's equation application) Matrix P−(A−BK)T P(A−BK) > 0 (Lyapunov function's difference)
Test in simulation
18
Automatic theorem proving
First order logic theory of the Simulink diagram
Axiom: Bu = B * u ... … Goal: vdiff == vdiff_an
19
Formal Verification of Control Systems’ Properties with Theorem Proving. International Conference on Control (CONTROL), pp. 244 - 249. IEEE, Jul 2014. http://dx.doi.org/10.1109/CONTROL.2014.6915147
Verification of Control Systems Implemented in Simulink with Assertion Checks and Theorem Proving: A Case Study. European Control Conference (ECC), pp. 2670 - 2675. Jul 2015. http://arxiv.org/abs/1505.05699
20
Code for Robots that Directly Interact with Humans,” in Haifa Verification Conference, Haifa, Israel,
Control Code for Robots in Collaborative Human-Robot Interactions,” in Towards Autonomous Robotic Systems (TAROS), Jun. 2016. http://link.springer.com/chapter/10.1007/978-3-319-40379-3_3
Software in Human-Robot Interactions,” in Third Workshop on Model-Driven Robot Software Engineering (MORSE), Dresden, Germany, 2016. http://arxiv.org/abs/1604.05508 21
22
23
24
Dejanira Araiza-Illan, David Western, Anthony Pipe and Kerstin Eder. Coverage-Driven Verification — An Approach to Verify Code for Robots that Directly Interact with Humans. In Hardware and Software: Verification and Testing, pp. 69-84. Lecture Notes in Computer Science 9434. Springer, November 2015. (DOI 10.1007/978-3-319-26287-1_5) Dejanira Araiza-Illan, David Western, Anthony Pipe and Kerstin Eder. Systematic and Realistic Testing in Simulation of Control Code for Robots in Collaborative Human-Robot Interactions. 17th Annual Conference Towards Autonomous Robotic Systems (TAROS 2016), pp. 20-32. Lecture Notes in Artificial Intelligence 9716. Springer, June 2016. (DOI 10.1007/978-3-319-40379-3_3)
26
SUT Test Response
27
SUT Test Test Generator Response
28
Robot to human object handover scenario
29
Robot to human object handover scenario
30
31
Formal model Traces from model checking Test template Test components:
System + environment Environment to drive system
32
33
SUT Test Test Generator Checker Response
34
35
SUT Test Test Generator Checker Coverage Collector Response
36
§
§
§
37
38
§
§
§
Dejanira Araiza-Illan, David Western, Anthony Pipe and Kerstin Eder. Systematic and Realistic Testing in Simulation of Control Code for Robots in Collaborative Human-Robot
Computer Science 9716. Springer, June 2016. DOI 10.1007/978-3-319-40379-3_3
43
Dejanira Araiza-Illan, David Western, Anthony Pipe and Kerstin Eder. Coverage-Driven Verification — An Approach to Verify Code for Robots that Directly Interact with Humans. In Hardware and Software: Verification and Testing, pp. 69-84. Lecture Notes in Computer Science 9434. Springer, November 2015. (DOI: 10.1007/978-3-319-26287-1_5) Dejanira Araiza-Illan, David Western, Anthony Pipe and Kerstin Eder. Systematic and Realistic Testing in Simulation of Control Code for Robots in Collaborative Human-Robot Interactions. 17th Annual Conference Towards Autonomous Robotic Systems (TAROS 2016), pp. 20-32. Lecture Notes in Computer Science 9716. Springer, June 2016. (DOI: 10.1007/978-3-319-40379-3_3)
44
http://www.thedroneinfo.com/
46
Desires: goals to fulfil Beliefs: knowledge about the world Intentions: chosen plans, according to current beliefs and goals Guards for plans New goals New beliefs From executing plans
47
BDI Agents
48
49
Robot’s Code Agent Agent for Simulated Human Agents for Simulated Sensors beliefs beliefs beliefs
50
Robot’s Code Agent Agent for Simulated Human Agents for Simulated Sensors beliefs beliefs beliefs Which beliefs?
Which beliefs?
51
Robot’s Code Agent Agent for Simulated Human Agents for Simulated Sensors beliefs beliefs beliefs
52
Robot’s Code Agent Agent for Simulated Human Agents for Simulated Sensors beliefs beliefs beliefs
(Meta Agent) Verification Agent
beliefs beliefs beliefs
53
Robot’s Code Agent Agent for Simulated Human Agents for Simulated Sensors beliefs beliefs beliefs
(Meta Agent) Verification Agent
beliefs beliefs beliefs
Manual belief selection
belief subsets
54
Robot’s Code Agent Agent for Simulated Human Agents for Simulated Sensors beliefs beliefs beliefs
(Meta Agent) Verification Agent
beliefs beliefs beliefs
Manual belief selection Random belief selection
belief subsets
55
Robot’s Code Agent Agent for Simulated Human Agents for Simulated Sensors beliefs beliefs beliefs
(Meta Agent) Verification Agent
beliefs beliefs beliefs
Optimal belief sets determined through RL plan coverage belief subsets
40 50 60 70 80 90 100 Code coverDge (%) 20 40 60 80 100 120 140 160 7est nuPber 40 50 60 70 80 90 100 AccuPulDted code coverDge (%) PseudorDndoP 0odel checking 7A %DI Dgents
Robotic Software in Human-Robot Interactions. (Proceedings of MORSE 2016, ACM, July 2016) DOI: 10.1145/3022099.3022101 (arXiv:1604.05508)
Model-based Test Generation for Robotic Software: Automata versus Belief-Desire- Intention Agents. (under review, preprint available at arXiv:1609.08439)
57
Convergence in <300 iterations, < 3 hours
58
Could be sped up by adding constraints and knowledge to the learning Convergence in <300 iterations, < 3 hours
59
60
Model-based + BDI vs. pseudorandom (abstract) test generation Per individual test, ascending
Code branches coverage Pseudorandom never reached > 66% in 100 tests All model-based BDI reached > 80%
61
62
63
§ more intuitive to write, they naturally express agency, § smaller in terms of model size, § more predictable to explore and § equal if not better wrt coverage.
64
Coverage-Driven Verification - An approach to verify code for robots that directly interact with humans. (Proceedings of HVC 2015, Springer, November 2015)
Systematic and Realistic Testing in Simulation of Control Code for Robots in Collaborative Human-Robot Interactions. (Proceedings of TAROS 2016, Springer, June 2016)
Intelligent Agent-Based Stimulation for Testing Robotic Software in Human-Robot
DOI: 10.1145/3022099.3022101 (arXiv:1604.05508)
Model-based Test Generation for Robotic Software: Automata versus Belief-Desire- Intention Agents. (under review, preprint available at arXiv:1609.08439)
65
Kerstin.Eder@bristol.ac.uk
Special thanks to Dejanira Araiza Illan, Jeremy Morse, David Western, Arthur Richards, Jonathan Lawry, Trevor Martin, Piotr Trojanek, Yoav Hollander, Yaron Kashai, Mike Bartley, Tony Pipe and Chris Melhuish for their collaboration, contributions, inspiration and the many productive discussions we have had.
Approach to Verification and Validation of Human-Robot Teams. arXiv:1608.07403
Approach to Verification and Validation of Human-Robot Teams. arXiv:1608.07403