동작 트리

Behavior tree
요건을 벗어난 시스템 구축– 동적 뷰
요건을 벗어난 시스템 구축– 정적 뷰

동작 트리는 주로 시스템 및 소프트웨어 엔지니어링에서 사용되는 공식 그래픽 모델링 언어입니다.행동 트리는 일반적으로 대규모 소프트웨어 통합 [1][2][3][4]시스템에 대한 이해당사자의 요구를 표현하기 위해 사용되는 수백 또는 수천 개의 자연어 요구사항을 모호하게 나타내기 위해 잘 정의된 표기법을 사용합니다.

개요

대규모 시스템에 필요한 많은 자연어 요건은 단기적인 메모리[1][5] 과부하의 원인이 되며, 이로 인해 누구나 시스템 [6]요구를 깊고 정확하며 총체적으로 이해할 수 없게 되는 장벽이 생길 수 있습니다.또한 자연어 사용으로 인해 요구사항 [3]정보와 관련된 모호성, 별칭, 불일치, 중복성 및 불완전성 문제가 많이 발생할 수 있습니다.이것은 불확실성과 복잡성을 더한다.일반적으로는 기껏해야 시스템의 일부나 상황을 잘 이해하는 사람이 몇 명이지만, 전체, 즉 시스템의 세부 통합 동작을 피상적으로 이해하는 사람 외에는 아무도 없습니다.

행동은 트리 표시,(는 별칭과 함께 다른 어휘 문제 해결하는 글 tree[7]표현의 도움으로 요건의 큰 세트)사람들과 시스템 needs[1]의 모든 이해 관계자들 때문에 그것에 의해 이해될 수 있는 깊고 정확한, 전체론적 표현을 단기 기억 오버로드를 피할 수 있습니다.엄격tly는 원래 요구 사항의 어휘를 사용합니다.동작 트리 표기법은 형식적인 의미론을 사용하기 때문에 어떤 예에서도 이미 실행 가능하거나 실행 가능하게 할 수 있습니다.

동작 트리 폼

4가지 요건 동작 트리 세트
요건 통합 프로세스

단일 및 복합 또는 통합 동작 트리 형식은 시스템 및 소프트웨어 엔지니어링에서 동작 트리를 적용하는 데 모두 중요합니다.

  • 요건 동작 트리:처음에 개별 요구사항 행동 트리(RBT)는 엄격하고 의도적이며 어휘를 보존하는 번역 프로세스를 통해 각 개별 자연 언어 요구사항의 모든 행동 조각을 캡처하기 위해 사용됩니다.번역 프로세스에서는 본래의 자연어 요건에서 다양한 결함이 발견될 수 있습니다.
  • 통합 동작 트리:일련의 요건은 시스템의 통합 동작을 의미하므로 모든 개별 요건 행동 트리는 시스템의 새로운 통합 동작에 대한 단일 전체 뷰를 제공하는 통합 행동 트리(IBT)를 구축하기 위해 구성될 수 있습니다.이것에 의해,[8] 요건을 벗어난 시스템의 통합 동작을 구축할 수 있습니다.이 과정을 설명하는 데 도움이 되는 유추는 무작위로 배치된 직소퍼즐 조각에서 각 조각을 적절한 위치에 놓는 것으로의 이행이다.이렇게 하면 의도된 맥락에서 각각의 정보를 볼 수 있고 정보의 전체와 전체의 새로운 속성을 볼 수 있습니다.

모든 요건을 행동 트리(RBT)로 변환하는 것은 직소퍼즐의 모든 조각을 테이블 위에 랜덤하게 펼쳐 놓는 것과 비슷합니다.모든 조각을 합칠 때까지 새로운 그림을 볼 수 없고 조각이 누락되거나 맞지 않는지 확인할 수 없습니다.Integrated Behavior Tree(IBT; 통합 동작 트리)를 구축하면 [2][3]이 작업을 수행할 수 있습니다.

행동 엔지니어링 프로세스

사용된 표현– (긴급)
  • 행동 트리는 복잡한 시스템에 대한 공통의 이해를 높이기 위한 수단을 제공합니다.
  • 전체 프로세스에서 COMPOSITION TREE의 역할은 시스템의 대규모 요건과 관련된 불완전한 지식을 극복하기 위한 수단을 제공하는 것입니다.
사용되는 프로세스– (긴급)
  • 행동 엔지니어링에서는 동작 트리를 사용하여 복잡함을 제어하면서 복잡한 시스템에 대한 이해를 공유합니다.
  • 복잡한 시스템에 대한 공유된 전체적인 이해는 요건을 통합하기 때문에 요건에 의해 암시되는 시스템의 새로운 동작을 보여줍니다.
행동 모델링 프로세스의 단계

역사

행동 트리와 시스템 및 소프트웨어 엔지니어링에서의 그 적용에 관한 개념은 2001년 [11]Dromey에[2][3][9][10] 의해 최초로 개발되었으며, 주요 아이디어 중 일부를 2001년에 처음 출판했습니다.이 작업에 대한 초기 출판물에서는 행동 트리의 적용을 설명하기 위해 "유전자 소프트웨어 엔지니어링"과 "유전자 설계"라는 용어를 사용했습니다.유전자라는 단어를 처음 사용한 이유는 유전자 세트, 직소퍼즐 조각 세트 및 행동 트리로 표현되는 요건 세트가 모두 몇 가지 주요 특성을 공유하는 것처럼 보였기 때문입니다.

  • 구성하기 위한 충분한 정보를 세트로 포함하고 있습니다.동작 트리를 사용하면 요건을 충족한 시스템을 구축할 수 있습니다.
  • 부품이 조립되는 순서는 중요하지 않았다. - 복잡성에 대처하는 데 도움이 되는 요건과 함께
  • 집합의 모든 구성원을 합친 결과 통합 실체는 일련의 중요한 발생 특성을 나타냈다.

