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.
翻译:模块化是整个网络物理系统设计过程中的核心原则。 模块化会降低复杂性并增加行为再利用。 在本文中, 我们提出并回答以下问题: 我们如何在反应式控制结构的结构中识别独立的“ 模块 ”? 为此, 我们提议了一个图形结构化的控制架构, 我们称之为决策结构, 并展示它如何概括一些在人工智能( AI) 和机器人( 特别是Teleo- Reactive 程序)、 决定树( DTs) 、 行为树( Behavior Trees) 和通用的“ Bhavior 树( k$- BTTTs) 中流行的被动控制架构。 在图形理论中定义一个模块定义独立的“ 模块 模块 ”? 我们定义了一个模块, 并展示了每个决策结构是如何将一个卡通的分解到模块中。 我们可以自然地将每个BTs、 $k$- BTT、 DTs and TRs) 以模块保存的特性来替换这些模块中的决定结构与这些结构的相对等值( ) 。 在图表中, 我们的校正化的校验模型中, 一个模型中, 将一个校正校验结构中, 显示一个校正的操作结构中, 将一个校验结构中, 显示一个校正的操作一个校正。