모델 기반 시스템엔지니어링에서 SysML의 역할
가상 제품 개발을 위한 MBSE 및 SysML의이해와 핵심 전략 (5)
이번 호에서는 모델 기반 시스템 엔지니어링(MBSE)의 핵심 언어인 SysML의 정의와 역할을 설명한다. SysML은 기존 문서 중심 방식의 한계를 극복하기 위해 복잡한 시스템을 시각화하고 설계 일관성을 유지하며, 모델리카(Modelica)와의 연동을 통해 수치 해석 및 검증 능력까지 제공한다. 결과적으로 SysML은 요구사항 정의부터 물리적 검증까지 전체 과정을 유기적으로 통합하여 가상 제품 개발의 생산성을 높이는 데에 기여한다.
■ 오재응
한양대학교 명예교수, 시뮬레이션 랩 CTO
SysML이란
SysML(Systems Modeling Language)은 시스템을 대상으로 한 그래픽 모델링 언어로, UML(Unified Modeling Language)을 기반으로 확장하여 개발된 것이다. SysML은 OMG(Object Management Group), INCOSE(International Council on Systems Engineering), 그리고 ISO STEP AP233(시스템 엔지니어링 데이터 교환 표준)의 요구사항을 반영한 엔지니어링 RFP(Request for Proposal)에 따라 만들어졌으며, UML 2.0의 하위 집합을 기반으로 하되, 시스템 모델링에 특화된 확장 기능을 포함하고 있다. 즉, UML의 한 프로파일(profile)이면서도 시스템 중심 기능이 강화된 언어이다.
SysML은 하드웨어, 소프트웨어, 데이터, 입력/출력, 절차 및 설비 등 복합적인 요소를 포함하는 시스템을 요구, 분석, 설계, 검증, 검증 및 검토(V&V) 등 전 과정에 걸쳐 모델링할 수 있도록 지원한다. 이를 통해 복잡한 시스템을 시각적으로 표현하고, 다양한 구성요소 간의 관계를 추적할 수 있다. 또한, SysML은 XML 기반 메타데이터 교환(XMI)을 통해 다른 모델 및 데이터 시스템과의 연동을 지원하며, 국제 표준인 AP233의 진화 과정과도 연계되어 있다. 이러한 상호운용성과 표준성은 SysML이 시스템 모델 중심 개발(model-driven SE)을 위한 핵심 언어로 자리매김하게 된 중요한 배경이다.
결론적으로, SysML은 전통적인 문서 중심 시스템 개발 방식에서 벗어나, 시각적 모델 중심으로 시스템을 통합적으로 정의하고 분석하며 검증할 수 있도록 해주는 핵심 도구라 할 수 있다. 이는 특히 모델 기반 시스템 엔지니어링(Model-Based Systems Engineering : MBSE)을 실현하기 위한 기반 언어로 널리 사용된다.
왜 SysML 모델링 언어와 MBSE가 연계되는가
지금까지 기본 시스템 엔지니어링의 시스템 설계 활동에 대해 설명해 왔지만 이들의 활동의 주요 목적은 MBSE에서도 마찬가지이다. 그러나 지금까지의 시스템 엔지니어링은 두 가지 ‘불편’이 있었다. 하나는 자연 언어 그 자체의 기술력으로 인한 불편이다. 예를 들어, 자연 언어로 시스템 엔지니어링 영역에서 널리 사용되는 계층 구조와 병렬 동작을 동시에 설명하는 것은 어렵다. 또한, 입력한 정보의 조감과 여러 원인과 결과를 가진 인과 관계를 설명하기도 어렵다. SysML은 시스템 엔지니어링을 위해 개발된 준 형식적 도식 언어이며 이러한 불편을 해소하기 쉽다.
또 다른 불편은 설명 내용의 일관성 유지라는 문제이다. 자연 언어로 작성된 문서 간에 걸친 정보의 완전성 및 일관성을 유지하는 것은 어렵고 문서에 설명된 정보가 변경될 때 시스템의 수명주기에 미치는 영향을 예측하기가 어렵다. 이들에 대해서도 모델링 툴을 병용하면서 SysML을 사용하면 이러한 불편을 없앨 수 있다.
한편 ‘개발 현장용’ 모델 언어의 의미와 메타 모델로서 추적성을 완비해야 한다. 아직 설계서로부터의 자동 코드 생성은 주류가 아니고, 사람의 손으로 프로그래밍에 의존하는 실태를 감안하면 다양한 능력의 사람이 이해하고 사용할 수 있는 설계 모델 언어여야 한다. 즉, 엄밀하지만 그것을 읽어내는데 수학적인 기능이 필수인 형식 언어나 SysML을 자유롭게 구사해 표현한 모델에서는 많은 리뷰어가 이해하는 데 고생하고, 종합적으로는 생산성을 떨어뜨릴 수 있다. 따라서 모델 간 추적성 정의만 엄격하게 한 모델 표현(언어)을 정의했다. 또한 설계 프로세스로 알려진 크게 복잡하고 세밀한 개발 단계를 결정하는 것만으로 그치지 않고 상품 디자인에 집중할 수 있도록, 모델 레벨에서 설계 순서 및 모델 간의 추적성을 나타내고 있다.
SysML은 구조, 동작, 속성 및 요구 사항 측면에서 복잡한 시스템 설명을 캡처하기 위한 표준화된 범용 그래픽 모델링 언어이다. 모델리카(Modelica)는 미분 대수 방정식의 관점에서 복잡한 시스템의 연속 및 이산 시간 역학을 분석하기 위한 표준화된 범용 시스템 모델링 언어이다. SysML 모델의 설명력과 모델리카 모델의 분석 및 계산 능력을 통합하면 SysML 또는 모델리카가 개별적으로 제공하는 것보다 훨씬 더 뛰어난 기능을 제공할 수 있다.
모호함 없이 SysML과 모델리카 모델 간에 모델링 정보를 효율적이고 자동으로 전송하기 위한 구현을 지원하는 두 모델링 언어 간의 표준화된 양방향 변환이 개발되고 있다. 이러한 양방향 변환 접근 방식에 대한 개요 외에도, 이번 호에서는 변환 원리를 명확히 하고 이 두 언어 간의 통합으로 인해 발생하는 중요한 시너지 효과를 설명하는 간단한 예를 제공한다.
SysML은 기본 의미론을 갖춘 잘 정의된 그래픽 구성을 사용하여 시스템 모델을 생성하고 관리하는 데 사용할 수 있는 범용 시스템 모델링 언어이다.(Object Management Group, 2008) SysML은 UML 2(Object Management Group, 2009)의 하위 집합을 재사용하고 새로운 모델링 요소와 두 가지 새로운 다이어그램 유형을 추가하여 이를 확장한다. 이러한 SysML 다이어그램은 <그림 1>에 나와있다.
그림 1. SysML 다이어그램 개요 및 UML 다이어그램과의 관계
요구 사항 다이어그램 및 매개변수 다이어그램과 결합된 일련의 동작 및 구조 다이어그램은 시스템의 통합 보기를 제공한다. 그러나 SysML은 단순한 다이어그램 세트 그 이상을 나타낸다. 다이어그램의 기본에는 모든 모델링 구성을 공식적으로 나타내는 추상 구문 모델 저장소가 있다. 그만큼 위에 표시된 대로 SysML의 시스템 동작은 활동 다이어그램, 상태 머신 다이어그램 및/또는 시퀀스 다이어그램과 관련 의미론의 조합을 통해 캡처된다.
■ 기사 상세 내용은 PDF로 제공됩니다.
작성일 : 2026-03-06