행동 트리의 경우 중요한 응급 특성은 다음과 같습니다.

  • 요건에 의해 암시된 시스템의 통합적 동작
  • 요건에 언급된 각 구성요소의 일관성 있는 동작.

다른 맥락에서 이러한 유전적 유사성은 원래 울프슨에 의해 [12]철자되었다. (A. 울프슨, Living Without Genes, Flamingo, 2000)

유전학이라는 용어의 사용에 대한 가중치는 18세기 사상가 잠바티스타 비코로부터 나왔다.그는 이렇게 말했다. "무엇을 단순히 설명할 수 있는 것이 아니라, 그것을 구성 요소로 분석할 수 있는 것은 그것이 어떻게 생겨났는지를 이해하는 것이다 – 그 기원, 그 성장, 진정한 [13]이해는 항상 유전학이다.이러한 합법적인 유전적 유사성에도 불구하고, 이러한 강조는 유전 알고리즘의 개념과 혼동을 초래하는 것으로 느껴졌다.그 결과 행동 트리를 이용하여 시스템을 구축하는 프로세스를 설명하기 위해 행동 엔지니어링이라는 용어가 도입되었습니다."행동 공학"이라는 용어는 이전에 인공지능의 전문 분야인 로봇 연구에서 사용되어 왔다.현재의 용도는 대규모 시스템을 모델링하는 데 필요한 행동 및 구성 요건의 광범위한 엄격한 공식화와 통합을 수용합니다.

행동 트리 표기법은 원래 DCCS(Dependable Complex Computer-based Systems Group - 퀸즐랜드 대학, 그리피스 대학 공동 연구 그룹)의 많은 사람들이 고안되었기 때문에 표기법의 진화 및 개선과 행동 트리 사용에 중요한 기여를 해왔다.이 그룹에는 David Carrington, Rob Colvin, Geoff Dromey, Lars Grunske, Ian Hayes, Diana Kirk, Peter Lindsay, Toby Myers, Dan Powell, John Seagrott, Cameron Smith, Larry Wen, Nisantala Papanage, Win, Win, Win, Win, Win, Win, Win이 포함됩니다.

확률론적 시간적 행동 트리는 신뢰성, 성능 및 기타 신뢰성 특성을 표현할 [14]수 있도록 최근 콜빈, 그룬스케 및 윈터에 의해 개발되었다.

주요 개념

동작 트리 표기법

동작 트리 표기법의 핵심 요소

행동 트리는 각 개별 요구사항에서 동작의 단편화를 공식적으로 나타내기 위해 사용됩니다.일반적으로 동시성이 인정되는 대규모 시스템의 동작은 추상적으로 일련의 통신 순차 프로세스로 나타납니다.동작 트리 표기법은 이러한 구성 요소 상태를 단순한 트리 같은 형식으로 캡처합니다.

동작은 상태를 실현하는 구성요소와 관계를 만들고 끊는 구성요소의 관점에서 표현됩니다.프로그래밍 언어에서 볼 수 있는 논리 및 그래픽 형식의 규칙을 사용하여 구성 요소는 작업, 구성, 이벤트, 제어 흐름, 데이터 흐름 및 [3]스레드를 지원할 수 있습니다.

행동 트리 노드의 추적성 태그(행동 트리[15] 표기법 섹션 1.2 참조)는 형식 표현을 해당하는 자연 언어 요건에 연결한다.행동 트리는 기능 요건의 자연 언어 표현으로 표현된 행동을 정확하게 포착합니다.요구사항 행동 트리는 자연어 요구사항의 어휘를 엄격히 사용하지만 모호성의 위험을 제거하기 위해 행동 구성에 그래픽 형식을 사용합니다.이를 통해 자연어 표현에서 표현된 것과 그 공식 [16]사양 사이에 직접적이고 명확하게 추적 가능한 관계를 제공합니다.

표기법의 기본은 동작은 항상 일부 컴포넌트와 관련되어 있다는 것입니다.동작의 노드를 나타내는 컴포넌트 상태는 순차적으로 또는 동시에 구성되며, 자연언어 요건에서 표현되는 동작을 나타내는 동작 트리를 구성한다.리프 노드가 있는 동작 트리는 동작을 반복하기 위해 상위 노드로 되돌아가거나(캐럿 연산자 ^를 추가함으로써 강화됨) 새 스레드를 시작할 수 있습니다(두 개의 관리 ^^에 의해 강화됨).

동작 트리는 컴포넌트의 상태 변화, 컴포넌트 간에 데이터와 제어가 전달되는 방법 및 스레드가 상호 작용하는 방법을 지정합니다.관계를 만들고 끊기 위한 구조가 있습니다.또한 메시지 전달(이벤트), 공유 변수 차단 및 동기화포함하는 프로세스 간 통신 메커니즘뿐만 아니라 구성 요소의 상태를 설정하고 테스트하는 구조도 있습니다.

동작 트리 표기법 버전 1.0 의 상세한 것에 대하여는, 「동작 트리 표기법 v1.0(2007)」[15]을 참조해 주세요.

