ROSCoq: Robots Powered by Constructive Reals

We present ROSCoq, a framework for developing certified Coq programs for robots. ROSCoq subsystems communicate using messages, as they do in the Robot Operating System (ROS). We extend the logic of events to enable holistic reasoning about the cyber-physical behavior of robotic systems. The behavior of the physical world (e.g. Newton’s laws) and associated devices (e.g. sensors, actuators) are specified axiomatically. For reasoning about physics we use and extend CoRN’s theory of constructive real analysis. Instead of floating points, our Coq programs use CoRN’s exact, yet fast computations on reals, thus enabling accurate reasoning about such computations.

[1]  Bas Spitters,et al.  Type classes for mathematics in type theory† , 2011, Mathematical Structures in Computer Science.

[2]  André Platzer,et al.  KeYmaera: A Hybrid Theorem Prover for Hybrid Systems (System Description) , 2008, IJCAR.

[3]  Mark Bickford,et al.  The Logic of Events, a framework to reason about distributed systems , 2012 .

[4]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[5]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[6]  Mehmet Remzi Dogar,et al.  Towards Coordinated Precision Assembly with Robot Teams , 2014, ISER.

[7]  Thorsten Joachims,et al.  Contextually guided semantic labeling and search for three-dimensional point clouds , 2013, Int. J. Robotics Res..

[8]  Hadas Kress-Gazit,et al.  Synthesis for multi-robot controllers with interleaved motion , 2014, 2014 IEEE International Conference on Robotics and Automation (ICRA).

[9]  Herman Geuvers,et al.  Automated Machine-Checked Hybrid System Safety Proofs , 2010, ITP.

[10]  Mark Bickford,et al.  Introduction to EventML , 2012 .

[11]  Carolyn L. Talcott,et al.  Cyber-Physical Systems and Events , 2008, Software-Intensive Systems and New Computing Paradigms.

[12]  André Platzer,et al.  ModelPlex: verified runtime validation of verified cyber-physical system models , 2014, Formal Methods in System Design.

[13]  Mark Bickford,et al.  Developing Correctly Replicated Databases Using Formal Tools , 2014, 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.

[14]  César A. Muñoz,et al.  Formal Verification of Conflict Detection Algorithms for Arbitrary Trajectories , 2012, Reliab. Comput..

[15]  Anthony Cowley,et al.  Stream-oriented robotics programming: The design of roshask , 2011, 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[16]  Bas Spitters,et al.  Type classes for efficient exact real arithmetic in Coq , 2011, Log. Methods Comput. Sci..

[17]  André Platzer,et al.  Logics of Dynamical Systems , 2012, 2012 27th Annual IEEE Symposium on Logic in Computer Science.

[18]  Xi Wang,et al.  Verdi: a framework for implementing and formally verifying distributed systems , 2015, PLDI.

[19]  Rajeev Alur,et al.  Formal verification of hybrid systems , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[20]  Thomas A. Henzinger,et al.  Hybrid Automata: An Algorithmic Approach to the Specification and Verification of Hybrid Systems , 1992, Hybrid Systems.

[21]  Leslie Lamport,et al.  Buridan’s Principle , 2012 .

[22]  Antonio José Durán Guardeño,et al.  The Misfortunes of a Trio of Mathematicians Using Computer Algebra Systems. Can We Trust in Them , 2014 .

[23]  André Platzer,et al.  On Provably Safe Obstacle Avoidance for Autonomous Robotic Ground Vehicles , 2013, Robotics: Science and Systems.

[24]  Nicholas Roy,et al.  Guaranteeing High-Level Behaviors While Exploring Partially Known Maps , 2013 .