396.39 3계층 아키텍처(3-Tier Architecture)와 임무 관리

396.39 3계층 아키텍처(3-Tier Architecture)와 임무 관리

1. 개요

3계층 아키텍처(Three-Tier Architecture, Three-Layer Architecture)는 자율 로봇 시스템의 소프트웨어 설계에서 가장 널리 채택된 아키텍처 패러다임 중 하나이다. 이 아키텍처는 시스템의 기능을 의사 결정(Deliberation), 실행 제어(Executive Control), 반응적 행동(Reactive Behavior)의 세 계층으로 분리하여, 각 계층이 고유의 시간 스케일과 추상화 수준에서 동작하도록 한다. 임무 관리(Mission Management)는 이 3계층 구조 내에서 핵심적인 조정 기능을 수행하며, 계층 간 정보 흐름과 제어 흐름의 중추적 역할을 담당한다.

2. 계층 아키텍처의 기원과 발전

2.1 역사적 배경

3계층 아키텍처는 1990년대 초반, 순수 숙의적(Deliberative) 접근법과 순수 반응적(Reactive) 접근법 사이의 한계를 극복하기 위해 등장하였다. Gat(1998)는 이 아키텍처를 체계적으로 정리하여 세 계층의 명확한 역할 분담을 제시하였으며, 이는 이후 자율 로봇 시스템 설계의 사실상 표준(De Facto Standard)으로 자리 잡았다.

초기의 숙의적 아키텍처는 STRIPS(Stanford Research Institute Problem Solver) 등의 AI 계획기를 활용하여 환경의 완전한 모델에 기반한 계획을 수립하였으나, 실시간 환경 변화에 대한 대응이 느리다는 근본적 한계가 있었다. 반면, Brooks(1986)의 포섭 구조(Subsumption Architecture)로 대표되는 반응적 아키텍처는 빠른 반응성을 제공하였으나, 복잡한 목표 지향적 행동의 생성에는 부적합하였다.

2.2 하이브리드 아키텍처로의 수렴

3계층 아키텍처는 이 두 접근법의 장점을 결합한 하이브리드(Hybrid) 아키텍처이다. Bonasso 등(1997)은 3T(Three-Tiered) 아키텍처를 제안하면서, 각 계층의 시간적 특성과 기능적 역할을 다음과 같이 정의하였다.

계층시간 스케일주요 기능세계 모델 사용
숙의 계층초~분 단위계획 수립, 목표 추론완전 모델
실행 계층밀리초~초 단위계획 분해, 상태 모니터링부분 모델
반응 계층밀리초 이하센서-액추에이터 루프모델 불필요

3. 계층 아키텍처의 구조적 분석

3.1 숙의 계층(Deliberative Layer)

숙의 계층은 아키텍처의 최상위에 위치하며, 장기적 목표에 대한 계획을 수립하는 역할을 담당한다. 이 계층에서는 임무 목표의 해석, 계획 생성, 자원 할당, 최적화 등이 이루어진다.

숙의 계층의 핵심 구성 요소는 계획기(Planner)이다. 계획기는 현재 상태 s_0와 목표 상태 s_g가 주어졌을 때, 상태 전이 함수 \delta를 통해 목표를 달성하는 행동 시퀀스 \pi를 생성한다.

\pi = \langle a_1, a_2, \ldots, a_n \rangle \quad \text{s.t.} \quad \delta(\ldots\delta(\delta(s_0, a_1), a_2)\ldots, a_n) = s_g

대표적인 숙의 계층의 계획기로는 SHOP2(Simple Hierarchical Ordered Planner 2), Fast-Forward, CASPER(Continuous Activity Scheduling, Planning, Execution, and Replanning) 등이 있다.

3.2 실행 계층(Executive Layer)

실행 계층은 숙의 계층과 반응 계층 사이에 위치하여, 두 계층 사이의 시간적·의미적 간극을 연결한다. 실행 계층의 주요 기능은 다음과 같다.

계획 분해(Plan Decomposition): 숙의 계층에서 생성된 고수준 계획을 반응 계층에서 실행 가능한 저수준 행동 시퀀스로 분해한다.

상태 모니터링(State Monitoring): 반응 계층으로부터 수신되는 센서 데이터와 실행 상태를 감시하여, 계획 이탈이나 오류 상황을 감지한다.

오류 복구(Error Recovery): 실행 중 발생하는 예외 상황에 대해 로컬 수준의 복구 전략을 적용하거나, 복구가 불가능한 경우 숙의 계층에 재계획을 요청한다.

