로봇 개발을 위한 MontiArcAutomaton ADL 맞춤화
초록
본 논문은 로봇 시스템 개발에 특화된 컴포넌트‑앤‑커넥터( C&C ) 아키텍처 기술 언어인 MontiArcAutomaton을 어떻게 적용 분야에 맞게 확장·조정할 수 있는지를 제시한다. 구조적 C&C 모델에 애플리케이션 전용 행동 모델링 언어를 통합하고, 논리적 아키텍처를 플랫폼‑특정 구현으로 자동 변환하며, 서로 다른 로봇 플랫폼용 코드 생성기를 블랙박스 방식으로 조합하는 방법론을 설명한다.
상세 분석
MontiArcAutomaton 프레임워크는 기존 C&C ADL이 안고 있던 두 가지 근본적인 한계를 극복한다. 첫째, 행동 기술이 프로그래밍 언어 코드나 사전 정의된 혼합 모델에 의존하는 구조적 제약을 없애고, 도메인 전문가가 자신만의 DSL(도메인 특화 언어)로 컴포넌트 행동을 기술할 수 있게 한다. 이를 위해 프레임워크는 ‘구조 확장’ 메커니즘을 제공한다. 즉, 기본적인 컴포넌트·포트·연결 구조에 추가적인 메타모델 요소를 삽입해 새로운 행동 모델링 언어를 연결하고, 해당 언어의 문법·시맨틱을 MontiCore 기반 파서와 통합한다.
둘째, 플랫폼 독립적인 논리 아키텍처를 실제 로봇 하드웨어와 운영 체제에 맞는 실행 파일로 변환하는 과정이 자동화된다. MontiArcAutomaton은 변환 파이프라인을 ‘코드 생성기 체인’ 형태로 정의한다. 각 체인은 입력 모델(예: MontiArc 구조 모델, 행동 모델) → 중간 표현(IR) → 목표 플랫폼 전용 코드(예: ROS 2 C++, Java, Python) 로 흐른다. 중요한 점은 이 체인들이 서로 독립적인 블랙박스 형태로 제공돼, 새로운 로봇 플랫폼이 추가될 때 기존 체인을 그대로 재사용하거나 최소한의 어댑터만 구현하면 된다는 것이다.
논문은 이러한 맞춤화 과정을 ‘역할·활동’ 모델로 체계화한다. 주요 역할은(1) 아키텍처 설계자, (2) 행동 모델링 전문가, (3) 코드 생성기 개발자, (4) 플랫폼 엔지니어 등이며, 각각이 수행하는 활동은 요구 분석, 메타모델 확장, 파서·시맨틱 구현, 변환 규칙 정의, 테스트·검증 등으로 구분된다. 특히, 행동 모델링 전문가가 정의한 DSL은 MontiCore의 ‘언어 통합’ 기능을 이용해 기존 C&C 메타모델에 삽입되고, 코드 생성기 개발자는 해당 DSL에 대한 템플릿 기반 생성기를 작성한다. 플랫폼 엔지니어는 목표 로봇 OS·미들웨어에 맞는 ‘배포 파이프라인’(빌드 스크립트, 컨테이너 이미지 등)을 구성한다.
이러한 역할 기반 접근은 팀 규모가 크고 다양한 도메인 지식이 요구되는 로봇 프로젝트에서 작업을 명확히 분리하고, 재사용성을 극대화한다. 또한, MontiArcAutomaton은 모델‑기반 테스트 프레임워크와 연동돼, 구조·행동 모델에 대한 시뮬레이션 및 자동 검증을 지원한다. 결과적으로 개발자는 고수준 아키텍처 모델만 수정하면 전체 시스템이 자동으로 재생성·재배포되는 ‘연속 모델‑코드 동기화’를 달성한다.