SysML

2025-12-04, G30DR

1. 서론: 복잡성의 시대와 시스템 엔지니어링의 패러다임 전환

1.1 기술적 복잡성의 증대와 위기

21세기 산업 생태계는 전례 없는 기술적 복잡성의 폭발을 경험하고 있다. 과거 기계 공학 중심이었던 제품들은 이제 소프트웨어, 전자 제어, 통신 네트워크, 그리고 인간과 상호작용하는 인터페이스가 유기적으로 결합된 사이버-물리 시스템(CPS: Cyber-Physical Systems)으로 진화하였다. 항공우주, 국방, 자동차, 의료 기기, 에너지 플랜트 등 안전 필수(Safety-Critical) 산업 분야에서 시스템은 더 이상 단일 엔지니어링 도메인의 지식만으로는 설계, 해석, 검증이 불가능한 ‘시스템의 시스템(System of Systems)’ 양상을 띤다.

이러한 복잡성의 증가는 필연적으로 개발 위험을 고조시킨다. 요구사항의 모호함, 인터페이스의 불일치, 설계 변경에 따른 영향 파악의 어려움은 프로젝트의 비용 초과와 일정 지연, 심각한 경우 시스템의 재앙적 실패로 이어진다. 스탠디시 그룹(Standish Group)의 카오스 리포트와 같은 산업 분석 자료들은 대규모 프로젝트의 실패 원인 중 상당수가 기술적 난이도보다는 의사소통의 부재와 요구사항 관리의 실패에 기인함을 지속적으로 지적해왔다.

1.2 문서 기반 시스템 엔지니어링(DBSE)의 한계

전통적인 시스템 엔지니어링(SE)은 ‘문서 기반(Document-Based)’ 접근 방식을 취해왔다. 수천 페이지에 달하는 텍스트 기반의 요구사항 명세서(SRS), 인터페이스 정의서(ICD), 시스템 아키텍처 기술서(SAD), 시험 절차서 등이 개발의 진실 공급원(Source of Truth) 역할을 수행했다. 그러나 문서는 본질적으로 정적이며, 서로 다른 문서 간의 데이터 연관성을 실시간으로 유지하는 것이 불가능에 가깝다.

예를 들어, 자동차의 제동 시스템 요구사항이 변경되었을 때, 이를 기술한 텍스트 문서는 수정될 수 있지만, 그 변경이 제동 제어 유닛(ECU)의 소프트웨어 아키텍처 설계 문서나 전기 회로도, 검증 테스트 케이스에 자동으로 반영되지 않는다. 엔지니어는 수동으로 모든 관련 문서를 찾아 일관성을 검증해야 하며, 이 과정에서 인적 오류(Human Error)가 개입될 여지가 매우 크다. 정보는 파편화되고(Siloed), 부서 간 장벽은 높아지며, 전체 시스템을 조망하는 통합된 뷰(View)를 제공하지 못하는 것이 DBSE의 치명적인 약점이다.1

1.3 모델 기반 시스템 엔지니어링(MBSE)의 부상과 SysML의 역할

이러한 한계를 극복하기 위해 등장한 패러다임이 바로 모델 기반 시스템 엔지니어링(MBSE: Model-Based Systems Engineering)이다. MBSE는 문서를 보조적인 산출물로 격하시키고, ’모델(Model)’을 시스템 개발의 중심에 둔다. 여기서 모델이란 단순한 그림이 아니라, 시스템의 구조, 동작, 요구사항, 파라미터가 논리적으로 연결된 데이터베이스이다. MBSE 환경에서 요구사항이 변경되면, 해당 요구사항과 연결된(Traceable) 기능, 구조, 검증 요소가 즉각적으로 식별되어 영향 분석(Impact Analysis)이 가능해진다.

이러한 MBSE를 실현하기 위해서는 엔지니어들이 공통적으로 이해하고 사용할 수 있는 표준화된 ’언어’가 필수적이다. 소프트웨어 공학에서의 UML(Unified Modeling Language)이 코드 작성 전 설계를 위한 표준으로 자리 잡았듯, 시스템 엔지니어링 분야에서는 SysML(Systems Modeling Language)이 그 역할을 수행한다. SysML은 복잡한 시스템을 시각적으로 명세, 분석, 설계, 검증하기 위한 범용 그래픽 모델링 언어로서, 다양한 이해관계자(기계, 전자, 소프트웨어 엔지니어 및 프로젝트 관리자 등) 간의 명확한 의사소통을 지원하는 ’공용어(Lingua Franca)’로 기능한다.4

본 보고서는 SysML의 정의와 역사적 배경, UML과의 관계를 심층 분석하고, SysML v1의 4대 기둥과 9가지 다이어그램의 상세 문법 및 의미론(Semantics)을 체계적으로 고찰한다. 나아가 최근 발표된 SysML v2의 혁신적인 변화와 주요 MBSE 도구 생태계, 그리고 실제 산업 적용 사례를 통해 SysML이 현대 엔지니어링에 미치는 영향력을 포괄적으로 규명한다.

2. SysML의 기원, 정의 및 아키텍처

2.1 SysML의 탄생 배경과 OMG 표준화 과정

SysML의 태동은 2000년대 초반, 국제 시스템 엔지니어링 협회(INCOSE)와 객체 관리 그룹(OMG)의 협력에서 비롯되었다. 당시 소프트웨어 모델링 언어인 UML 2.0이 성공적으로 정착함에 따라, 시스템 엔지니어들은 이를 하드웨어와 인력, 프로세스를 포함한 전체 시스템 레벨로 확장하고자 하는 요구를 가지게 되었다.