의미론

행동 트리의 형식적 의미론은 프로세스 대수와 그 운영적 [17]의미론을 통해 주어진다.의미론은 시뮬레이션, 모델 확인 및 고장 모드와 효과 [17][18][19]분석을 개발하기 위한 기초로 사용되어 왔다.

요건 번역

요건의 번역 예
요건 동작 트리 통합

요구사항 변환은 비공식적 장벽을 넘어서는 데 사용되는 수단이다.아래의 요건 R1에 대한 번역 프로세스를 검토합니다.첫 번째 작업은 구성 요소(굵은 글씨), 행동(밑줄) 및 행동이 발생하는 순서(이탈릭)의 지표(이탈릭)를 식별하는 것입니다.그런 다음 해당 동작 트리를 구성할 수 있습니다.

이 과정의 결과로부터 분명한 것은 대명사, 한정사 등을 제외하고 본질적으로 그들이 묘사하는 행동에 기여하는 문장 내의 모든 단어가 설명되고 사용되었다는 것이다.

요건 통합

일련의 요건이 개별 요건 행동 트리로 공식화되면 통합 행동 트리의 구성을 진행하기 위해 시스템과 요건의 두 가지 공통 속성을 이용할 필요가 있습니다.

  • 일반적으로, 요건에 의해서 표현되는 동작의 단편에는, 동작이 발생하기 전에 만족할 필요가 있는 전제 조건이 항상 관련지어져 있습니다(이 전제 조건은 요건에 표현될 수도 있고 표현되지 않을 수도 있습니다).
  • 요건이 실제로 시스템의 일부인 경우 세트의 다른 요건은 (1)에 필요한 전제조건을 설정해야 한다.

동작 트리로 표시되는 요건의 경우, 이는 다른 동작 트리에서 한 트리의 루트 노드가 발생하는 위치를 찾아 해당 노드에서 두 트리를 통합하는 것입니다.

아래 예시는 R1과 R3의 두 가지 요건에 대한 요구사항 통합을 보여줍니다.즉, 이 두 가지 요건이 어떻게 상호 작용하는지 보여줍니다.

통합 동작 트리에 대한 작업

통합 동작 트리가 구성되면 해당 트리에 대해 수행할 수 있는 여러 가지 중요한 작업이 있습니다.

점검 : 결함 검출 및 수정

일반적으로 요건에 대한 통합된[1] 뷰가 있고 각 요건을 실행할 필요가 있는 동작 컨텍스트에 배치하면 많은 결함이 훨씬 더 잘 드러납니다.예를 들어, 노드에서 발생하는 일련의 조건이나 이벤트가 완전하고 일관성이 있는지 확인하는 것이 훨씬 쉽습니다.트레이서빌리티[15] 태그를 사용하면 원래 자연어 요건을 쉽게 참조할 수 있습니다.또한 통합된 동작 [20]트리에서 여러 가지 오류 및 일관성 검사를 자동화할 수 있습니다.

모든 결함이 수정되고 IBT가 논리적으로 일관되고 완전하면 원래 요건에 따라 구성된 시스템 동작의 정식 사양이 되는 모델 동작 트리(MBT)가 됩니다.이것은 분석 단계에 대해 명확하게 정의된 정지 지점입니다.다른 모델링 표기법 및 방법(예: UML 사용)에서는 모델링을 [21]중단할 수 있을 때 명확하지 않습니다.경우에 따라서는 모델 동작 트리의 일부를 변환하여 사양을 실행할 수 있도록 해야 할 수 있습니다.MBT가 실행 가능 상태가 되면 다른 많은 신뢰성 검사를 수행할 수 있습니다.

시뮬레이션

모델 동작 트리는 시스템의 동적 특성을 탐색하기 위해 쉽게 시뮬레이션할 수 있다.이러한 액티비티를 [22][23]지원하기 위해 심볼릭툴과 그래픽툴이 구성되어 있습니다.

모델 체크

모델 동작 트리를 "액션 시스템" 언어로 변환하기 위해 번역자가 작성되었습니다.특정 안전 및 보안 속성이 [18][26]충족되는지 여부를 확인할 수 있도록 이 입력을 SAL 모델[24][25] 체커에 입력할 수 있습니다.

고장 모드 및 영향 분석(FMEA)

모델 검사는 시스템[27]정상 작동 중에 위험 상태에 도달할 수 없는지 확인하기 위해 시스템 모델에 종종 적용되어 왔습니다.모형 검사를 동작 트리와 결합하여 고장 모드효과 분석(FMEA)[18]자동으로 지원할 수 있습니다.이 목적을 위해 행동 트리를 사용하는 장점은 접근법의 공식적인 방법 측면을 비전문가 사용자로부터 숨길 수 있다는 것이다.

요건의 변경

시스템의 기능 요건의 변경에 대응할 때 요구되는 이상적인 것은 다음과 같이 신속하게 결정할 수 있다는 것입니다.

  • 변경 장소,
  • 변경이 기존 시스템의 아키텍처에 미치는 영향
  • 변경의 영향을 받는 시스템 컴포넌트
  • 요건 [4]변경의 영향을 받는 컴포넌트(및 그 인터페이스)에 대해 어떤 동작을 변경할 필요가 있는지 확인합니다.

시스템은 서비스 시간에 걸쳐 많은 변화를 겪을 가능성이 높기 때문에 변경 시퀀스에 따라 시스템의 진화를 기록, 관리 및 최적화할 필요도 있습니다.

