Verifying REACT Aleks Milisevic Will Noble Martin Rinard

Slides:



Advertisements
Similar presentations
Modeling issues Book: chapters 4.12, 5.4, 8.4, 10.1.
Advertisements

A Survey of Runtime Verification Jonathan Amir 2004.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Timed Automata.
Model Checker In-The-Loop Flavio Lerda, Edmund M. Clarke Computer Science Department Jim Kapinski, Bruce H. Krogh Electrical & Computer Engineering MURI.
May 19, 2012 Lloyd Moore, President/Owner Just kidding – next slide please!
1 Mechanical Verification of Timed Automata Myla Archer and Constance Heitmeyer Presented by Rasa Bonyadlou 24 October 2002.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
CSE 380 – Computer Game Programming Pathfinding AI
Learning Objectives Explain similarities and differences among algorithms, programs, and heuristic solutions List the five essential properties of an algorithm.
Introduction to Control: How Its Done In Robotics R. Lindeke, Ph. D. ME 4135.
Discrete Abstractions of Hybrid Systems Rajeev Alur, Thomas A. Henzinger, Gerardo Lafferriere and George J. Pappas.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Using different Models of Computation for distributed control: the Robot Diffusion Problem Sarah Bergbreiter Mentors: Bruno Sinopoli, Alessandro Pinto.
Probabilistic Verification of Discrete Event Systems Håkan L. S. Younes.
Interfaces for Control Components Rajeev Alur University of Pennsylvania Joint work with Gera Weiss (and many others)
Comparing Models of Computation for Real-time, Distributed Control Systems Shawn Schaffert Bruno Sinopoli.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Cmpt-225 Simulation. Application: Simulation Simulation  A technique for modeling the behavior of both natural and human-made systems  Goal Generate.
Testing Test Plans and Regression Testing. Programs need testing! Writing a program involves more than knowing the syntax and semantics of a language.
The chapter will address the following questions:
Formal Techniques for Verification Using SystemC By Nasir Mahmood.
© 2005 The MathWorks, Inc. Advanced Technologies to Accelerate Mixed Signal Simulation Pieter J. Mosterman Senior Research Scientist The MathWorks, Inc.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
The particle method for simulation of self-organization phenomena Rafał Sienkiewicz Gdansk University of Technology, Gdańsk, Poland 1.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
Coding for the FIRST Tech Challenge: RobotC
© Manfred Huber Autonomous Robots Robot Path Planning.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Invariant Based Programming in Education Tutorial, FM’08 Linda Mannila
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Operating Systems Lecture 2 Processes and Threads Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of.
Robotics Overview of NXT-G Actuators in Mindstorms. Touch sensor Labwork: Right turn. Touch/bump. [Explore move versus Motor Move mini & motor mini. Motor*.]
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
Dina Workshop Analysing Properties of Hybrid Systems Rafael Wisniewski Aalborg University.
Autonomy using Encoders Intro to Robotics. Autonomy/Encoders Forward for Distance In this unit, you will learn to use the encoders to control the distance.
Richard Kelley Motion Planning on a GPU. Last Time Nvidia’s white paper Productive discussion.
December 9, 2014Computer Vision Lecture 23: Motion Analysis 1 Now we will talk about… Motion Analysis.
NCHRP Project Development of Verification and Validation Procedures for Computer Simulation use in Roadside Safety Applications SURVEY OF PRACTITIONERS.
Operating Systems Lecture 14 Segments Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software Engineering.
1 Model Checking of Robotic Control Systems Presenting: Sebastian Scherer Authors: Sebastian Scherer, Flavio Lerda, and Edmund M. Clarke.
Robotics Club: 5:30 this evening
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Dynamic Testing.
An Autonomous Self-Parking Vehicle William Whitney (Mentor: Dr. Jeff Gray) Background: NXT and Robot C The vehicle was constructed using the Lego Mindstorms.
Probabilistic Robotics Introduction. SA-1 2 Introduction  Robotics is the science of perceiving and manipulating the physical world through computer-controlled.
Get your software working before putting it on the robot!
제 9 주. 응용 -4: Robotics Artificial Life and Real Robots R.A. Brooks, Proc. European Conference on Artificial Life, pp. 3~10, 1992 학습목표 시뮬레이션 로봇과 실제 로봇을.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Certification of Reusable Software Artifacts
Newton's Second Law Studying the behavior of a propelled car.
4diac in Teaching Lessons from Lab Exercises and Student Projects
VEX IQ Curriculum Smart Machines Lesson 09 Lesson Materials:
UML Diagrams By Daniel Damaris Novarianto S..
Understanding Communication with a Robot? Activity (60 minutes)
Copyright © Cengage Learning. All rights reserved.
Verification and Validation Overview
Schedule for next 2 weeks
UML Diagrams Jung Woo.
Chapter 13 & 14 Software Testing Strategies and Techniques
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Composing Time- and Event-driven Distributed Real-time Systems
Computer Simulation of Networks
Locomotion of Wheeled Robots
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Computer Graphics Lecture 15.
Chapter 4 . Trajectory planning and Inverse kinematics
Chapter 12: Building Situated Robots
Presentation transcript:

