On modularity in reactive control architectures, with an application to formal verification

by   Oliver Biggar, et al.

Modularity is a central principle throughout the design process for cyber-physical systems. Modularity reduces complexity and increases reuse of behavior. In this paper we pose and answer the following question: how can we identify independent `modules' within the structure of reactive control architectures? To this end, we propose a graph-structured control architecture we call a decision structure, and show how it generalises some reactive control architectures which are popular in Artificial Intelligence (AI) and robotics, specifically Teleo-Reactive programs (TRs), Decision Trees (DTs), Behavior Trees (BTs) and Generalised Behavior Trees (k-BTs). Inspired by the definition of a module in graph theory, we define modules in decision structures and show how each decision structure possesses a canonical decomposition into its modules. We can naturally characterise each of the BTs, k-BTs, DTs and TRs by properties of their module decomposition. This allows us to recognise which decision structures are equivalent to each of these architectures in quadratic time. Our proposed concept of modules extends to formal verification, under any verification scheme capable of verifying a decision structure. Namely, we prove that a modification to a module within a decision structure has no greater flow-on effects than a modification to an individual action within that structure. This enables verification on modules to be done locally and hierarchically, where structures can be verified and then repeatedly locally modified, with modules replaced by modules while preserving correctness. To illustrate the findings, we present an example of a solar-powered drone controlled by a decision structure. We use a Linear Temporal Logic-based verification scheme to verify the correctness of this structure, and then show how one can modify modules while preserving its correctness.


page 1

page 2

page 3

page 4


An expressiveness hierarchy of Behavior Trees and related architectures

In this paper we provide a formal framework for comparing the expressive...

Verification of Design Decisions in Communication Protocol by Evaluation of Temporal Logic Formulas

During the project of a communication protocol, many design decisions in...

Calculational Verification of Reactive Programs with Reactive Relations and Kleene Algebra

Reactive programs are ubiquitous in modern applications, and thus verifi...

Automated Verification of Reactive and Concurrent Programs by Calculation

Reactive programs combine traditional sequential programming constructs ...

A principled analysis of Behavior Trees and their generalisations

As complex autonomous robotic systems become more widespread, the goals ...

Temporal Verification with Answer-Effect Modification

Type-and-effect systems are a widely-used approach to program verificati...

Rule Module Inheritance with Modification Restrictions

Adapting rule sets to different settings, yet avoiding uncontrolled prol...

Please sign up or login with your details

Forgot password? Click here to reset