기능요건을 나타내기 위해 형식적인 표기법으로서 행동목을 사용하는 추적성 모델은 요구사항의 [28]변경에 의해 야기되는 다양한 유형의 설계구조(문서)에 대한 변경 영향을 드러낸다.이 모델은 설계의 변경 이력을 기록하는 진화적 설계 문서의 개념을 도입합니다.이러한 문서에서 설계 문서의 모든 버전과 두 버전의 차이를 검색할 수 있습니다.이 모델의 중요한 장점은 이러한 진화적 설계 문서를 생성하는 절차의 주요 부분을 자동화된 [20]도구로 지원할 수 있다는 것입니다.

코드 생성 및 실행

시스템 통합 동작의 동작 트리 표현은 실행 가능한 모델로서 몇 가지 중요한 이점을 제공합니다.컴포넌트 통합 태스크개별 컴포넌트 구현 태스크를 명확히 구분합니다.요건을 통합함으로써 발생하는 시스템의 통합 동작을 설계 결정을 적용하여 설계를 작성하기 위한 기초로서 사용할 수 있습니다.그 결과 원래 요건을 기반으로 작성된 실행 가능한 멀티스레드 컴포넌트 통합 사양인 Design Behavior Tree(DBT;[3] 설계 동작 트리)가 생성됩니다.

동작 트리 모델은 동작 런타임 환경(BRE)이라는 가상 시스템에서 실행됩니다.BRE는 미들웨어를 [29]사용하여 컴포넌트를 링크하여 컴포넌트를 분산 환경에서 실행할 수 있는 여러 언어 중 하나로 작성된 독립된 프로그램으로 만들 수 있습니다.BRE에는 간단한 조작을 자동으로 실행하여 컴포넌트에 수동으로 구현해야 하는 코드의 양을 최소화하는 식 파서도 포함되어 있습니다.

구성 요소 구현은 DBT에서 자동으로 추출할 수 있는 보기에서 지원됩니다.이러한 보기는 개별 구성요소의 인터페이스와 함께 개별 구성요소의 구성요소 행동 트리(CBT)를 제공합니다.이 정보는 각 개별 구성요소에 대해 캡처된 통합 구성 트리(ICT)의 정보와 함께 각 개별 구성요소를 구현하는 데 필요한 정보를 제공합니다.

시스템 구성과 행동 엔지니어링 구성요소 통합 환경(BECIE)을 사용하여 여러 BRE를 서로 연결하여 복잡한 시스템을 구성할 수 있습니다.BECIE는 산업 프로세스 제어에 사용되는 감시 제어데이터 수집(SCADA) 시스템과 마찬가지로 BRE 내에서 실행되는 동작 트리 모델을 감시 및 제어하는 데도 사용됩니다.

실행 가능한 행동 트리는 자동 열차 보호,[30] 동적 객체 추종 기능이 있는 모바일 로봇, 보행용 주입[19] 펌프 및 신호등 관리 시스템을 포함한 사례[21] 연구를 위해 개발되었습니다.임베디드 시스템(eBRE)에 적합한 BRE 버전도 있으며, 기능이 축소되어 소형 마이크로 컨트롤러에 맞출 수 있습니다.

적용들

행동 트리 모델링은 여러 해에 걸쳐 다양한 범위의 애플리케이션에 적용될 수 있고 적용되어 왔다.주요 응용 분야 중 일부를 아래에 설명합니다.

대규모 시스템

대규모 자연어 요건을 갖춘 대규모 시스템을 모델링하는 것은 항상 행동 트리와 전체적인 행동 엔지니어링 프로세스의 주요 초점이었다.이 방법에 대한 이러한 평가 및 시험 수행에는 호주의 여러 산업 파트너 및 정부 부처와의 작업이 수반되었습니다.연구 대상 시스템에는 엄격한 안전 요건을 갖춘 다수의 방어 시스템, 엔터프라이즈 시스템, 교통 시스템, 정보 시스템, 보건 시스템 및 정교한 제어 시스템이 포함되어 있다.이 연구들의 결과는 모두 기밀 사항이었다.그러나 Raytheon Australia와의 광범위한 산업 추적[5][6] 결과는 아래의 산업 섹션에 나와 있습니다.이 모든 작업이 일관되게 보여준 것은 요건을 번역하고 동적 및 정적 통합 뷰를 작성함으로써 현재 업계의 베스트 [31][32]프랙티스에 의해 발견된 결함보다 훨씬 더 많은 중대한 결함이 조기에 발견된다는 것입니다.

임베디드 시스템

시스템 요건을 충족하는 설계가 실패하면 일정과 비용이 [33]초과될 수 있습니다.중대한 신뢰성 문제도 있는 경우 시스템 요건을 충족하지 못하면 생명에 위협을 줄 [34]수 있습니다.그러나 현재의 접근법에서는 테스트와 [35]디버깅 사이클 중에 요건을 충족시키는 것이 개발 프로세스 후반까지 지연되는 경우가 많습니다.본 연구에서는 임베디드 [26]시스템용 소프트웨어 개발에 시스템 개발 접근법, 행동 엔지니어링을 어떻게 사용할 수 있는지 설명합니다.그 결과, 개발 프로세스를 적용한 결과, 요건을 충족하는 임베디드 시스템 소프트웨어를 만들 수 있는 모델 중심 개발 접근 방식이 실현됩니다.