UML은 객체 지향 소프트웨어 설계에는 탁월했으나, 물리적 법칙이 지배하는 시스템의 연속적인 흐름이나 질량, 에너지와 같은 물리량, 그리고 텍스트 기반의 요구사항 추적성을 표현하기에는 태생적인 한계를 지니고 있었다. 이에 OMG는 2003년 ‘시스템 엔지니어링을 위한 UML(UML for Systems Engineering)’ 제안요청서(RFP)를 발행하였고, 업계의 주요 기업들과 툴 벤더들이 참여한 ’SysML 파트너스(SysML Partners)’가 결성되어 사양 개발을 주도했다. 그 결과 2006년 SysML v1.0이 OMG의 공식 표준으로 채택되었으며, 이후 v1.1에서 v1.7을 거쳐 현재의 v2.0에 이르기까지 지속적인 진화를 거듭하고 있다.4

2.2 SysML과 UML의 관계: 부분집합이자 확장

SysML을 이해하는 가장 중요한 열쇠는 UML과의 관계를 파악하는 것이다. SysML은 기술적으로 **UML 2의 프로파일(Profile)**로 정의된다. 프로파일이란 UML의 메타모델을 수정하지 않고 특정 도메인에 맞게 언어를 커스터마이징하는 메커니즘이다.

구분UML (Unified Modeling Language)SysML (Systems Modeling Language)
주요 적용 대상소프트웨어 집약적 시스템하드웨어, SW, 정보, 프로세스, 인력 등을 포함한 복합 시스템
기반 메커니즘메타모델 (MOF 기반)UML 2의 프로파일 (Profile) 및 확장
다이어그램 수14개 (UML 2.5 기준)9개 (SysML 1.x 기준)
구조 표현클래스(Class), 컴포넌트(Component)블록(Block), 파트(Part)
물리적 흐름제한적 (객체 흐름 중심)아이템 흐름(Item Flow), 유량(Rate), 확률 등 지원
요구사항 관리유스케이스로 간접 표현 또는 별도 도구요구사항 다이어그램(Requirement Diagram) 고유 제공
엔지니어링 해석지원 안 함파라메트릭 다이어그램(Parametric Diagram) 고유 제공

SysML은 “UML 4 SysML“이라는 개념을 통해 UML의 전체 다이어그램 중 시스템 엔지니어링에 불필요한 부분(예: 배포 다이어그램, 객체 다이어그램, 통신 다이어그램 등 소프트웨어 구현에 치중된 요소)을 과감히 제외했다. 동시에 UML의 클래스 다이어그램을 **블록 정의 다이어그램(BDD)**으로, 복합 구조 다이어그램을 **내부 블록 다이어그램(IBD)**으로, 활동 다이어그램을 시스템 흐름에 맞게 확장하여 재정의했다. 무엇보다 UML에는 존재하지 않는 요구사항 다이어그램파라메트릭 다이어그램을 신설함으로써 시스템 엔지니어링의 본질인 ’요구사항 관리’와 ‘성능 분석’ 기능을 언어 차원에서 수용했다.9

2.3 SysML 모델링의 4대 기둥 (Pillars)

SysML은 시스템을 바라보는 네 가지 핵심 관점, 즉 4대 기둥을 중심으로 구성된다.

  1. 구조(Structure): 시스템의 계층적 구성, 부품 간의 정적 관계, 분류 체계를 정의한다. (BDD, IBD, Pkg)
  2. 동작(Behavior): 시스템의 기능적 흐름, 상태 변화, 구성 요소 간의 상호작용을 정의한다. (Act, Seq, Stm, UC)
  3. 요구사항(Requirements): 텍스트 기반의 요구사항을 모델링하고 다른 요소와의 추적성을 관리한다. (Req)
  4. 파라메트릭(Parametrics): 시스템 요소 간의 수학적, 물리학적 제약 조건을 정의하여 분석 모델과 연동한다. (Par)

이 네 가지 기둥은 서로 독립적으로 존재하는 것이 아니라, **할당(Allocation)**이라는 횡단적 개념을 통해 유기적으로 연결된다. 기능(동작)은 구조(부품)에 할당되고, 구조는 요구사항을 만족(Satisfy)시키며, 파라메트릭 제약 조건은 구조의 속성을 구속한다.13

3. SysML v1의 구조 모델링 (Structural Modeling) 상세 분석

구조 모델링은 시스템의 뼈대를 만드는 작업이다. 시스템이 ’무엇’으로 이루어져 있는지를 정의하며, 이는 모든 동작과 기능이 수행되는 물리적, 논리적 기반이 된다.

3.1 블록 정의 다이어그램 (Block Definition Diagram, BDD)

