Run-time verification of regularly expressed behavioral properties in robotic systems with logic-labeled finite state machines

More and more, pre-runtime testing or verification of software in robotic systems is not feasible. For example, autonomous robots using learning behaviors to handle new environments. What sort of software architecture would then enable runtime-verification? We propose that logic-labeled finite-state machines (LLFSMs), jointly with regular expressions are a potent tool to describe acceptable and unacceptable system behaviors. Our architecture has the advantage of expressive power, since sometimes regular expressions are more succinct and comprehensible, while other times, the visual display of the LLFSM would be more accessible to requirements engineers. Moreover, LLFSMs have a prescribed schedule that enables their comprehensive testing and formal verification, and in similar ways, allows monitoring at run-time. The architecture facilitates verification of monitor LLFSMs and higher safety than alternatives such as ROSRV. Moreover, for a subset of LTL (co-safe LTV), LLFSMs can be synthesised from LTL constraints.

[1]  Miro Samek,et al.  Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems , 2008 .

[2]  Leslie Lamport,et al.  Using Time Instead of Timeout for Fault-Tolerant Distributed Systems. , 1984, TOPL.

[3]  Rodney A. Brooks,et al.  A Robust Layered Control Syste For A Mobile Robot , 2022 .

[4]  Barbara Hayes-Roth,et al.  A Blackboard Architecture for Control , 1985, Artif. Intell..

[5]  Vladimir Estivill-Castro,et al.  Requirements Engineering via Non-monotonic Logics and State Diagrams , 2010, ENASE.

[6]  Andrew Howard,et al.  Design and use paradigms for Gazebo, an open-source multi-robot simulator , 2004, 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No.04CH37566).

[7]  Maja J. Mataric,et al.  Integration of representation into goal-driven behavior-based robots , 1992, IEEE Trans. Robotics Autom..

[8]  Andreas Krüger,et al.  The design of large real-time systems: the time-triggered approach , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[9]  Vladimir Estivill-Castro,et al.  Modeling, Validation, and Continuous Integration of Software Behaviours for Embedded Systems , 2015, 2015 IEEE European Modelling Symposium (EMS).

[10]  Lydia E. Kavraki,et al.  Towards manipulation planning with temporal logic specifications , 2015, 2015 IEEE International Conference on Robotics and Automation (ICRA).

[11]  Vladimir Estivill-Castro,et al.  High Performance Relaying of C++11 Objects across Processes and Logic-Labeled Finite-State Machines , 2014, SIMPAR.

[12]  David Maier,et al.  Computing with Logic: Logic Programming with Prolog , 1988 .

[13]  Nils J. Nilsson,et al.  Teleo-Reactive Programs and the Triple-Tower Architecture , 2001, Electron. Trans. Artif. Intell..

[14]  Orna Kupferman,et al.  Model Checking of Safety Properties , 1999, CAV.

[15]  Vladimir Estivill-Castro,et al.  Efficient Modelling of Embedded Software Systems and their Formal Verification , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[16]  Alexandre Duret-Lutz,et al.  LTL translation improvements in Spot 1.0 , 2014, Int. J. Crit. Comput. Based Syst..

[17]  David Broman,et al.  Time-Aware Applications, Computers, and Communication Systems (TAACCS) , 2015 .

[18]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[19]  Johann Schumann,et al.  Software health management: a necessity for safety critical systems , 2013, Innovations in Systems and Software Engineering.

[20]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

[21]  KuhnRick,et al.  Software Testing [Guest editors' introduction] , 2014 .

[22]  François Michaud,et al.  Robotic Software Integration Using MARIE , 2006 .

[23]  Roman L. Lysecky,et al.  Security challenges for medical devices , 2015, Commun. ACM.

[24]  Yi Zhang,et al.  ROSRV: Runtime Verification for Robots , 2014, RV.

[25]  Roland Siegwart,et al.  Introduction to Autonomous Mobile Robots , 2004 .

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

[27]  Vladimir Estivill-Castro,et al.  Architecture for logic programing with arrangements of finite-state machines , 2016, 2016 1st CPSWeek Workshop on Declarative Cyber-Physical Systems (DCPS).

[28]  Vladimir Estivill-Castro,et al.  Correctness by Construction with Logic-Labeled Finite-State Machines -- Comparison with Event-B , 2014, 2014 23rd Australian Software Engineering Conference.