하드웨어-소프트웨어 시스템

많은 대규모 시스템은 공의존 소프트웨어와 하드웨어의 혼합으로 구성되어 있습니다.소프트웨어와 하드웨어의 특성이 다르기 때문에 종종 다른 접근방식을 사용하여 개별적으로 모델링됩니다.이로 인해 하드웨어와 소프트웨어의 상호 [30]작용에 관한 양립할 수 없는 전제조건으로 인해 통합 문제가 발생할 수 있습니다.이러한 문제는 행동 트리를 Modelica, 수학적 모델링 [30]접근법과 통합함으로써 극복할 수 있다.환경 및 하드웨어 구성요소는 Modelica를 사용하여 모델링되고 동작 트리를 사용하는 실행 가능한 소프트웨어 모델과 통합됩니다.

역할 기반 액세스 제어

복잡한 액세스 제어 요건을 올바르게 구현하기 위해서는 검증 및 검증된 요건을 시스템의 [36]나머지 부분과 효과적으로 통합하는 것이 중요합니다.개발 프로세스 초기에 시스템을 검증하고 검증할 수 있는 것도 중요합니다.통합된 역할 기반 액세스 제어 모델이 [37]개발되었습니다.이 모델은 그래픽 동작 트리 표기법을 기반으로 하며, 모델 체커를 사용하여 검증할 뿐만 아니라 시뮬레이션으로 검증할 수 있습니다.이 모델을 사용하면 접근컨트롤 요건과 기능요건을 모두 표현하기 위해 단일 표기법이 사용되기 때문에 접근컨트롤 요건은 처음부터 시스템의 나머지 부분과 통합할 수 있습니다.정식 행동트리 사양을 구축하기 위한 체계적이고 증분적인 접근방식을 채택할 수 있으며, 사양을 시뮬레이션할 수 있습니다.모델 체크 완료.모델의 효율성은 분산 액세스 제어 [36]요건을 가진 사례 연구를 사용하여 평가되었습니다.

생물계

동작 트리는 복잡한 동작을 나타내기 때문에 컴퓨터 [38]기반 시스템에 국한되지 않는 다양한 시스템을 설명하는 데 사용할 수 있습니다.생물학적 맥락에서 BTs는 연구논문에 기술된 생물학적 기능의 절차적 해석을 종합하여 위에서 기술한 바와 같이 논문을 요건 문서로 취급하는 데 사용할 수 있다.이는 읽기 전용보다 프로세스에 대한 보다 구체적인 설명을 구성하는 데 도움이 될 수 있으며, 대안 논문의 경쟁 이론을 비교하기 위한 기초로도 사용될 수 있습니다.현재 진행 중인 연구에서 행동 나무 표기법은 공포 조건 하에서 쥐의 뇌 기능 모델을 개발하기 위해 사용되고 있다.

게임 AI 모델링

BT는 Halo나 Spore와 [40]같은[39] 컴퓨터 게임에서의 인공지능 모델링으로 인기를 끌고 있지만, 이러한 종류의 트리는 이 페이지에 설명된 것과 매우 다르며 계층적 유한 상태 기계 또는 의사결정 트리의 조합에 가깝다.축구선수 모델링은 BTs의 성공적인 [41][42]응용 프로그램이기도 하다.

모델 기반 테스트

[43] 는 테스트 대상 소프트웨어(SUT) 요건을 바탕으로 테스트 모델을 작성해야 하는 소프트웨어 테스트의 접근법입니다.전통적으로 UML 상태 차트, FSM, EFSM, 흐름도가 모델링 언어로 사용됩니다.최근에는 Event-Driven Swim Lane Petri Net(EDSLPN)을 모델링 언어로 사용하는 흥미로운 접근법도 등장하고 있습니다.동작 트리 표기법은 MBT에 적합한 모델링 표기법으로서도 고려할 필요가 있습니다.다른 표기법에는 몇 가지 장점이 있습니다.

  1. UML 상태 차트 및 EDSLPN과 동일한 표현 수준을 가집니다.
  2. 그래픽 특성상 모델링 표기법으로 사용하기 쉽다.
  3. 각 동작 트리 노드에는 요건 태그가 있기 때문에 요건에서 테스트 아티팩트까지의 트레이서빌리티 매트릭스 작성은 간단합니다.

그런 시도가 [44]여기서 이루어졌다.MBTester는 모델러와 테스트 케이스 생성 엔진으로 구성됩니다.비즈니스 오너 또는 테스터는 모델러를 사용하여 자신의 요건을 동작 트리로 변환한 후 (선택적으로) 관련된 동작 트리를 컴포지트 트리로 통합합니다.동작 트리는 백엔드 엔진에 공급되어 테스트 케이스, 테스트 스크립트 및 테스트 데이터를 자동으로 생성할 수 있습니다.

확장성 및 업계 응용 프로그램

동작 엔지니어링 지원 환경 도구 스크린샷
통합 동작 트리– 대규모 시스템(1000개 이상의 요건)