BDD는 시스템의 설계 청사진(Blueprint)과 같다. UML의 클래스 다이어그램에 대응되지만, 시스템 엔지니어링의 용어인 ’블록(Block)’을 사용하여 직관성을 높였다.

  • 블록(Block): 시스템을 구성하는 가장 기본적인 단위이다. 블록은 하드웨어, 소프트웨어, 시설, 사람, 또는 데이터일 수도 있다. 블록은 <<block>> 스테레오타입으로 표현되며, 다음과 같은 구획(Compartment)을 가질 수 있다.
  • Parts: 블록을 구성하는 내부 부품.
  • References: 블록이 참조하거나 연결된 외부 요소.
  • Values: 블록의 물리적 속성(무게, 가격, 전력 등). SysML은 값(Value)에 단위(Unit)와 차원(Dimension)을 부여할 수 있는 ISO 80000 기반의 라이브러리를 제공한다.
  • Operations: 블록이 수행할 수 있는 서비스나 기능.
  • Constraints: 블록이 만족해야 하는 제약 조건.
  • 관계(Relationships): BDD의 핵심은 블록 간의 관계 정의에 있다.
  • 합성(Composition): 검은색 다이아몬드로 표현된다. 강한 소유권을 의미하며, ‘전체(Whole)’ 블록이 파괴되면 ‘부분(Part)’ 블록도 함께 파괴된다. (예: 자동차 - 엔진)
  • 집합(Aggregation): 흰색 다이아몬드로 표현된다. 약한 소유권을 의미하며, 부분 블록이 여러 전체 블록에 공유될 수 있다. (예: 자동차 - 타이어(교체 가능))
  • 참조 연관(Reference Association): 단순 화살표로 표현된다. 블록 간의 접속이나 논리적 참조를 나타낸다. (예: 발전기 -> 배터리 (전력 공급))
  • 일반화(Generalization): 상속 관계이다. 하위 블록은 상위 블록의 모든 속성과 기능을 물려받는다. (예: 가솔린 엔진은 엔진의 일종이다).15

3.2 내부 블록 다이어그램 (Internal Block Diagram, IBD)

BDD가 시스템의 ’정의(Definition)’를 다룬다면, IBD는 그 정의된 블록이 실제로 사용될 때의 ’내부 결선도(Internal Wiring)’를 보여준다. IBD는 화이트박스 뷰(White-box View)를 제공한다.

  • 파트(Part): IBD에 배치되는 요소는 블록 그 자체가 아니라, 블록의 인스턴스 역할인 ’파트’이다. 이는 partName : BlockName 형식으로 표기된다.
  • 커넥터(Connector): 파트와 파트 사이를 연결하는 선이다. 이는 물리적 링크(케이블, 파이프)일 수도 있고, 논리적 흐름(데이터 버스)일 수도 있다.
  • 포트(Port): IBD의 핵심은 인터페이스 정의이다. SysML v1.3부터 포트 개념이 고도화되었다.
  • 프록시 포트(Proxy Port): 블록의 내부 기능을 외부로 노출시키는 인터페이스 창구이다. 자체적인 구현을 갖지 않으며, 반드시 **인터페이스 블록(Interface Block)**에 의해 타입이 지정되어야 한다. 이를 통해 인터페이스 규격과 내부 구현을 분리(Decoupling)할 수 있다.
  • 풀 포트(Full Port): 블록 경계에 존재하는 실제 물리적 부품이다. 예를 들어, 라즈베리 파이 보드의 USB 커넥터 하드웨어 자체가 풀 포트가 될 수 있다.
  • 표준 포트(Standard Port): v1.2 이전의 유산으로, 주로 소프트웨어 서비스(Operation) 제공을 위해 사용되었으나 v1.3 이후 프록시 포트로 대체되는 추세이다.19
  • 아이템 흐름(Item Flow): 커넥터 위에 검은색 화살표 머리()로 표시되며, 실제로 흐르는 물질, 에너지, 데이터를 명시한다. 이는 IBD가 단순한 연결도가 아니라 흐름도 역할을 하게 한다.23

3.3 패키지 다이어그램 (Package Diagram, Pkg)

모델이 커질수록 수천 개의 요소를 관리하는 것이 불가능해진다. 패키지 다이어그램은 윈도우 탐색기의 폴더처럼 모델 요소를 논리적으로 그룹화하여 관리한다. <<import>>, <<access>> 관계를 통해 패키지 간의 가시성(Visibility)을 제어하고, 네임스페이스 충돌을 방지한다. 대규모 프로젝트에서는 모델의 아키텍처(예: 요구사항 패키지, 기능 패키지, 물리 패키지)를 정의하는 최상위 뷰로 사용된다.9

4. SysML v1의 행위 모델링 (Behavioral Modeling) 상세 분석

행위 모델링은 시스템이 시간의 흐름이나 이벤트에 따라 어떻게 동작하는지를 정의한다. SysML은 이를 위해 다양한 관점의 다이어그램을 제공한다.

4.1 활동 다이어그램 (Activity Diagram, Act)

SysML의 활동 다이어그램은 데이터 흐름(Data Flow)과 제어 흐름(Control Flow)을 통합한, 가장 강력하고 빈번하게 사용되는 행위 모델링 도구이다. UML의 활동 다이어그램을 기반으로 하되, 시스템 엔지니어링을 위해 다음과 같은 기능이 확장되었다.

  • 제어 및 객체 흐름: 실선은 제어의 순서를, 점선이나 사각형 핀(Pin)은 데이터/물질의 이동을 나타낸다. 이를 통해 “전원을 켠다(제어)“와 “연료를 주입한다(물질)“를 하나의 다이어그램에서 표현할 수 있다.
  • 확률(Probability) 및 유량(Rate): 활동 엣지(Edge)에 확률 값을 부여하여 불확실한 시나리오를 모델링하거나, <<continuous>>, <<discrete>> 스테레오타입을 통해 연속적인 물리량의 흐름(예: 초당 5리터의 물)을 표현할 수 있다. 이는 이산적인(Discrete) 소프트웨어 로직을 넘어선 물리 시스템 모델링의 핵심이다.25
  • 토큰 시멘틱(Token Semantics): 페트리 넷(Petri Net) 기반의 토큰 흐름 개념을 사용하여 병렬 처리, 동기화, 분기 등을 정밀하게 정의한다.
  • 수영레인(Swimlanes)과 할당: 활동을 세로 또는 가로 구획으로 나누어 각 액션을 수행하는 주체(블록)를 명시함으로써, 기능과 구조의 할당을 시각화한다.

