Integrated Formal Methods

Symbolic execution is a program analysis technique that can automatically explore and analyse paths through a program. While symbolic execution was initially introduced in the seventies, it has only received significant attention during the last decade, due to tremendous advances in constraint solving technology and effective blending of symbolic and concrete execution into what is often called dynamic symbolic execution. Dynamic symbolic execution is now a key ingredient in many computer science areas, such as software engineering, computer security, and software systems, to name just a few. In this talk, I will discuss recent advances and ongoing challenges in the area of dynamic symbolic execution, drawing upon our experience developing several symbolic execution tools for many different problems, such as high-coverage test input generation, bug and security vulnerability detection, patch testing and bounded verification, among many others. Modelling and Verification for Swarm Robotics Ana Cavalcanti, Alvaro Miyazawa, Augusto Sampaio, Wei Li, Pedro Ribeiro and Jon Timmis 1 Department of Computer Science, University of York, UK 2 Centro de Informática, Universidade Federal de Pernambuco, Brazil 3 Department of Electronic Engineering, University of York, UK Abstract. RoboChart is a graphical domain-specific language, based on UML, but tailored for the modelling and verification of single robot systems. In this paper, we introduce RoboChart facilities for modelling and verifying heterogeneous collections of interacting robots. We propose a new construct that describes the collection itself, and a new communication construct that allows fine-grained control over the communication patterns of the robots. Using these novel constructs, we apply RoboChart to model a simple yet powerful and widely used algorithm to maintain the aggregation of a swarm. Our constructs can be useful also in the context of other diagrammatic languages, including UML, to describe collections of arbitrary interacting entities. RoboChart is a graphical domain-specific language, based on UML, but tailored for the modelling and verification of single robot systems. In this paper, we introduce RoboChart facilities for modelling and verifying heterogeneous collections of interacting robots. We propose a new construct that describes the collection itself, and a new communication construct that allows fine-grained control over the communication patterns of the robots. Using these novel constructs, we apply RoboChart to model a simple yet powerful and widely used algorithm to maintain the aggregation of a swarm. Our constructs can be useful also in the context of other diagrammatic languages, including UML, to describe collections of arbitrary interacting entities. Program Correctness under Weak Memory Consistency

[1]  Atif Mashkoor,et al.  How to Select the Suitable Formal Method for an Industrial Application: A Survey , 2016, ABZ.

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

[3]  Radu Grosu,et al.  Collision Avoidance for Mobile Robots with Limited Sensing and Limited Information About the Environment , 2015, RV.

[4]  Jonathan Lawry,et al.  Formal Specification and Analysis of Autonomous Systems under Partial Compliance , 2016 .

[5]  Clare Dixon,et al.  A corroborative approach to verification and validation of human–robot teams , 2016, Int. J. Robotics Res..

[6]  Koen V. Hindriks,et al.  Toward a programming theory for rational agents , 2009, Autonomous Agents and Multi-Agent Systems.

[7]  Reid G. Simmons,et al.  Towards automatic verification of autonomous systems , 2000, Proceedings. 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2000) (Cat. No.00CH37113).

[8]  Michael Fisher,et al.  Modular Verification of Vehicle Platooning with Respect to Decisions, Space and Time , 2018, FTSCS.

[9]  Michael Fisher,et al.  Generating Certification Evidence for Autonomous Unmanned Aircraft Using Model Checking and Simulation , 2014, J. Aerosp. Inf. Syst..

[10]  J. L. Rash,et al.  Requirements of an integrated formal method for intelligent swarms , 2005, FMICS '05.

[11]  Wei Li,et al.  Modelling and Verification of Timed Robotic Controllers , 2017, IFM.

[12]  Michael Wooldridge,et al.  The dMARS Architecture: A Specification of the Distributed Multi-Agent Reasoning System , 2004, Autonomous Agents and Multi-Agent Systems.

[13]  Jesper Andersson,et al.  FORMS: a formal reference model for self-adaptation , 2010, ICAC '10.