이 방법의 타당성을 테스트하고 그 능력을 개선하기 위한 최초의 산업 실험이 2002년에 실시되었습니다.지난 3년 동안 대규모 방위, 운송 및 엔터프라이즈 시스템에 대한 수많은 체계적인 산업 시험이 [5][31]수행되었습니다.이 연구에서는 이 방법이 다수의 요건을 가진 시스템에 맞게 확장된다는 것과 동시에 이러한 대규모 통합 그래픽 데이터 뷰를 효율적으로 탐색 및 편집하기 위해[22][45] 도구 지원을 사용하는 것이 중요하다는 것을 확인했습니다.업계와의 이 작업에서 몇 가지 주요 결과가 도출되었습니다.평균적으로 다수의 프로젝트에서 정상 검토 및 수정 [31]후 확인된 주요 결함이 1000건당 130건씩 지속적으로 발견되었습니다.요건의 성숙도가 낮은 세트로 인해 결함률이 훨씬 높아졌습니다.

산업과 관련된 이 작업의 중요한 부분은 Raytheon Australia를 위한 6개의 대규모 방위 프로젝트에 이 방법의 분석 부분을 적용하는 것이었다.이들은 이 방법을 "솔루션 개발 및 구매 문서의 문제에 대해 고객에게 조언하기 위한 주요 위험 완화 전략"으로 보고 있습니다.[32][46]이러한 업계 시험 결과는 Raytheon Australia와의 공동 개발로[6] 대규모 통합 [45]요구사항 세트의 분석, 편집 및 표시를 지원하는 업계 강도의 도구를 개발했습니다.업계 조사 결과에 대한 자세한 내용은 Behavior Engineering [47]웹 사이트를 참조하십시오.

Dr테리 스티븐슨(최고 기술자, 레이시온 호주)와 호주의 국방 군수 물자 기구 박사 켈빈 로스(CEOK.J.Ross&어소시에이츠)과 크리스틴은 코니시(부셸 &, 코니시)씨는 짐 보스턴(수석 계획 매니저 레이시온 호주)씨, 아드리안 피트 먼 특별한 기회에 지원하는 데 필요한 제공했다.있resea업계 시험[5][31] 및 라이브 프로젝트 작업을 실시합니다. 작업은 Australian Research Council – ARC Center for Complex Systems 및 업계에서 [citation needed]받은 자금에 의해 지원되었습니다.

[48]

장점, 장점

행동 모델링 표현으로서 행동 트리는 다음과 같은 많은 유의한 이점과 이점을 가지고 있다.

  • 이들은 특히 자연어로 작성된 수백 또는 수천 개의 요구사항을 사용하여 시스템의 초기 요구사항을 표현하는 경우, 요구사항의 복잡성에 대처하기 위해 잘 정의되고 효과적인 전략을 사용합니다.이를 통해 대규모 [31]프로젝트의 리스크를 크게 줄일 수 있습니다.
  • 요건을 엄밀하게 번역하여 가능한 한 빨리 통합함으로써 경쟁사보다 [31][32]더 효과적인 방법으로 요구사항 결함을 발견할 수 있습니다.
  • 분석, 사양 및 시스템의 동작 설계를 나타내기 위해 단일하고[15] 간단한 표기법을 사용합니다.
  • 이들은 시스템 동작을 실행 가능한 통합 전체로 나타냅니다.
  • 검증[22][37]검증에 도움이 되는 직접 추적 가능한 방법으로 기능 요건을 벗어난 시스템 동작을 구축합니다.
  • 공식적인 방법 교육 없이이해관계자가 이러한 내용을 이해할 수 있습니다.이것은 원래 요구 사항의 어휘를 엄격하게 유지함으로써 이해 부담을 덜어준다.
  • 이들은 형식적[17]의미론을 가지고 있으며 동시성을 지원하며 실행 가능하며 시뮬레이션, 모델 체크 및 고장 모드영향 [18]분석을 수행하기 위해 사용될 수 있습니다.
  • 인간 프로세스 모델링, [38]계약 분석, 법의학 정보 표시, 생물학적 시스템 및 기타 수많은 응용 프로그램에도 동일하게 사용할 수 있습니다.각각의 경우 복잡성 관리 및 전체적인 관점에서 동일한 이점을 제공합니다.또한 안전 중요 시스템,[19] 임베디드 시스템[26]실시간 시스템에도 [49][50][51]사용할 수 있습니다.