4.2 시퀀스 다이어그램 (Sequence Diagram, SD)

시스템 구성 요소 간의 메시지 교환을 시간 순서대로 표현한다. 특정 유스케이스나 시나리오를 상세화할 때 주로 사용된다.

  • 복합 프래그먼트(Combined Fragments): 단순한 순차적 흐름 외에 복잡한 로직을 표현하기 위해 사용된다.
  • alt (Alternative): if-else와 같은 조건 분기.
  • opt (Option): 조건부 실행 (if without else).
  • loop: 반복 실행.
  • par (Parallel): 병렬 실행. 동시성 문제를 분석할 때 유용하다.
  • break: 예외 상황 발생 시 흐름 중단.
  • seq (Weak Sequencing) & strict (Strict Sequencing): 메시지 순서의 엄격성을 제어한다. SysML에서는 분산 시스템의 타이밍 문제를 다룰 때 중요하게 사용된다.27
  • 참조(Ref): 다른 시퀀스 다이어그램을 호출하여 다이어그램의 복잡도를 낮추고 재사용성을 높인다.

4.3 상태 머신 다이어그램 (State Machine Diagram, Stm)

이벤트에 반응하여 상태가 변하는 시스템(Event-Driven System)을 모델링한다. 예를 들어, 엘리베이터 제어기나 항공기의 비행 모드 제어 시스템 등을 정의할 때 필수적이다.

  • 상태(State)와 전이(Transition): 상태는 둥근 사각형으로, 전이는 화살표로 표현된다. 전이 구문은 Event [Guard] / Effect 형식을 따른다.
  • Event: 상태 변화를 유발하는 트리거 (예: 버튼 누름).
  • Guard: 전이가 일어나기 위한 조건 (예: 도어 닫힘).
  • Effect: 전이 순간 수행되는 동작 (예: 모터 가동).
  • 계층적 상태(Hierarchical State): 상태 안에 하위 상태 머신을 내포할 수 있어 복잡한 로직을 구조화할 수 있다.
  • 직교 상태(Orthogonal State): 하나의 객체가 동시에 여러 상태를 가질 수 있음을 표현한다. (예: 노트북이 ’충전 중’이면서 동시에 ’절전 모드’일 수 있음).29

4.4 유스케이스 다이어그램 (Use Case Diagram, UC)

시스템의 목표와 범위를 정의하는 상위 레벨 다이어그램이다. 시스템이 외부 사용자(Actor)에게 제공하는 가치(Value)를 기술한다. SysML에서는 유스케이스가 요구사항을 도출하는 기반이 되며, 이후 활동 다이어그램이나 시퀀스 다이어그램으로 상세화된다.

  • 관계: <<include>>는 공통 기능을 재사용할 때, <<extend>>는 선택적 기능을 추가할 때 사용된다. 일반화 관계를 통해 액터나 유스케이스의 계층 구조를 정의할 수 있다.32

5. 요구사항 엔지니어링과 추적성 (Requirements & Traceability)

SysML이 UML과 차별화되는 가장 큰 특징 중 하나는 텍스트 기반의 요구사항을 모델의 일급 시민(First-class Citizen)으로 다룬다는 점이다. 이는 DBSE의 한계를 극복하는 핵심 열쇠이다.

5.1 요구사항 다이어그램 (Requirement Diagram, Req)

요구사항은 <<requirement>> 스테레오타입이 적용된 블록으로 표현된다. 각 요구사항은 고유 ID(Id)와 텍스트(Text) 속성을 가지며, 기능, 성능, 인터페이스, 물리적 제약 등 다양한 하위 유형으로 분류될 수 있다.

5.2 추적성 관계의 유형 및 의미

SysML은 요구사항 간, 그리고 요구사항과 다른 모델 요소 간의 관계를 정의하기 위해 풍부한 의존 관계(Dependency)를 제공한다.34

관계 유형의미적용 예시
Satisfy (<<satisfy>>)설계 요소가 요구사항을 충족함을 나타냄‘엔진’ 블록이 ’출력 요구사항’을 Satisfy함
Verify (<<verify>>)테스트 케이스가 요구사항을 검증함을 나타냄‘가속 테스트’ 활동이 ’가속 성능 요구사항’을 Verify함
DeriveReqt (<<deriveReqt>>)상위 요구사항에서 하위 요구사항이 분석을 통해 도출됨’차량 정지 거리’에서 ’브레이크 압력 요구사항’이 Derive됨
Refine (<<refine>>)요구사항을 더 명확하게 설명하거나 상세화함텍스트 요구사항을 유스케이스나 시퀀스 다이어그램으로 Refine함
Trace (<<trace>>)일반적인 추적 관계회의록이나 규제 문서와 요구사항 간의 Trace
Copy (<<copy>>)다른 프로젝트나 라이브러리의 요구사항을 재사용함표준 규격을 프로젝트 요구사항으로 Copy함

5.3 추적성의 가치: 영향 분석 및 검증 커버리지