Verifying REACT Aleks Milisevic Will Noble Martin Rinard Stelios Sidiroglou-Douskos Damien Zufferey

Overview and Challenges Programming robots + making sure it works [without a PhD in robotics/control theory/…] Programming: Interactions between robots Interactions with the environment Verification: Discrete programs in a continuous world Nothing against control theory, it’s just that not everybody has the right background (i.e. me). What Aleks presented before was mostly about interactions between robots I’ll comment some more on the question of discretization of the world And speak about a lower level continuous view: setting speed to 0 in the program does not instantaneously stop an object with inertia

Simple model vs real world Coordination language: planning and functionality Discrete API / IR Continuous Hybrid language: controller, sensor, and actuator

Coordination Programming: model-based, event-driven paradigm Global view of entire system High-level: “move to” rather than setting power on the motor Discrete time step and instantaneous actions Verification State-space exploration: exhaustive search of possible program executions to find incorrect behaviors Discrete of state-space is “easier” to explore

Discretizing the world Semantics of (1,1): anywhere within the box abstraction of the real world Problem: spurious transitions (arbitrarily close to the borders) Solution: rather than being exact tolerate some error focus on the likely paths 1 2 1 Discretization = abstraction Spurious transitions: do not exists in the original system, but introduced by the abstraction Quantifying the error: probabilities 2

Likely transitions 1 2 1 2 Steer the exploration toward likely Quantifying the error: probabilities Steer the exploration toward likely paths and avoid spurious ones. On the other hand, bugs are mostly found in corner cases (unlikely). 2

Delay bounding Let the verifier pick some unlikely transitions, i.e. introduce “delays”. Consider likely paths where a bounded number of improbable transitions can happen. Strategy for bounding problems: In the limit, equivalent to the original problem Interesting things happens for low bounds More practical / better complexity Goal: remove the spurious bugs and keep the real bugs

Link to the actual world Discrete controller + continuous dynamics = hybrid system Finite automaton + ODEs Complicated model, but simple properties: “move to (x,y,z)” (for a given robot and controller) Is it doable ? Accurately enough ? if we want to say something like collision, we have to say connect the code to the environment through a model of the robot usually those two parts are separated eventually: code from continuous steps More difficult: most properties are undecidable

Hybrid system: example Spherical car moving along a line in frictionless vacuum.   cruise accelerate     obstacle stopped brake      

Hybrid system: trace brake stopped accelerate cruise

Simulation vs verification Unfortunately, sensors and actuators have bias, noise, drift… Looking at a few traces (simulation) is not enough. To verify a system, we must ideally look at all the traces. “Run” the system on intervals instead of points.

Hybrid system: flowpipes brake Flowpipe: trace + interval Transition between modes introduce imprecision stopped accelerate cruise

Using the language to simplify the verification Programing language: Discrete: sample-hold controller Continuous: ODEs from robot description Model checking: Turn the model into code, rather than extract model from code Sample-hold: easier to check discrete and continuous separately Property: simple movement (functionality checked in layer above) a bit of history: previously: putting time in the language (giotto) now: putting geometry/dynamics in the language (hardware/software split) MC, read it as: work only on model, not actual code SH: avoid zeno behavior, discrete run-to-completion semantics Cannot check complex properties in an hybrid system, needs either a bounded horizon or systems that stabilizes quickly

Dynamic of robots Typical verification of hybrid systems: Dynamic is given [by magic] The robotic / mechanical engineering community seems to already have systems to specify the physical properties of robots: Constructive solid geometry + Bond graphs ROS URDF + GAZEBO extension Bond graph / Modelica Constructive solid geometry / Openscad Geometry: properties like collision Dynamics: evolution

Pointers to the appropriate references/tools are appreciated. Thx. Dynamic of robots controller Synergy: -the robot description => the dynamics -robot + environment => adapt the size of the discretization Pointers to the appropriate references/tools are appreciated. Thx. Opportunities for collaborations.