비판, 단점

  • 작은 교과서 수준의 예제의 경우, 나무와 같은 특성으로 인해 생성된 그래픽 모델이 상태 차트나 상태 기계 동작 사양만큼 작지 않을 수 있습니다.
  • 수백 또는 수천 개의 요건을 가진 시스템의 대규모 통합 동작 트리를 탐색하려면 도구 지원이 필요합니다.
  • 대규모 시스템의 그룹 워크스루에는 우수한 디스플레이 설비가 필요합니다.
  • 통합된 동작 트리 모델을 최대한 활용하려면 고급 도구 지원을 추가로 제공해야 합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b c d Dromey, R.G. 2007대규모 소프트웨어 집약적 시스템 엔지니어링 원칙
  2. ^ a b c R.G.Dromey, "요건에서 설계로의 이행 공식화"는 2011년 7월 25일 웨이백 머신에서 "컴포넌트 소프트웨어의 수학적 프레임워크 – 분석 및 합성 모델", 지펑 허 및 지밍 류(Eds), 세계 과학 시리즈 기반 컴포넌트에 아카이브되었습니다.
  3. ^ a b c d e f R.G.Dromey, 요건에서 설계까지: 2011년 7월 25일 Wayback Machine에서 아카이브된 주요 단계 공식화, SEFM-2003, IEEE International Conference on Software Engineering and Formal Methods, Brisbane, 2003년 9월 21-11페이지.
  4. ^ a b Wen, L., Dromey, R.G. 2007.요건 변경에서 설계 변경으로: 정식[permanent dead link]
  5. ^ a b c d 보스턴, J. 2008Raytheon Australia, Wayback Machine에서 시스템 연구선구자 지원 2009년 9월 15일 아카이브
  6. ^ a b c Raytheon Australia, 2008.2009년 9월 15일 Wayback Machine에서 아카이브된 Behavior Tree대한 이해가 향상됨
  7. ^ 행동 공학컴포지션 트리 2009년 3월 2일 Wayback Machine에서 아카이브
  8. ^ 2007년 겨울CSP를 사용한 동작 트리 공식화
  9. ^ R.L.Glass, 2011년 7월 25일 Wayback Machine, Communications of the ACM, Vol. 47(11), 페이지 23-25, 2004년 11월 25일 아카이브.
  10. ^ R.G.Dromey, "Silver Bullet이 없는 벽돌 벽을 기어오르다" 2011년 7월 25일 IEEE 소프트웨어, Vol. 23, No.2, 페이지 118–120에 아카이브됨 (2006년 3월)
  11. ^ R.G.Dromey, Genetic Software Engineering – 요건 통합을 사용한 설계의 심플화, IEEE 복잡 및 동적 시스템 아키텍처 워킹 컨퍼런스, Brisbane, 2001년 12월
  12. ^ A. 울프슨, 유전자들 없이 사는 플라밍고, 2000, ISBN0-00-255618-9
  13. ^ 베를린, I.비뚤어진 인류의 목재:사상사 챕터, Ed., H.하디, 프린스턴 대학 출판부, 1998년 ISBN 0-691-05838-5
  14. ^ Colvin, R., Grunske, L., Winter, K. 2007 확률론적 타이밍 동작 트리 2011년 7월 25일 웨이백 머신에 아카이브
  15. ^ a b c d 행동 트리 그룹, ARC Complex Systems Center, 2007.동작 트리 표기법 v1.0 (2007)
  16. ^ Dromey, R.G. "유전자 설계: 요건 복잡성에 대처하는 능력의 확대」(2011년 7월 25일, 미국 S.의 Wayback Machine)에서 아카이브.Lue, T.J. Systra, 시나리오, 컴퓨터 과학 강의 노트, LNCS 3466, 페이지 95–108, 2005.
  17. ^ a b c Colvin, R., Hayes, I.J. 2006 행동 트리의 의미론
  18. ^ a b c d L. 그룬스케, P.린제이, 노스캐롤라이나 주야타파나게, K동작 트리가 있는 고급 설계 사양에 기초한 겨울, 자동 고장 모드영향 분석, 제5회 통합 형식 방법에 관한 국제 회의(IFM-2005), 네덜란드, 에인든, 2005.
  19. ^ a b c Zafar, S. 및 Dromey, R. G., (2005), 안전보안 요건을 임베디드 시스템 설계에 통합.2011년 7월 25일 대만 타이베이에서 12월 15일~17일 Wayback Machine Asia-Pacific Software Engineering Conference 2005에서 아카이브 완료.IEEE Computer Society Press. 페이지 629–636.
  20. ^ a b Smith, C., Winter, K., Hayes, I., Dromey, R.G., Lindsay, P., Carrington, D.: 요건을 벗어난 시스템을 구축하기 위한 환경, 제19회 IEE International Conference on Automated Software Engineeringering, Linz, Linz.(2004).
  21. ^ a b R.G. Dromey. 행동 트리를 사용한 자율 셔틀 시스템 모델링 2011년 7월 25일 웨이백 머신, 시나리오 및 스테이트 머신에 관한 제3회 국제 워크숍:모델, 알고리즘, 도구 (SCESM04) ICSE 워크숍 W5S, 에든버러, 2004년 5월 25일
  22. ^ a b c L.Wen, R.콜빈, K린, J. 시그로트, 노스캐롤라이나 주Yatapanage, R.G.Dromey, 2007, "Integratare, a Collaborative Environment for Behaviorous-Oriented Design", 2007, LNCS 4674, 페이지 122-131.
  23. ^ C. Sun, S. Xia, D.Sun, D.Chen. H.F. Shen, W. Cai: "멀티 유저 실시간 콜라보레이션을 위한 단일 유저 애플리케이션의 투과적 적용", ACM Transactions on Computer-Human Interactions, Vol.13, No.4, 2006년 12월 페이지 531-582.
  24. ^ Bensalem, S., Ganesh, V., Lakhnech, Y., Munoz, C., Owre 등:"SAL의 개요", 제5회 NASA 랭글리 공식 방법 워크숍(LFM 2000), 2000, 페이지 187-196.
  25. ^ Rushby, J. Automated Formal Methods 2006 AFM-2006, Automated Formal Methods 2006, 시애틀, 2006년 8월, 페이지 6-7.
  26. ^ a b c Zafar, S. 및 Dromey, R. G., 2005.임베디드 시스템 모델링의 복잡성 관리2011년 7월 25일 호주 브리즈번에서 열린 Wayback Machine Systems Engineering/Test and Evaluation Conference 2005에서 아카이브 완료
  27. ^ 그룬스케, L., 콜빈, R., 윈터, K. FMEA 정량적 평가를 위한 확률론적 모델 확인 지원.QEST 2007.제4회 시스템 정량적 평가에 관한 국제회의, 2007년 9월 17-19일, 119-128페이지
  28. ^ Wen, L., Dromey, R.G. 2005.컴포넌트 기반 시스템아키텍처 정규화 2011년 7월 25일, 제2회 컴포넌트 소프트웨어 FACS의 형식적인 측면에 관한 국제 워크숍의 웨이백 머신 절차에서 아카이브. 페이지 247~261
  29. ^ RTI Inc. 2007 "통합 방어 시스템에서의 실시간 요건 충족", 2008년 9월 20일 Wayback Machine에서 아카이브된 RTI 백서.
  30. ^ a b c 마이어스, T., 프리츠슨, P., 드로메이, R.G. 2008대규모 시스템용 소프트웨어와 하드웨어 모델링을 심리스하게 통합.제2회 방정식 기반 객체 지향 언어 및 도구에 관한 국제 워크숍(EOLT 2008), 키프로스, 2008년 7월. 페이지 5 ~ 15.
  31. ^ a b c d e f Powell, D. 2007Behavior Tree를 사용한 요건 평가업계 조사 결과(2011년 7월 25일 Wayback Machine 아카이브)
  32. ^ a b c Boston, J., (Raytheon Australia), Behavior TreesHow they engineering Behavior?,[permanent dead link] 제6회 소프트웨어 및 시스템 엔지니어링 프로세스 그룹 회의(SEPG 2008), 2008년 8월 멜버른.
  33. ^ 바커, D. 2000요건 모델링 테크놀로지: 보다 우수하고 고속이며 저렴한 시스템에 대한 비전.VHDL International Users Forum Fall Workshop, 2000. 페이지 3-6.
  34. ^ Leveson, N. G. Safeware:시스템 안전 및 컴퓨터: [기술로 인한 사고 및 손실을 방지하기 위한 가이드]1995년 애디슨 웨슬리 출판사ISBN 0-201-11972-2
  35. ^ Futrell, R.T., Shafer, D.F., Shafer, L.I. 품질 소프트웨어 프로젝트 관리(소프트웨어 품질 연구소 시리즈).프렌티스홀, 2002 ISBN 0-13-091297-2
  36. ^ a b Zafar, S. Colvin, R., Winter, K., Yatapanage, N., Dromey, R.G. 분산형 역할 기반 액세스 제어 모델의 조기 검증검증. 제14회 아시아 태평양 소프트웨어 엔지니어링 컨퍼런스, 나고야, 2008년 12월 페이지.
  37. ^ a b 자파르, S., K.겨울, R.Colvin, R.G.Dromey, "Verification of a Integrated Role-Based Access Control Model", 2011년 7월 25일 Wayback Machine, 제1회 국제 워크숍 - 검증된 소프트웨어에 관한 아시아 실무 회의 (AWCVS'06, 230-240, 마카오)에서 아카이브되었습니다.
  38. ^ a b Milosevic, Z., Dromey, R.G. 계약서에서의 표현감시 동작에 대하여, EDOC 2002, Proceedings, 제6회 국제 엔터프라이즈 분산 객체 컴퓨팅 컨퍼런스, 스위스 로잔, 2002년 9월 페이지 3-14.
  39. ^ Halo 2 AI의 Damian Isla 처리 복잡성.
  40. ^ Chris Hecker My Liner 노트 for Spore
  41. ^ 샤오웬 Terry Liu와 Jacky Baltes 인텔리전트 모바일 로봇을 위한 직관적이고 유연한 아키텍처 2004년 12월 13일~15일 뉴질랜드 Palmerston North
  42. ^ 호시노 유키코, 다카기 츠요시, 우고 디 프로피오, 후지타 마사히로 퍼스널 로봇 행동 모듈을 이용한 행동 설명과 제어
  43. ^ 모델 베이스 테스트(MBT) 모델 베이스 테스트
  44. ^ MB테스터
  45. ^ a b Phillips, V., (Raytheon Australia), "Eclipse Development Frameworks Using a Behavior Tree Analysis Tool",[permanent dead link] 호주 소프트웨어 엔지니어링 컨퍼런스(ASWEC'08), Perth, 2008년 3월
  46. ^ McNicholas, D., (Raytheon Australia), 2007.행동 엔지니어링 업계의[permanent dead link]
  47. ^ 행동 공학Behavior Engineering 웹사이트 2009년 3월 1일 Wayback Machine에서 아카이브 완료
  48. ^ 상세한 것에 대하여는, 다음을 참조해 주세요.
  49. ^ Lin, K., Chen, D., Sun, C., Dromey, R.G., 실시간 협업[permanent dead link] 환경에서의 제약 유지 보수 전략응용, 제2회 공동 설계, 시각화 및 엔지니어링 국제회의(CDVE 2005), 2005.
  50. ^ Lin, K., Chen, D., Dromey, R.G., Sun, CZ:실시간 협업 시스템에서의 멀티웨이 데이터 흐름 제약 전파 2011년 7월 25일 IEEE, Wayback Machine, 제2회 국제 협업 컴퓨팅 컨퍼런스:네트워킹, 애플리케이션 및 작업 공유 (CollabatateCom 2006), 미국 조지아주 애틀랜타, 2006년 11월
  51. ^ Grunske, L., Winter, K., Colvin, R., "Timed Behavior Trees and application to verify-time systems to verify-time systems" 2008년 11월 18일 Wayback Machine, Proceedings of 18things of Australian Conferencing on Software Engineering (AEWEC 2007), 2007), 2007, 2007, 2007, 2007, 2007, 2007년 4월, 2007년 4월, Waybrainering, Waybacking, Wayb

외부 링크