이러한 관계들이 모델 내에 설정되면, MBSE 도구는 이를 매트릭스(Matrix)나 테이블 형태로 시각화할 수 있다.

  1. 영향 분석(Impact Analysis): 상위 요구사항이 변경되었을 때, DeriveReqtSatisfy 관계를 따라가며 수정해야 할 하위 요구사항과 시스템 부품, 소프트웨어 모듈을 즉시 파악할 수 있다.
  2. 검증 커버리지(Verification Coverage): 모든 요구사항이 적어도 하나 이상의 Verify 관계를 가지고 있는지 확인하여, 테스트되지 않는 요구사항(Missing Test)을 방지한다.
  3. 설계 누락 방지: Satisfy 관계가 없는 요구사항(Dangling Requirement)을 찾아내어 구현되지 않은 기능을 식별한다.

6. 파라메트릭 모델링과 엔지니어링 해석 (Parametrics)

파라메트릭 다이어그램(Par)은 SysML을 단순한 설계 도구에서 해석 도구로 확장시킨다. 이는 시스템의 구조적 모델(BDD/IBD)에 수학적 방정식과 물리적 제약 조건을 결합하는 메커니즘이다.

6.1 제약 블록 (Constraint Block)

제약 블록은 재사용 가능한 수식의 라이브러리이다. 예를 들어 F=ma라는 뉴턴 제2법칙은 제약 블록으로 정의될 수 있다. 이 블록은 F, m, a라는 파라미터를 가진다.

6.2 제약 속성 및 바인딩 (Binding)

시스템 모델(예: 자동차 블록) 내에서 제약 블록이 사용될 때 이를 **제약 속성(Constraint Property)**이라고 한다. 파라메트릭 다이어그램에서는 시스템의 값 속성(Value Property)(예: 자동차의 질량, 엔진의 힘)을 제약 속성의 파라미터와 **바인딩 커넥터(Binding Connector)**로 연결한다. 바인딩 커넥터는 두 속성이 항상 같은 값을 가짐을 수학적으로 보장한다.36

6.3 시뮬레이션 및 트레이드 오프 분석

파라메트릭 모델이 완성되면, SysML 도구는 이를 수학적 솔버(Solver)인 MATLAB/Simulink, Mathematica, OpenModelica 등과 연동하여 실행한다.

  • 사례: 전기차 설계 시 배터리 용량(입력)과 모터 효율(입력), 차량 중량(입력)을 변경해가며 주행 가능 거리(출력)를 실시간으로 계산한다.
  • 가치: 엑셀(Excel)로 계산하던 것을 모델에 통합함으로써, 설계 변경이 성능에 미치는 영향을 즉시 평가하고 최적의 설계 대안을 선정하는 트레이드 오프 연구(Trade Study)를 자동화할 수 있다.39

7. SysML v2: 차세대 시스템 모델링 언어의 혁신

SysML v1은 시스템 엔지니어링의 표준으로 자리 잡았으나, UML 기반이라는 태생적 한계로 인해 학습 곡선이 높고, 의미론적 모호성이 존재하며, 도구 간 상호운용성이 떨어지는 문제가 있었다. 이에 OMG는 2017년부터 완전히 새로운 SysML v2 개발을 추진하여 2023년 말 최종 사양을 확정 발표하였다.4

7.1 KerML: 새로운 의미론적 기반

SysML v2는 더 이상 UML의 프로파일이 아니다. 대신 시스템 모델링을 위해 바닥부터 새로 설계된 **KerML(Kernel Modeling Language)**이라는 메타모델을 기반으로 한다. KerML은 논리적, 물리적 개념을 엄밀하게 정의하여 모델의 해석에 있어 모호함을 제거했다. 이는 서로 다른 도구에서 모델을 열었을 때 해석이 달라지는 문제를 근본적으로 해결한다.42

7.2 텍스트 표기법(Textual Notation)의 도입과 코드로서의 모델

SysML v2의 가장 눈에 띄는 변화는 표준화된 텍스트 구문의 도입이다. v1은 그래픽 다이어그램 중심이었으나, v2는 프로그래밍 언어와 유사한 텍스트 코드로 모델을 작성할 수 있으며, 이는 그래픽 뷰와 완벽하게 동기화된다.

SysML v2 텍스트 코드 예시:

코드 스니펫

package VehicleDefinition {
part def Vehicle {
attribute mass : Real;
attribute speed : Real;

action def Drive {
in targetSpeed : Real;
}

state def OperatingStates {
entry;
state Idle;
state Moving;
transition Idle to Moving if speed > 0;
}
}
}

이러한 텍스트 지원은 Git과 같은 버전 관리 시스템을 활용한 형상 관리, Diff/Merge 기능 활용, 그리고 LLM(대규모 언어 모델)을 이용한 모델 자동 생성 등을 가능하게 하여 모델링 생산성을 혁신적으로 높인다.41

7.3 사용(Usage)과 정의(Definition)의 통합

v1에서는 블록(Definition)과 파트(Usage)가 별개의 개념으로 존재하여 모델 구조가 복잡했다. v2는 모든 모델 요소에 대해 ’정의’와 ‘사용’ 패턴을 일관되게 적용한다. 예를 들어, part def는 부품의 정의이고, part는 그 정의의 사용이다. 이는 언어의 규칙성을 높여 배우기 쉽게 만든다.46

7.4 표준 API를 통한 상호운용성 혁명

v2 사양에는 언어뿐만 아니라 모델에 접근하기 위한 표준 API(REST/OSLC 기반)가 포함된다. 이는 벤더 종속성을 탈피하여, 사용자가 Python, Java 등으로 작성한 스크립트나 타 엔지니어링 도구(CAD, PLM)가 SysML 모델 데이터에 표준화된 방식으로 접근할 수 있게 한다.47

8. MBSE 도구 생태계 및 비교 분석