자원 관리(Resource Management): 과업 실행에 필요한 시스템 자원의 할당과 회수를 관리한다.

실행 계층은 절차적 추론 시스템(Procedural Reasoning System, PRS)(Ingrand et al., 1992)이나 RAP(Reactive Action Packages)(Firby, 1989)와 같은 실행 엔진에 의해 구현되는 것이 일반적이다.

3.3 반응 계층(Reactive Layer)

반응 계층은 아키텍처의 최하위에 위치하며, 센서 입력으로부터 직접 액추에이터 출력을 생성하는 폐루프 제어를 담당한다. 이 계층은 최소한의 내부 상태를 유지하며, 높은 실행 빈도로 동작한다.

반응 계층의 각 행동(Behavior) b_i는 센서 입력 \mathbf{x}에서 액추에이터 출력 \mathbf{u}로의 매핑으로 정의된다.

b_i : \mathbf{x} \rightarrow \mathbf{u}_i

복수의 행동이 동시에 활성화되는 경우, 행동 중재(Behavior Arbitration) 메커니즘을 통해 최종 출력이 결정된다.

\mathbf{u} = \text{Arbitrate}(\{(\mathbf{u}_i, p_i) \mid i \in \mathcal{I}_{\text{active}}\})

여기서 p_i는 행동 b_i의 우선순위, \mathcal{I}_{\text{active}}는 활성화된 행동의 인덱스 집합이다.

4. 계층 아키텍처에서 임무 관리의 역할

4.1 임무 관리자의 기능적 위치

3계층 아키텍처에서 임무 관리자(Mission Manager)는 주로 실행 계층에 위치하거나, 숙의 계층과 실행 계층에 걸쳐 배치된다. 임무 관리자의 핵심 기능은 다음과 같이 정리된다.

  1. 임무 수명 주기 관리: 임무의 시작, 실행, 일시 정지, 재개, 종료 등 전체 수명 주기를 관리한다.
  2. 계획-실행 연계: 숙의 계층의 계획기 출력을 수신하여 실행 가능한 형태로 변환하고, 반응 계층에 전달한다.
  3. 상태 추적 및 보고: 임무 진행 상황을 지속적으로 추적하고, 상위 시스템 또는 운용자에게 보고한다.
  4. 예외 처리 및 재계획 요청: 실행 중 발생하는 오류, 환경 변화, 자원 부족 등의 예외 상황을 감지하고 대응한다.

4.2 임무 관리자와 계층 간 상호작용

임무 관리자와 각 계층 간의 상호작용은 다음과 같은 인터페이스를 통해 이루어진다.

숙의 계층과의 인터페이스:

\text{Planner} \xrightarrow{\pi = \langle T_1, T_2, \ldots, T_m \rangle} \text{MissionManager}

\text{MissionManager} \xrightarrow{\text{replan request}(s_{\text{current}}, \text{failure})} \text{Planner}

여기서 T_i는 과업(Task), s_{\text{current}}는 현재 상태, \text{failure}는 오류 유형을 나타낸다.

반응 계층과의 인터페이스:

\text{MissionManager} \xrightarrow{\text{activate}(b_j, \text{params})} \text{ReactiveLayer}

\text{ReactiveLayer} \xrightarrow{\text{status}(b_j) \in \{\text{running}, \text{success}, \text{failure}\}} \text{MissionManager}

4.3 시간 스케일의 조율

3계층 아키텍처의 핵심적 특성은 각 계층이 서로 다른 시간 스케일에서 동작한다는 것이다. 임무 관리자는 이 시간 스케일의 차이를 조율하는 역할을 수행한다.

숙의 계층의 계획기가 수 초에서 수 분의 연산 시간을 요구하는 반면, 반응 계층의 제어 루프는 밀리초 단위로 동작한다. 임무 관리자는 이 두 시간 스케일 사이에서 실행 상태를 버퍼링하고, 비동기적 이벤트를 처리하며, 계획의 점진적 실행을 관리한다.

\Delta t_{\text{deliberative}} \gg \Delta t_{\text{executive}} \gg \Delta t_{\text{reactive}}

이 시간적 계층 구조는 임무 관리자가 숙의 계층의 느린 계획 주기와 반응 계층의 빠른 제어 주기 사이의 시간적 불일치(Temporal Mismatch)를 해소하는 데 필수적이다.

5. 대표적 3계층 아키텍처 구현 사례

5.1 T 아키텍처

