모델 기반 시스템 엔지니어링의 모델링 도구
가상 제품 개발을 위한 MBSE 및 SysML의 이해와 핵심 전략 (7)
최근의 MBSE(모델 기반 시스템 엔지니어링) 환경은 개별 도구를 연계하던 전통적 방식에서 벗어나, 요구사항부터 시뮬레이션, 형상 관리까지 전 과정을 하나의 플랫폼에서 관리하는 ‘디지털 스레드’ 기반의 통합 환경으로 진화하고 있다. 이번 호에서는 모델링 도구인 ‘랩소디(Rhapsody)’와 ‘카메오 시스템 모델러(Cameo Systems Modeler)’의 특징을 살펴보고, 효율적인 설계 환경 구축 전략을 짚어본다.
■ 오재응
한양대학교 명예교수, 시뮬레이션 랩 CTO
모델링 도구
여기에서는 모델링 도구로서 랩소디(Rhapsody)의 특징과 기능을 간단하게 소개하고 있으며, 특히 시스템 아키텍처 설계와 모델 일관성 유지에 있어 랩소디가 어떤 역할을 수행하는지를 설명한다.
IBM의 랩소디는 UML 및 SysML 기반의 시스템 모델링 도구로, 아키텍처 모델을 통해 시스템 설계 정보를 저장할 수 있는 동적인 데이터베이스 구조를 제공한다. 사용자가 정의한 각 모델 객체(예 : 블록, 컴포넌트 등)는 한 번 정의되면 그것이 표현되는 모든 다이어그램 상에서 동일한 특성과 속성을 유지한다. 이를 통해 전체 모델의 일관성과 추적성이 자연스럽게 보장된다. 또한 랩소디는 요구사항과 직접 연계된 설계 모델을 지원함으로써, 요구사항-설계 간의 정합성 확보를 용이하게 한다. 이를 통해 설계 변경이 요구사항과의 연동 하에 즉시 반영될 수 있어, 시스템 개발 전 과정에서 신뢰성 있는 모델 기반 설계를 실현할 수 있다.
결과적으로, 랩소디는 다양한 UML/SysML 도구 중 하나로, 특히 복잡한 시스템의 모델링, 시뮬레이션, 코드 생성까지 연결 가능한 통합 모델링 환경을 제공한다.
랩소디 보기
그림 1. 랩소디 도구의 대표적인 사용자 인터페이스 구성 요소
<그림 1>은 랩소디 도구 환경을 보여주며, 시스템 모델링 또는 소프트웨어 모델링을 수행할 때 사용되는 대표적인 사용자 인터페이스 구성 요소를 설명하고 있다. 랩소디 보기는 사용자가 랩소디에서 모델을 어떻게 시각적으로 확인하고 조작하는지를 이해하는 데 중점을 둔다.
전체 인터페이스 구성은 랩소디가 모델 기반 시스템 및 소프트웨어 설계를 위한 도구로, 브라우저 영역과 그리기 영역 등의 주요 영역으로 구성되어 있다.
<그림 1>의 화면 왼쪽에는 브라우저 영역(Browser View)이 위치해 있다. 이 영역은 프로젝트 내에 정의된 모든 요소를 계층적 트리 구조로 정리하여 보여주며, 클래스, 패키지, 상태도, 시퀀스 다이어그램 등 다양한 모델링 요소를 탐색하고 선택할 수 있다. 사용자는 이 영역에서 모델 구조를 확인하고, 필요한 항목을 선택하여 편집 창으로 열 수 있다. 주로 사용하는 항목은 모델 구성요소(예 : 클래스, 컴포넌트, 상태 등)이다. 설계 계층 구조는 각 요소의 속성 및 동작이 연결되어 있다.
<그림 1>의 화면 오른쪽에는 그리기 창(Drawing Window)이 위치하며, 사용자가 실제로 다이어그램을 작성하고 편집하는 작업 공간이다. 이 영역은 선택된 모델 요소의 시각적 표현을 위한 공간으로, 예를 들어 상태 다이어그램, 블록 다이어그램, 시퀀스 다이어그램 등을 작성하고 구성 요소 간의 연결 관계를 설정할 수 있다. 사용자의 활동 예는 상태 전이 정의, 신호 흐름 연결, 동작 논리 시각화, 모델 요소 간 연결 구성이 있다.
랩소디는 모델 탐색과 시각적 설계를 동시에 지원하기 위해 좌측 브라우저 영역과 오른쪽 그리기 창을 중심으로 UI(사용자 인터페이스)를 구성하고 있으며, 이를 통해 사용자는 설계 구조와 논리를 직관적으로 접근하고 조작할 수 있다. 이와 같은 인터페이스는 SysML, UML, 자동차 및 항공 우주 분야의 MBD 등 다양한 모델링 작업을 효율적으로 수행할 수 있도록 지원한다.
랩소디 vs. 카메오 시스템 모델러 비교
IBM 랩소디와 카메오 시스템 모델러(Cameo Systems Modeler)는 모두 SysML 기반의 시스템 모델링 도구로 널리 사용되고 있다. 그러나 이 두 도구는 설계 접근 방식, 사용자 인터페이스, 시뮬레이션 및 협업 방식에서 차별점이 존재한다.
도구의 철학과 접근 방식 : 랩소디는 임베디드 시스템 및 소프트웨어 개발에 특화된 도구로, 주로 상태 기반(state-based) 모델링과 코드 생성(code generation) 기능이 강력하다. UML 기반의 객체지향 소프트웨어 개발, 상태 머신 구현 등에 많이 활용되며, 특히 자동차, 항공, 방위 산업 등에서 많이 사용된다. 반면에 카메오 시스템 모델러(MagicDraw 기반)는 시스템 아키텍처 및 요구사항 중심 설계에 중점을 둔 MBSE 도구이다. RFLP(Requirement, Functional, Logical, Physical) 구조와 트레이스 기능이 강력하며, PLM·SPDM 시스템과의 통합이 잘 되어 있어 디지털 스레드 구축에 적합하다. 대부분의 대기업 MBSE 전환 프로젝트에서 선택되고 있다.
사용자 인터페이스 및 작업 구조 : 랩소디는 전통적인 IDE 스타일의 인터페이스(<그림 1>처럼 왼쪽 탐색기 + 오른쪽 다이어그램 편집기)를 가지고 있으며, 실시간 코드 시뮬레이션 및 상태 전이 구현에 용이하다. 카메오 시스템 모델러는 모델 요소 중심 탐색 트리, 다중 다이어그램 탭, 자동 연결 도우미, 속성 창 기반 작업이 잘 정비되어 있으며, 직관적인 GUI로 인해 다양한 다이어그램 작성이 빠르고 정확하게 이루어진다. 사용자 친화성이 높은 편이다.
시뮬레이션 및 해석 기능 : 랩소디에는 UML/SysML 상태 머신을 기반으로 한 Statechart Simulation이 내장되어 있어, 논리적 동작 검증이나 이벤트 시퀀스 분석에 유리하다. C/C++ 코드 생성 및 디버깅 기능도 내장되어 있어, 소프트웨어 통합 단계까지 연결하기 좋다. 카메오 시스템 모델러는 카메오 시뮬레이션 툴킷(Cameo Simulation Toolkit :CST)을 통해 SysML 모델의 시뮬레이션이 가능하며, 파라메트릭 다이어그램(Parametric Diagram) + 수식 기반 계산 + 외부 FMU 연동을 지원한다. 특히 시뮬링크(Simulink), 모델리카(Modelica) 등과의 코시뮬레이션(co-simulation) 및 FMI 기반 연동이 강력하다.
협업 및 형상 관리 연동 : 랩소디는 RTC, ClearCase, GIT 등과 연계가 가능하지만, 협업 기능이 독립적으로 강력하지는 않다. 기업 내부 커스터마이징이 필요한 경우가 많다. 카메오 시스템 모델러는 팀워크 클라우드(Teamwork Cloud : TWC)라는 중앙 저장소 기반 협업 서버를 통해 모델 단위 버전 관리, 권한 제어, 변경 추적, 분기 관리(branching) 기능을 지원하며, 팀 단위 협업 및 모델 기반 리뷰에 적합하다.
PLM, SPDM 및 외부 툴 연동 : 랩소디는 외부 연동이 상대적으로 제한적이며, 별도 게이트웨이 또는 커스터마이징이 필요하다. 카메오 시스템 모델러는 3D익스피리언스(다쏘시스템), 윈칠(PTC), 팀센터(지멘스) 등의 PLM 시스템과 연계가 용이하며, MBSE–PLM–SPDM 간의 디지털 연계(traceability)가 수월하게 이루어진다.
정리하면 랩소디는 코드 생성, 상태 머신 중심이고 카메오 시스템 모델러는 요구사항–기능–물리 구조 연계 중심이다. 사용 분야는 랩소디가 임베디드 소프트웨어, 제어 시스템에 사용되며 카메오 시스템 모델러는 시스템 아키텍처, MBSE를 총괄하는데 사용된다. 시뮬레이션에는 랩소디가 상태 기반 시뮬레이션에 사용되며, 카메오 시스템 모델러는 파라메트릭, 시퀀스, 코시뮬레이션이 가능하다. 협업 관점에서 랩소디는 RTC/파일 기반으로 이용되며, 카메오 시스템 모델러는 팀워크 클라우드 기반 모델 협업에 활용된다. 외부 툴과 연동은 랩소디는 제한적이며 커스터마이징이 필요하다. 반면에 카메오 시스템 모델러는 FMI, PLM, 시뮬링크 등과 강력하게 연동된다.
■ 자세한 기사 내용은 PDF로 제공됩니다.
작성일 : 2026-05-06