SysML은 언어일 뿐, 실제 가치는 이를 구현하는 MBSE 도구를 통해 창출된다.

도구 (Vendor)특징 및 강점약점주요 활용 분야
Cameo Systems Modeler (Dassault Systèmes)가장 널리 사용되는 업계 표준 도구. 직관적인 UI, 강력한 시뮬레이션(CST), 엄격한 문법 준수. 팀워크 서버를 통한 협업 강력.고가(High Cost). 대규모 모델 로딩 시 성능 이슈(개선 중).국방, 항공우주, 대기업 연구소
Rhapsody (IBM)코드 생성(Code Generation) 및 임베디드 SW 개발에 최적화. 하드웨어/SW 통합 시뮬레이션 강점.UI가 직관적이지 않음. SysML 순수 모델링보다는 구현에 치중됨.자동차 전장, 임베디드 시스템
Enterprise Architect (Sparx Systems)매우 저렴한 가격(가성비). SysML 외 다양한 아키텍처 프레임워크 지원.문법 검사가 느슨하여 비표준 모델링 허용 가능성 있음. UX가 복잡함.중소기업, SI 프로젝트, IT 아키텍처
Capella (Eclipse/Thales)Arcadia 방법론 기반 오픈소스 도구. SysML과 유사하나 독자적인 언어 사용. 시스템 아키텍처 직관성 우수.SysML 표준을 완벽히 따르지 않음(상호운용성 제약).유럽 항공우주 산업

.49

9. 산업별 적용 사례 및 MBSE의 가치 (ROI)

9.1 항공우주 및 국방: 복잡성 정복의 최전선

미 국방부(DoD)는 ’Digital Engineering Strategy’를 통해 무기 체계 획득 시 MBSE 산출물 제출을 의무화하고 있다. 록히드 마틴, 보잉 등은 F-35 전투기나 유인 우주선 개발 시 SysML을 사용하여 수십만 개의 요구사항을 하위 시스템에 할당하고 인터페이스를 관리한다.

  • 사례: NASA의 화성 탐사선 프로젝트에서는 SysML을 사용하여 착륙선, 로버, 궤도선 간의 통신 시나리오와 전력 소비량을 시뮬레이션하여, 설계 오류를 조기에 발견하고 미션 성공률을 높였다.54

9.2 자동차: 기능 안전과 자율주행

ISO 26262 기능 안전 표준은 요구사항부터 설계, 검증까지의 완벽한 추적성을 요구한다. 자동차 제조사들은 SysML을 도입하여 HARA(위험 분석 및 리스크 평가) 결과를 모델에 통합하고, 안전 목표(Safety Goal)가 아키텍처에 올바르게 반영되었는지 검증한다. 또한 자율주행차의 복잡한 주행 시나리오를 활동 다이어그램과 상태 머신으로 모델링하여 논리적 결함을 사전에 차단한다.55

9.3 의료 기기: 규제 준수와 안전성 확보

FDA 승인 과정에서 요구되는 위험 관리(Risk Management) 문서를 생성하고 관리하는 데 SysML이 활용된다. 인공 췌장이나 수술 로봇과 같이 인명과 직결되는 기기의 경우, 유스케이스를 통해 오작동 시나리오를 분석하고, 이를 방지하기 위한 안전 메커니즘을 설계 모델에 반영하여 추적성을 입증한다.57

9.4 ROI 분석: 왜 MBSE인가?

MBSE 도입 초기에는 도구 구매와 교육, 프로세스 재정립으로 인해 비용이 상승하는 ’투자 구간’이 발생한다. 그러나 연구 결과에 따르면, MBSE는 설계 오류의 50% 이상을 차지하는 ’요구사항 및 인터페이스 오류’를 조기에 발견하게 하여, 전체 수명 주기 비용(LCC)을 20~30% 절감하는 효과가 있다. 또한, 모델의 재사용성을 통해 파생 모델 개발 시간을 획기적으로 단축시킨다.59

10. 결론

SysML은 단순한 다이어그램 작성 도구가 아니라, 현대 시스템 엔지니어링의 난제인 ’복잡성’을 관리하기 위한 필수적인 지적 도구이다. 문서 기반의 엔지니어링이 가진 정보의 파편화와 불일치 문제를 해결하고, 모델이라는 단일 진실 공급원을 통해 엔지니어링 데이터의 일관성과 추적성을 보장한다.

SysML v1이 MBSE의 개념을 정착시켰다면, 다가오는 SysML v2 시대는 텍스트 기반 모델링과 표준 API를 통해 시스템 모델이 디지털 트윈, AI, 시뮬레이션과 결합되는 진정한 ‘디지털 엔지니어링’ 시대를 열 것이다. 기업과 엔지니어는 도구의 사용법을 넘어, 시스템을 논리적 모델로 추상화하고 분석하는 ‘시스템적 사고(Systems Thinking)’ 역량을 배양함으로써 이러한 변화의 파도를 기회로 만들어야 한다.