Bonasso 등(1997)이 제안한 3T(Three-Tiered) 아키텍처는 숙의 계층에 AP(Adversarial Planner), 실행 계층에 RAP(Reactive Action Packages), 반응 계층에 스킬(Skill) 기반 행동 모듈을 배치한다.

이 아키텍처에서 임무 관리 기능은 주로 RAP 실행 엔진에 의해 수행된다. RAP는 목표 지향적 절차를 정의하며, 실행 중 상황에 따라 대안적 방법(Alternative Method)을 선택할 수 있는 유연성을 제공한다.

┌──────────────────────┐
│   Planner (AP)       │  → 장기 계획 수립
├──────────────────────┤
│   Sequencer (RAP)    │  → 임무 관리 + 실행 제어
├──────────────────────┤
│   Controller (Skills)│  → 반응적 행동 실행
└──────────────────────┘

5.2 LAAS 아키텍처

LAAS 아키텍처(Alami et al., 1998)는 프랑스 LAAS-CNRS에서 개발된 3계층 아키텍처이다. 이 아키텍처의 실행 계층에서는 OpenPRS(Open Procedural Reasoning System)가 임무 관리 기능을 수행한다.

LAAS 아키텍처의 특징은 기능 계층(Functional Layer)이 GenoM(Generator of Modules) 프레임워크를 통해 모듈화되어 있다는 점이다. 각 기능 모듈은 요청(Request)-보고(Report) 인터페이스를 통해 실행 계층과 통신하며, 임무 관리자는 이 인터페이스를 활용하여 기능 모듈의 생명 주기를 관리한다.

5.3 ATLANTIS 아키텍처

ATLANTIS(A Three-Layer Architecture for Navigating Through Intricate Situations)(Gat, 1992)는 3계층 아키텍처의 초기 구현 중 하나이다. 이 아키텍처는 숙의 계층(Deliberator), 실행 계층(Sequencer), 반응 계층(Controller)의 세 계층으로 구성되며, 실행 계층의 시퀀서가 임무 관리의 핵심 기능을 수행한다.

ATLANTIS에서 시퀀서는 활동 스키마(Activity Schema)를 기반으로 동작한다. 활동 스키마는 목표 조건, 선행 조건, 실행 절차, 종료 조건등을 포함하는 구조화된 기술 형식이다.

\text{ActivitySchema} = (G, P, E, T)

여기서 G는 목표 조건(Goal), P는 선행 조건(Precondition), E는 실행 절차(Execution Procedure), T는 종료 조건(Termination Condition)이다.

6. 계층 아키텍처의 설계 원칙과 임무 관리

6.1 관심사의 분리(Separation of Concerns)

3계층 아키텍처의 근본적 설계 원칙은 관심사의 분리이다. 각 계층은 고유의 기능적 책임을 갖고, 정의된 인터페이스를 통해서만 상호작용한다. 임무 관리자는 이 분리 원칙을 실현하는 핵심적 메커니즘으로, 상위 계층의 추상적 계획을 하위 계층의 구체적 행동으로 변환하는 과정에서 각 계층의 독립성을 보존한다.

6.2 점진적 구체화(Progressive Refinement)

임무 관리자는 숙의 계층의 추상적 계획을 점진적으로 구체화하여 반응 계층에서 실행 가능한 수준으로 변환한다. 이 과정을 형식적으로 표현하면 다음과 같다.

\text{refine} : \mathcal{A}_{\text{abstract}} \rightarrow 2^{\mathcal{A}_{\text{concrete}}}

여기서 \mathcal{A}_{\text{abstract}}는 추상 행동 공간, \mathcal{A}_{\text{concrete}}는 구체 행동 공간이다. 하나의 추상 행동은 복수의 구체 행동 시퀀스로 분해될 수 있으므로, 변환 결과는 멱집합(Power Set)의 원소가 된다.

6.3 비동기 실행과 이벤트 처리

3계층 아키텍처에서 각 계층은 비동기적으로 동작한다. 숙의 계층의 계획기는 독립적인 연산 스레드에서 실행되며, 계획이 완료되기 전에도 실행 계층과 반응 계층은 이전 계획에 기반하여 동작을 지속한다. 임무 관리자는 이 비동기적 동작을 조율하기 위해 이벤트 큐(Event Queue)와 상태 천이(State Transition) 메커니즘을 활용한다.

\text{EventLoop}: \text{while}(\text{active}) \{ e \leftarrow \text{dequeue}(); \text{handle}(e, s); s \leftarrow \text{transition}(s, e) \}

