Skip to main content
QUICK REVIEW

[논문 리뷰] On modularity in reactive control architectures, with an application to formal verification

Oliver Biggar, Mohammad Zamani|arXiv (Cornell University)|2020. 08. 28.
Formal Methods in Verification인용 수 5
한 줄 요약

이 논문은 행동 트리, 텔레오-리엑티브 프로그램, 결정보수 트리와 같은 반응형 제어 시스템을 일반화하는 그래프 기반 제어 아키텍처인 결정보구조를 소개한다. 그래프 이론에서 유도된 공식적 모듈 개념을 통해 모듈화를 정의함으로써, 독립적이고 검증 가능한 구성 요소로 다항 시간 내에 분해할 수 있다. 주요 기여는 모듈을 수정할 경우 영향을 받는 것이 그 모듈의 국소적 맥락뿐임을 보장함으로써 정확성을 유지하는 계층적 검증 프레임워크를 제공하는 것이다. 이는 복잡한 사이버-물리 시스템의 형식적 검증을 보장되는 모듈성과 구성 가능성과 함께 가능하게 한다.

ABSTRACT

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.

연구 동기 및 목표

  • 반응형 제어 아키텍처에서 모듈성을 수학적으로 기반한 공식적 정의를 확립하기 위해.
  • 행동 트리, 텔레오-리엑티브 프로그램, 결정보수 트리, k-행동 트리와 같은 다양한 제어 철학을 단일 그래프 이론적 프레임워크로 통합하기 위해.
  • 모듈의 수정이 그 자체의 국소적 맥락에만 영향을 미치도록 보장함으로써 계층적이고 국소적인 형식적 검증을 가능하게 하기 위해.
  • 건축적 표현력과 모듈성을 특징짓는 복잡도 척도인 필수 복잡도를 제공하기 위해.
  • 검증된 제어 구조가 모듈 수준에서 점진적으로 수정되면서도 정확성이 유지됨을 보여주기 위해.

제안 방법

  • 기존 제어 아키텍처를 일반화하는 방향성 있는 사이클 없는 그래프로서 레이블이 부여된 노드와 간선을 가진 결정 구조를 도입한다.
  • 그래프 이론에서 유래한 모듈 정의를 영감으로 삼아, 들어오는 이웃과 나가는 이웃이 동일한 노드의 부분집합으로서 모듈을 정의한다.
  • 임의의 결정 구조를 그 최대 모듈로 분해하는 데 다항 시간 알고리즘(O(n²k))을 개발한다.
  • 구조적 모듈성의 척도로 필수 복잡도를 정의한다. 이는 모든 모듈들 중에서 최대 순환 복잡도로 정의된다.
  • k-행동 트리가 정확히 필수 복잡도가 1인 결정 구조임을 증명한다.
  • 모듈의 수정이 그 자체의 행동에만 영향을 미치며, 경계를 초월해 퍼지지 않음을 증명함으로써, 국소적이고 계층적인 검증이 가능하다는 점을 적용하여 형식적 검증에 응용한다.

실험 결과

연구 질문

  • RQ1어떻게 반응형 제어 아키텍처에서 모듈성을 공식적으로 정의할 수 있을까? 이를 통해 구성적 설계와 검증이 가능하게 할 수 있는가?
  • RQ2행동 트리(BTs), k-BTs, TRs, DTs와 같은 다양한 제어 아키텍처를 단일 형식적 프레임워크로 통합할 수 있는가?
  • RQ3제어 아키텍처 내에서 모듈러 구성 요소를 식별하는 데 필요한 계산 복잡도는 얼마인가?
  • RQ4제안된 모듈성 개념은 구조적 프로그래밍과 소프트웨어 공학에서 알려진 개념과 어떻게 관련이 있는가?
  • RQ5모듈의 국소적 수정이 형식적 검증 하에서 전체 시스템의 정확성을 유지하는가를 보장할 수 있는가?

주요 결과

  • 임의의 결정 구조의 표준 분해는 노드 수 n과 레이블 수 k에 대해 O(n²k) 시간 내에 계산할 수 있다.
  • 제안된 모듈은 행동 트리, k-행동 트리, 결정보수 트리에서 정확히 서브트리와 일치하며, 일대일 대응 관계를 수립한다.
  • k-행동 트리는 필수 복잡도가 1인 결정 구조로 정확히 특징지어지며, 새로운 구조적 특성화를 제공한다.
  • 결정 구조의 필수 복잡도는 그 모듈들 중에서 최대 순환 복잡도와 동일하며, 이는 모듈성의 정량적 척도를 가능하게 한다.
  • 모듈의 수정은 그 자체의 행동에만 영향을 미치며, 경계를 초월해 영향을 전파하지 않는다. 이는 국소적 검증을 가능하게 한다.
  • 형식적 검증은 계층적으로 수행될 수 있다: 검증된 구조는 새로운 모듈로 모듈을 교체함으로써 점진적으로 수정될 수 있으며, 새로운 모듈이 동일한 사양을 충족한다면 정확성이 유지된다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.