Formal specification, refinement, and implementation of path planning

We investigate navigation algorithms, and specif­ically path planning, a fundamental function of autonomous robots. We formally address the issue of enhancing reliability of the widely-used A∗ path planning algorithm. In our step-wise refinement process, we capture successively more concrete specifications by transforming a high-level specification into an equivalent executable program. To elaborate an initial repre­sentation of the A∗ algorithm, we express it in an abstract and intuitive, yet formal, description. We use traditional mathematical concepts, such as sets, functions and predicate logic to capture this description. We then use the Z specification language to effect the transformation from the mathematical description into Z schemas, thus obtaining a formal specification. We use CZT to perform syntax and type checking and the Z/EVES tool to automatically prove some properties about the specification. Subsequently, we use the Z formal refinement theory to generate the implementation specification. This stage involves both data and operation refinement and is carried out in several basic sub-steps. A Java-based simulation prototype that mirrors the implementation specification is developed in order to demonstrate the applicability of our software development approach.

[1]  Mark Saaltink The Z/EVES System , 1997, ZUM.

[2]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[3]  Ian J. Hayes Applying Formal Specification to Software Development in Industry , 1985, IEEE Transactions on Software Engineering.

[4]  DPhil John Derrick BSc,et al.  Refinement in Z and Object-Z , 2001, Formal Approaches to Computing and Information Technology.

[5]  Steven M. LaValle,et al.  Planning algorithms , 2006 .

[6]  Thomas Bak,et al.  Planning : A Timed Automata Approach , 2004 .

[7]  Boumediene Belkhouche,et al.  A method for robot navigation toward a moving goal with unknown maneuvers , 2005, Robotica.

[8]  Hyoungki Lee,et al.  Formal Verification of Robot Movements - a Case Study on Home Service Robot SHR100 , 2005, Proceedings of the 2005 IEEE International Conference on Robotics and Automation.

[9]  George J. Pappas,et al.  Hybrid Controllers for Path Planning: A Temporal Logic Approach , 2005, Proceedings of the 44th IEEE Conference on Decision and Control.

[10]  Calin Belta,et al.  Robust multi-robot optimal path planning with temporal logic constraints , 2012, 2012 IEEE International Conference on Robotics and Automation.

[11]  Jan Friso Groote,et al.  Analysis of Path Planning Algorithms: a Formal Verification-based Approach , 2013, ECAL.

[12]  Eerke A. Boiten,et al.  Refinement in Z and Object-Z , 2014, Springer London.

[13]  John Rushby,et al.  Formal Methods and the Certification of Critical Systems , 2004 .

[14]  Carroll Morgan,et al.  Specification of the UNIX Filing System , 1984, IEEE Transactions on Software Engineering.

[15]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.