11. 참고 자료

  1. What Is Model-Based Systems Engineering (MBSE)? - IBM, https://www.ibm.com/think/topics/model-based-systems-engineering
  2. An Introduction to Model-Based Systems Engineering (MBSE), https://www.sei.cmu.edu/blog/introduction-model-based-systems-engineering-mbse/
  3. Three Reasons Why Document-Based SE (Usually) Works Better Than (Most of) MBSE - MST.edu, https://web.mst.edu/lib-circ/files/Special%20Collections/INCOSE2010/Three%20Reasons%20why%20Document%20based%20SE%20(usually)%20works%20better%20than%20(most%20of)%20MBSE.pdf
  4. Systems modeling language - Wikipedia, https://en.wikipedia.org/wiki/Systems_modeling_language
  5. About the OMG System Modeling Language Specification Version 2.0, https://www.omg.org/spec/SysML/2.0/About-SysML
  6. What is MBSE and SysML v2 about in the end ? : r/systems_engineering - Reddit, https://www.reddit.com/r/systems_engineering/comments/1iard84/what_is_mbse_and_sysml_v2_about_in_the_end/
  7. SysML Specifications: Current Version - OMG SysML 1.7, https://sysml.org/sysml-specs/
  8. SysML vs. UML 2: A Detailed Comparison, https://ecs.wgtn.ac.nz/foswiki/pub/Events/MODELS2011/Material/MODELS_2011_T2-Roques-SysML_UML2.pdf
  9. Blog - SysML vs UML - what’s the difference? - draw.io, https://www.drawio.com/blog/sysml-vs-uml
  10. SysML FAQ: What is the relation between SysML and UML?, https://sysml.org/sysml-faq/what-is-relation-between-sysml-and-uml.html
  11. UML Diagrams vs. SysML Diagrams | Lucidchart, https://www.lucidchart.com/blog/uml-diagrams-vs-sysml-diagrams
  12. What is the difference between UML and SysML? - Quora, https://www.quora.com/What-is-the-difference-between-UML-and-SysML
  13. SysML FAQ: What are the SysML diagram types?, https://sysml.org/sysml-faq/what-are-sysml-diagram-types.html
  14. Systems Modeling Language (SysML) Tutorial - Object Management Group, https://www.omg.org/sysml/INCOSE-OMGSysML-Tutorial-Final-090901.pdf
  15. SysML Modelling Language explained - Object Management Group, https://www.omg.org/sysml/SysML_Modelling_Language_explained-finance.pdf
  16. SysML Block Definition Toolbox | Enterprise Architect User Guide - Sparx Systems, https://sparxsystems.com/enterprise_architect_user_guide/17.1/modeling_languages/sysml_block_definition.html
  17. Using Properties and Parts to Model Block Usage | Enterprise Architect User Guide, https://sparxsystems.com/enterprise_architect_user_guide/17.1/guide_books/props_and-parts-mod_blockuse.html
  18. Block property (SysML item) - PTC Support Portal, https://support.ptc.com/help/modeler/r10.2/en/Modeler/sysml/SysML_Block_property.html
  19. Modeling support for SysML 1.3 ports - IBM, https://www.ibm.com/docs/en/engineering-lifecycle-management-suite/design-rhapsody/10.0.1?topic=profile-modeling-support-sysml-13-ports
  20. Proxy Port vs Full Port - CameoMagic, https://cameomagic.com/proxy-port-vs-full-port/
  21. Proxy and Full ports in SysML - Dinesh Kumar Rajamani - Medium, https://dinesh-kumar-rajamani.medium.com/proxy-and-full-ports-in-sysml-184ef1f9ebed
  22. SysML Full Ports versus Proxy Ports - Model Based Systems Engineering 4 You - MBSE4U, https://mbse4u.com/2013/09/23/sysml-full-ports-versus-proxy-ports/
  23. Help defining part of a system that flows through multiple subsystems to produce the thing of interest : r/systems_engineering - Reddit, https://www.reddit.com/r/systems_engineering/comments/u2ytfw/help_defining_part_of_a_system_that_flows_through/
  24. Item flow (SysML item) - PTC Support Portal, https://support.ptc.com/help/modeler/r10.1/en/Modeler/sysml/SysML_Item_flow.html
  25. SysML Activity Diagram | Enterprise Architect User Guide - Sparx Systems, https://sparxsystems.com/enterprise_architect_user_guide/17.1/modeling_languages/sysml_activity_diagram.html
  26. SysML Activity Diagram - SysML Plugin 2022x - No Magic Product Documentation, https://docs.nomagic.com/spaces/SYSMLP2022x/pages/90401309/SysML+Activity+Diagram
  27. SysML: Modeling Scenarios with Sequence Diagram - Visual Paradigm, https://www.visual-paradigm.com/guide/sysml/modeling-scenarios-with-sequence-diagram/
  28. UML sequence diagram combined fragment is an interaction fragment which defines a combination (expression) of interaction fragments. - UML-Diagrams.org, https://www.uml-diagrams.org/sequence-diagrams-combined-fragment.html
  29. SysML: How to Use State Diagrams to Model Systems Behavior - Visual Paradigm, https://www.visual-paradigm.com/guide/sysml/how-to-use-state-diagram-to-model-behavior/
  30. SysML FAQ: What is a State Machine diagram (SMD)?, https://sysml.org/sysml-faq/what-is-state-machine-diagram.html
  31. State Machine Diagram - UML 2 Tutorial - Sparx Systems, https://sparxsystems.com/resources/tutorials/uml2/state-diagram.html
  32. SysML Use Case Diagram - SysML Plugin 19.0 LTR - No Magic Product Documentation, https://docs.nomagic.com/spaces/SYSMLP190/pages/30375797/SysML+Use+Case+Diagram
  33. SysML: Identify User Requirements with Use Case Diagrams - Visual Paradigm, https://www.visual-paradigm.com/guide/sysml/identify-user-requirements-with-use-case-diagrams/
  34. Adding SysML requirement containment to requirements diagrams - IBM, https://www.ibm.com/docs/en/engineering-lifecycle-management-suite/design-rhapsody/10.0.1?topic=diagrams-adding-sysml-requirement-containment-requirements
  35. Modeling Requirements with SysML – Requirements Engineering …, https://re-magazine.ireb.org/articles/modeling-requirements-with-sysml
  36. Parametric diagram (SysML diagram) - PTC Support Portal, https://support.ptc.com/help/modeler/r10.1/en/Modeler/sysml/SysML_Parametric_Diagram.html
  37. Binding Connector - SysML Plugin 19.0 LTR - No Magic Product Documentation, https://docs.nomagic.com/spaces/SYSMLP190/pages/30375899/Binding+Connector
  38. SysML Parametric Diagram - SysML Plugin 19.0 LTR - No Magic Product Documentation, https://docs.nomagic.com/spaces/SYSMLP190/pages/30375752/SysML+Parametric+Diagram
  39. ParaMagic, Melody, ParaSolver, Solvea - SysML parametric solvers that support model-based systems engineering, by managing model execution across multiple tools including MATLAB and Simulink - Third-Party Products & Services - MathWorks, https://www.mathworks.com/products/connections/product_detail/intercax-parametric-solvers.html
  40. SysML v2: A Streamlined Language for Systems Engineering, https://community.ibm.com/community/user/blogs/tom-hollowell/2024/08/09/sysml-v2-a-streamlined-language-for-systems-engine
  41. SysML v1.x vs SysML v2.0 | Sparx Systems North America, https://www.sparxsystems.us/enterprise-architect/sysml-v1-vs-sysml-v2/
  42. SysML® v2 Specification — Next-Generation MBSE Modeling | Object Management Group, https://www.omg.org/sysml/sysmlv2/
  43. An Analysis of the Semantic Foundation of KerML and SysML v2 - ResearchGate, https://www.researchgate.net/publication/383738728_An_Analysis_of_the_Semantic_Foundation_of_KerML_and_SysML_v2
  44. SysML v2 textual format - SysON, https://doc.mbse-syson.org/syson/v2025.4.0/user-manual/features/import-export-textual.html
  45. Introduction to the SysML v2 Language Textual Notation - GitHub, https://raw.githubusercontent.com/Systems-Modeling/SysML-v2-Release/master/doc/Intro%20to%20the%20SysML%20v2%20Language-Textual%20Notation.pdf
  46. SYSML V2: WHERE WE ARE AND HOW WE GOT HERE - Object Management Group, https://www.omg.org/pdf/SysML-v2-Overview.pdf
  47. A Comprehensive Guide to SysML v2 - PTC, https://www.ptc.com/en/blogs/alm/guide-to-sysml-v2
  48. About the Systems Modeling API and Services Specification Version 1.0 beta, https://www.omg.org/spec/SystemsModelingAPI/1.0/Beta1/About-SystemsModelingAPI
  49. What are Cameo’s Competitors - CameoMagic, https://cameomagic.com/what-are-cameos-competitors/
  50. choose betw/ MagicDraw & Cameo? - SysML Forum, https://sysmlforum.com/sysml-faq/choose-betw-magicdraw-cameo.html
  51. Overwhelmed by all of the tools for MBSE, would love some input/feedback! - Reddit, https://www.reddit.com/r/systems_engineering/comments/urnimb/overwhelmed_by_all_of_the_tools_for_mbse_would/
  52. Review: Sparx Enterprise Architect - SysML & MBSE Support, https://sysmlforum.com/sysml-tools/review-sparx-ea-sysml/
  53. Key Tools and Platforms for MBSE: A Comprehensive Comparison, https://mgtechsoft.com/blog/top-tools-of-mbse/
  54. Transition to Digital Engineering: Case Studies and Concepts, https://www.engr.colostate.edu/se/wp-content/uploads/2023/04/Transition-to-Digital-Engineering-Case-Studies-and-Concepts-Final.pdf
  55. The Role of SysML Diagrams in Effective System Engineering - Tom Sawyer Software, https://blog.tomsawyer.com/the-role-of-sysml-diagrams-in-system-engineering
  56. A Case Study of Model-Based Systems Engineering Approach Applied in the SAE BRAZIL AeroDesign Competition 2024-36-0062, https://www.sae.org/papers/a-case-study-model-based-systems-engineering-approach-applied-sae-brazil-aerodesign-competition-2024-36-0062
  57. APPLICATION OF AN INNOVATIVE MBSE (SYSML-1D) CO-SIMULATION IN HEALTHCARE A Thesis Submitted to the Faculty of Purdue University - IU Indianapolis ScholarWorks, https://scholarworks.indianapolis.iu.edu/bitstream/1805/15417/1/thesis_kalpak.pdf
  58. SysML Activity Models for Applying ISO 14971 Medical Device Risk and Safety Management Across the System Lifecycle - OMG Wiki, https://www.omgwiki.org/OMGSysML/lib/exe/fetch.php?media=sysml-roadmap:is2015_applying_14971_rjmalins_v3_0_2014-11-09_.pdf
  59. Systematic Literature Review: How is Model-Based Systems Engineering Justified? - incose, https://www.incose.org/docs/default-source/enchantment/161109-carrolled-howismodel-basedsystemsengineeringjustified-researchreport.pdf
  60. ROI of MBSE Whitepaper Oct 2025 - SPEC Innovations, https://specinnovations.com/hubfs/ROI%20of%20MBSE.pdf
  61. Economic Analysis of Model-Based Systems Engineering - MDPI, https://www.mdpi.com/2079-8954/7/1/12