[14]  Sandor M. Veres,et al.  A stochastically verifiable autonomous control architecture with reasoning , 2016, 2016 IEEE 55th Conference on Decision and Control (CDC).

[15]  Sanjit A. Seshia,et al.  Combining Model Checking and Runtime Verification for Safe Robotics , 2017, RV.

[16]  Clare Dixon,et al.  Toward Reliable Autonomous Robotic Assistants Through Formal Verification: A Case Study , 2016, IEEE Transactions on Human-Machine Systems.

[17]  Michael Fisher,et al.  Verifying autonomous systems , 2013, CACM.

[18]  Antonios Tsourdos,et al.  Verification of heterogeneous multi-agent system using MCMAS , 2015, Int. J. Syst. Sci..

[19]  Xun Gong,et al.  Sneak-Peek: High speed covert channels in data center networks , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[20]  Richard M. Murray,et al.  Safety verification of a fault tolerant reconfigurable autonomous goal-based robotic control system , 2007, 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[21]  Graeme Smith,et al.  MAZE: An Extension of Object-Z for Multi-Agent Systems , 2014, ABZ.

[22]  Michael Fisher,et al.  Formal verification of autonomous vehicle platooning , 2016, Sci. Comput. Program..

[23]  Vinod Yegneswaran,et al.  Model checking invariant security properties in OpenFlow , 2013, 2013 IEEE International Conference on Communications (ICC).

[24]  Matthias Althoff,et al.  Formalising and Monitoring Traffic Rules for Autonomous Vehicles in Isabelle/HOL , 2017, IFM.

[25]  Arnaud Lanoix,et al.  Using CSP||B Components: Application to a Platoon of Vehicles , 2009, FMICS.

[26]  Brighten Godfrey,et al.  Enforcing Customizable Consistency Properties in Software-Defined Networks , 2015, NSDI.

[27]  Sarfraz Khurshid,et al.  Verification of Multi-agent Negotiations Using the Alloy Analyzer , 2007, IFM.

[28]  Andreas Rausch,et al.  Towards the Verification of Safety-critical Autonomous Systems in Dynamic Environments , 2016, V2CPS@IFM.

[29]  Kerstin Eder,et al.  Symmetry Reduction Enables Model Checking of More Complex Emergent Behaviours of Swarm Navigation Algorithms , 2015, TAROS.

[30]  Ewen Denney,et al.  Automating the Assembly of Aviation Safety Cases , 2014, IEEE Transactions on Reliability.

[31]  Clare Dixon,et al.  Analysing robot swarm behaviour via probabilistic model checking , 2012, Robotics Auton. Syst..

[32]  Nadeem Akhtar,et al.  Contribution to the Formal Specification and Verification of a Multi-Agent Robotic System , 2015, ArXiv.

[33]  Z. M. Bi,et al.  Development of reconfigurable machines , 2008 .

[34]  Fanny Dufossé,et al.  Specifying Safety Monitors for Autonomous Systems Using Model-Checking , 2014, SAFECOMP.

[35]  Rafael H. Bordini,et al.  Model checking agent programming languages , 2012, Automated Software Engineering.

[36]  Martin Gogolla,et al.  Using Models at Runtime to Address Assurance for Self-Adaptive Systems , 2015, Models@run.time@Dagstuhl.

[37]  Hadas Kress-Gazit,et al.  Decentralized control of robotic swarms from high-level temporal logic specifications , 2017, 2017 International Symposium on Multi-Robot and Multi-Agent Systems (MRS).

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

[39]  Alexandra Silva,et al.  Cantor meets Scott: semantic foundations for probabilistic networks , 2016, POPL.

[40]  Elena Troubitsyna,et al.  Formal Development and Assessment of a Reconfigurable On-board Satellite System , 2012, SAFECOMP.

[41]  Danny Weyns,et al.  A survey of formal methods in self-adaptive systems , 2012, C3S2E '12.