7. 계층 아키텍처의 한계와 확장

7.1 계층 간 정보 병목

3계층 아키텍처에서 모든 정보는 인접 계층 사이에서만 전달되므로, 반응 계층의 센서 정보가 숙의 계층에 도달하기까지 두 단계의 전달 지연이 발생한다. 이는 빠르게 변화하는 환경에서 숙의 계층의 계획이 이미 무효화된 상태에서 실행될 위험을 내포한다.

7.2 경직된 계층 구분

엄격한 3계층 분리는 일부 응용에서 불필요한 오버헤드를 초래할 수 있다. 예를 들어, 단순한 순찰 임무에서 숙의 계층의 복잡한 계획기가 요구되지 않을 수 있으며, 이 경우 실행 계층과 반응 계층만으로 충분한 기능을 제공할 수 있다.

7.3 확장된 아키텍처 변형

3계층 아키텍처의 한계를 극복하기 위해 다양한 변형이 제안되었다.

CLARAty 아키텍처: 2계층으로 축소하여, 기능 계층과 의사 결정 계층 사이의 경계를 유연하게 조정할 수 있도록 하였다(Volpe et al., 2001).

T-REX 아키텍처: 계층을 복수의 에이전트(Reactor)로 분해하여, 각 에이전트가 자율적으로 계획과 실행을 수행하도록 하였다(McGann et al., 2008).

CORTEX 아키텍처: 인지(Cognition) 기능을 추가한 4계층 아키텍처로 확장하여, 학습과 자기 인식(Self-Awareness) 기능을 통합하였다(Chatila et al., 2011).

8. 임무 관리 관점에서의 아키텍처 비교

특성순수 숙의순수 반응3계층 하이브리드
임무 계획중앙 집중식불가계층적
실시간 반응느림빠름중간~빠름
임무 복잡도 지원높음낮음높음
환경 적응성낮음높음중간~높음
임무 관리자 필요성낮음(계획기에 통합)해당 없음높음

3계층 아키텍처에서 임무 관리자는 숙의적 계획 능력과 반응적 실행 능력을 결합하는 핵심적 중개자로 기능한다. 이 구조적 특성은 복잡한 임무의 체계적 수행과 동적 환경에 대한 적응적 대응을 동시에 가능하게 한다.

9. 참고 문헌

  • Gat, E. (1998). “On Three-Layer Architectures.” In Artificial Intelligence and Mobile Robots: Case Studies of Successful Robot Systems, MIT Press, pp. 195–210.
  • Brooks, R. A. (1986). “A Robust Layered Control System for a Mobile Robot.” IEEE Journal on Robotics and Automation, 2(1), 14–23.
  • Bonasso, R. P., Firby, R. J., Gat, E., Kortenkamp, D., Miller, D. P., & Slack, M. G. (1997). “Experiences with an Architecture for Intelligent, Reactive Agents.” Journal of Experimental & Theoretical Artificial Intelligence, 9(2–3), 237–256.
  • Alami, R., Chatila, R., Fleury, S., Ghallab, M., & Ingrand, F. (1998). “An Architecture for Autonomy.” The International Journal of Robotics Research, 17(4), 315–337.
  • Ingrand, F. F., Georgeff, M. P., & Rao, A. S. (1992). “An Architecture for Real-Time Reasoning and System Control.” IEEE Expert, 7(6), 34–44.
  • Firby, R. J. (1989). Adaptive Execution in Complex Dynamic Worlds. Ph.D. Dissertation, Yale University.
  • Volpe, R., Nesnas, I., Estlin, T., Mutz, D., Petras, R., & Das, H. (2001). “The CLARAty Architecture for Robotic Autonomy.” Proceedings of IEEE Aerospace Conference, Vol. 1, pp. 121–132.
  • McGann, C., Py, F., Rajan, K., Thomas, H., Henthorn, R., & McEwen, R. (2008). “T-REX: A Deliberative System for AUV Control.” Proceedings of the 3rd Workshop on Planning and Plan Execution for Real-World Systems (ICAPS).
  • Chatila, R., Lacroix, S., Simeon, T., & Herrb, M. (2011). “Planetary Exploration by Robots: A Report on the LAAS-CNRS Approach.” Autonomous Robots, 18(2), 133–147.
  • Gat, E. (1992). “Integrating Planning and Reacting in a Heterogeneous Asynchronous Architecture for Controlling Real-World Mobile Robots.” Proceedings of the 10th National Conference on Artificial Intelligence (AAAI-92), pp. 809–815.

v0.1