System Engineering/SysML

SysML 다이어그램 한눈에 보기: 시스템 설계도 간단하게 표현하기

habana4 2024. 11. 16. 00:54
728x90
반응형

1. SysML 이란 무엇인가?

SysML(Systems Modeling Language)은 시스템 엔지니어링에서 사용되는 범용 모델링 언어로, 복잡한 시스템을 설계, 분석, 검증, 그리고 관리하기 위해 만들어졌습니다. SysML은 시스템의 구조와 동작, 요구사항 등을 체계적으로 표현할 수 있도록 도와주며, 시스템 개발 프로세스의 효율성과 품질을 높이는 데 기여합니다.

1-1. SysML의 탄생 배경

SysML은 UML(Unified Modeling Language)에서 파생된 모델링 언어입니다. UML은 주로 소프트웨어 설계에 초점이 맞춰져 있지만, SysML은 이를 확장하여 하드웨어, 소프트웨어, 데이터, 인력, 절차, 시설전체 시스템을 모델링할 수 있도록 설계되었습니다.

2006년에 Object Management Group(OMG)과 INCOSE(국제 시스템 엔지니어링 협회)가 공동으로 발표하였으며, 현재는 모델 기반 시스템 엔지니어링(MBSE)에서 표준으로 자리 잡고 있습니다.

 
 

SysML-Lite란?

SysML-Lite는 SysML(Systems Modeling Language)의 간소화된 버전으로, SysML 모델링을 처음 시작하는 사람들을 돕기 위해 설계되었습니다. 이는 SysML 표준에 포함되지는 않지만, 모델링을 쉽게 시작할 수 있는 기본 기능과 다이어그램을 제공합니다. SysML-Lite는 9개의 SysML 다이어그램 중 6개를 포함하며, 각 다이어그램의 핵심 기능만을 제공하지만 여전히 강력한 모델링 능력을 보유하고 있습니다

1-2. SysML의 주요 특징

(1) 다양한 시스템 모델링 지원

요구사항, 구조, 동작, 제약 조건 등 시스템의 여러 측면을 모델링할 수 있습니다.

하드웨어와 소프트웨어, 그리고 이를 둘러싼 환경 요소를 모두 포함한 통합적 설계가 가능합니다.

 

(2) UML과의 호환성

UML의 일부 다이어그램(클래스 다이어그램, 시퀀스 다이어그램 등)을 재사용하고, 시스템 모델링에 필요한 다이어그램(요구사항 다이어그램, 파라메트릭 다이어그램 등)을 추가로 제공합니다.

 

(3) MBSE 접근법 지원

시스템의 생애 주기 전반에 걸쳐 일관된 모델을 생성하며, 효율적인 요구사항 추적성과 설계 검증을 지원합니다.

 

(4) 모델링 도구와의 연계

다양한 SysML 도구(예: Cameo Systems Modeler, Enterprise Architect)를 사용하여 복잡한 시스템 설계와 분석을 시각적으로 표현할 수 있습니다.

1-3. SysML의 주요 구성 요소

SysML은 시스템의 다양한 측면을 다루기 위해 9가지의 주요 다이어그램으로 구성됩니다:

SysML 다이어그램 구성요소

 

(1) 요구사항 다이어그램: 시스템 요구사항을 정의하고 추적성을 유지.

  • 역할: 텍스트 기반 요구사항과 다른 요구사항, 설계 요소, 테스트 케이스 간의 관계를 나타냅니다.
  • 특징: 요구사항 추적성을 지원하며 UML에는 없는 SysML 전용 다이어그램입니다.

(2) 활동 다이어그램: 시스템의 기능적 동작을 표현.

  • 역할: 동작을 입력, 출력 및 제어의 가용성에 따라 실행되는 순서로 표현하며, 입력을 출력으로 변환하는 과정을 보여줍니다.
  • 특징: UML 활동 다이어그램을 수정한 형태입니다.

 

 

SysML Reference Guide: 활동 다이어그램(Activity Diagram) - 객체 및 액션 노드

1. SysML::Call Action Node - 다른 행동이나 연산을 호출/실행Call Action Node는 다른 행동(Behavior)이나 연산(Operation)을 호출하여 실행하는 Action Node의 한 유형입니다. 이는 SysML Activity Diagram에서 특정 작업(T

habana4.tistory.com

 

 

SysML Reference Guide: 활동 다이어그램(Activity Diagram) - 흐름/연결(Path) 표현

1. SysML::Object Flow Path - 객체 흐름을 연결Object Flow Path는 SysML Activity Diagram에서 객체(Object)나 데이터(Data)의 흐름을 나타내는 경로입니다.데이터 전달 경로: Object Flow Path는 Object Node와 Action Node 사이

habana4.tistory.com

 

(3) 시퀀스 다이어그램: 시스템 간 메시지 교환을 표현.

  • 역할: 시스템 간 또는 시스템 구성 요소 간의 메시지 교환 순서를 나타냅니다.
  • 특징: UML 시퀀스 다이어그램과 동일합니다.

(4) 상태 기계 다이어그램: 시스템 상태 변화와 이벤트를 나타냄.

  • 역할: 엔티티의 동작을 상태 전환과 이벤트에 따른 동작으로 표현합니다.
  • 특징: UML 상태 기계 다이어그램과 동일합니다.

(5) 블록 정의 다이어그램(BDD): 시스템의 구조와 구성 요소 정의.

  • 역할: 블록(block)이라 불리는 구조적 요소, 블록의 구성, 분류를 나타냅니다.
  • 특징: UML 클래스 다이어그램을 수정한 형태입니다.
  • 블록 정의 다이어그램 표기에 대해서는 상세내용을 따로 정리했습니다.
 

SysML Reference Guide: 블록 정의 다이어그램(Block Definition Diagram) - 구조, 값, 타입 표현

1. SysML::Block Node - 블록 구조 표현블록(Block)은 SysML에서 시스템 구조를 정의하는 기본 단위입니다. 블록은 시스템의 구성 요소, 속성, 인터페이스 등을 모델링할 수 있으며, 블록의 상세 내용을

habana4.tistory.com

 

(6) 내부 블록 다이어그램(IBD): 구성 요소 간의 연결 및 인터페이스.

  • 역할: 블록 내부 구성 요소 간의 상호 연결 및 인터페이스를 표현합니다.
  • 특징: UML 복합 구조 다이어그램(Composite Structure Diagram)을 수정한 형태입니다.
 

SysML Reference Guide: 내부 블록 다이어그램(Internal Block Diagram) - 내부 구성요소 및 데이터 흐름 표현

1. SysML::Part Node - 블록 내부 구조 표현Part Node는 SysML Internal Block Diagram(IBD)에서 블록 내부 구성 요소를 나타내는 핵심 요소입니다. 이는 시스템을 설계하고 모델링할 때 블록의 내부 구조와 구성

habana4.tistory.com

 

 

SysML Reference Guide: 내부 블록 다이어그램(Internal Block Diagram) - 흐름/연결(Path) 표현

1. SysML::Connector Path - 내부 블록간의 상호작용 표현Connector Path는 SysML Internal Block Diagram(IBD)에서 블록 간의 상호작용을 시각적으로 나타내는 경로입니다. 이는 블록 내부의 포트(Port) 또는 속성(Prope

habana4.tistory.com

 

(7) 파라메트릭 다이어그램: 시스템의 물리적 속성과 제약 조건 정의.

  • 역할: 속성 값의 제약 조건(예: F = m * a)을 표현하며, 엔지니어링 분석을 지원합니다.
  • 특징: UML에는 없는 SysML 전용 다이어그램입니다.

 

 

SysML Reference Guide: 파라메트릭 다이어그램(Parametric Diagram) - 제약 사항 표현

1. SysML::Constraint Note - 시스템 제약 조건 표현Constraint Note는 SysML Parametric Diagram에서 시스템의 제약 조건을 정의하고 모델링하는 데 사용되는 요소입니다. 이는 수학적 공식, 논리적 조건, 또는 물

habana4.tistory.com

 

(8) 패키지 다이어그램: 모델 구성 및 조직화.

  • 역할: 모델을 구성하는 패키지와 그 안의 모델 요소의 조직을 나타냅니다.
  • 특징: UML 패키지 다이어그램과 동일합니다.
  • 패키지 다어그램 표기에 대해서는 상세내용을 따로 정리했습니다.
 

SysML Reference Guide: 패키지 다이어그램(Package Diagram) 표기법

SysML::패키지 다이어그램(Package Diagram)다이어그램 요소표기법설명Comment NodeComments는 모델 요소에 대한 자유 형식의 설명을 제공하는 데 사용됩니다. 이를 통해 모델의 특정 요소에 대해 추가적인

habana4.tistory.com

 

(9) 유스케이스 다이어그램: 시스템이 사용자와 상호작용하는 방식 설명.

  • 역할: 외부 엔티티(액터)가 시스템을 사용하여 목표를 달성하는 기능을 나타냅니다.
  • 특징: UML 유스케이스 다이어그램과 동일합니다.

 

2. SysML-Lite로 모델링하는 공기 압축기 예제

SysML-Lite를 사용하여 공기 압축기(air compressor) 시스템을 모델링하는 예제를 살펴 보겠습니다. 이 모델은 공기 압축기가 공구를 구동하는 데 필요한 공기를 생성하는 과정을 설명하며, SysML-Lite의 주요 다이어그램과 기능을 활용합니다.

1-1. 패키지 다이어그램(Package Diagram): 모델 조직화

다음 패키지 다이어그램은 공기 압축기 모델의 전반적인 구성을 보여줍니다. 패키지 다이어그램은 공기 압축기 모델을 요구사항(Requirements), 구조(Structure), 동작(Behavior), 파라메트릭스(Parametrics)의 패키지로 구성하기 위해 사용됩니다. 각 패키지는 다른 패키지의 모델 요소와 연관될 수 있는 모델 요소를 포함하고 있습니다.

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

  • Requirements Package: 요구사항을 포함.
  • Behavior Package: 시스템 동작을 정의.
  • Structure Package: 시스템 구조를 캡처.
  • Parametrics Package: 성능 분석에 필요한 제약 조건 정의.

1-2. 요구사항 다이어그램(Requirement Diagram): 시스템 요구사항 정의

다음 그림은 공기 압축기의 요구사항을 정의한 요구사항 다이어그램입니다. 요구사항 다이어그램은 요구사항 패키지(Requirements Package)에 포함된 공기 압축기의 요구사항을 나타냅니다. 각 요구사항은 명세 문서에 일반적으로 포함되는 요구사항 텍스트를 포함할 수 있습니다.

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

  • 기능 요구사항(Functional Requirements): 공기를 압축하는 기능(Compress Air)
  • 성능 요구사항(Performance Requirements): 최대 압력과 유량(Max Pressure, Max Flow Rate)
  • 저장 용량(Storage Capacity): 공기 저장 탱크의 용량(Storage Capacity)
  • 전력 요구사항(Power Requirements): 공기 압축에 필요한 전원(Power)
  • 신뢰성 및 휴대성 요구사항(Requirements and Portability Requirements): 시스템의 신뢰성과 이식성(Reliability, Portability)

텍스트는 저장 용량 요구사항만 다이어그램에 표시되어 있으며, 나머지 요구사항은 간소화를 위해 생략되었습니다.

1-3. 활동 다이어그램(Activity Diagram): 시스템 동작 표현

다음 그림은 활동 다이어그램Operate Air Tool이라는 활동을 보여줍니다. 활동 다이어그램은 Operate Air Tool 활동을 실행하기 위해 공기 압축기(Air Compressor), 작업자(Operator), 공구(Air Tool), 그리고 대기(Atmosphere) 간의 상호작용을 명세합니다.

활동 다이어그램 (Activity Diagram)

  • 공기 압축기(Air Compressor), 외부 시스템(Air Tool), 환경(Atmosphere) 간의 상호작용.
  • 활동 시작: 사용자(Operator)가 Control Tool 동작을 수행.
  • 주요 활동: Compress Air 동작(저압 공기를 고압 공기로 변환).
  • 활동 종료: Control Tool 동작이 완료되면 종료.

1-4. 블록 정의 다이어그램(Block Definition Diagram): 시스템 구조 정의

다음 그림은 상위 레벨 블록 정의 다이어그램을 나타내며, 공기 압축기(Air Compressor), 작업자(Operator), 공구(Air Tool), 그리고 대기(Atmosphere)를 블록으로 표현합니다. Air Compressor Context 블록은 공기 압축기와 그 외부 환경을 위한 컨텍스트를 설정합니다.

블록 정의 다이어그램 (Block Definition Diagram): 레벨

  • Air Compressor Context: 공기 압축기와 사용자의 상호작용 환경을 나타냄.
  • 사용자: Operator.
  • 외부 시스템: Air Tool.
  • 환경: Atmosphere.

다음 그림은 블록 정의 다이어그램을 이용하여 시스템 계층 구조를 나타냅니다.

블록 정의 다이엉그램 (Block Definition Diagram): 계층구조

Air Compressor 블록은 다음 구성 요소로 나뉩니다:

Motor Controller

Motor

Pump

Tank

구성 요소는 유량 요구사항 분석을 위한 값 속성(value property)을 포함합니다.

1-5. 활동 다이어그램(Activity Diagram): 내부 동작 분해

다음 그림은 활동 다이어그램은 Compress Air 활동의 내부 동작을 세부적으로 나타냅니다. Compress Air 동작을 수행하기 위해 공기 압축기 구성 요소들이 어떻게 상호작용하는지를 보여줍니다.

활동 다이어그램 (Activity Diagram): 세부 동작 및 활동 분할

  • 활동 분할:
  • Motor Controller: 압력 감지(Sense Pressure) 및 모터 제어(Control Motor).
  • Motor: 토크 생성(Generate Torque).
  • Pump: 공기 압축(Pump Air).
  • Tank: 공기 저장(Store Air).

입력과 출력은 1-3 활동 다이어그램의 Compress Air 활동과 일치합니다.

1-6. 내부 블록 다이어그램(Internal Block Definition Diagram): 구성 요소 간 연결

다음 그림은 내부 블록 다이어그램으로 구성 요소 간 상호 연결을 보여줍니다. 내부 블록 다이어그램은 공기 압축기 구성 요소들이 포트(ports)를 통해 어떻게 상호 연결되는지를 보여주며, 포트는 구성 요소 간 인터페이스를 명세하는 데 사용됩니다.

내부 블록 다이어그램 (Internal Block Definition Diagram)

  • Air Compressor 블록의 프레임은 외부 인터페이스를 나타냅니다.
  • 구성 요소(예: Motor, Pump, Tank)는 구조 패키지에 포함됩니다.

1-7. 파라메트릭 다이어그램(Parametric Diagram): 성능 분석 지원

다음 블록 정의 다이어그램은 유량 분석(Flow Rate Analysis)을 명세하는 데 사용됩니다. 다이어그램에는 분석을 위한 제약 블록(Constraint Block)이 포함되어 있으며, 이 블록은 식과 매개변수를 정의합니다(식은 편의상 표시하지 않음). 또한, 분석의 대상이 되는 Air Compressor Context도 포함되어 있습니다.

파라미터 정의를 위한 블록 정의 다이어그램

 

이를 활용하여 유량 분석을 위한 파라메트릭 다이어그램입니다. 이 다이어그램은 유량 분석(Flow Rate Analysis)을 나타내며, 식의 매개변수가 설계 속성과 어떻게 연결되는지를 보여줍니다. 다이어그램에 정의된 분석은 분석 도구에 제공되어 실제 분석을 수행할 수 있습니다. 다이어그램에는 식 자체는 편의상 표시하지 않았습니다.

파라메트릭 다이어그램 (Parametric Diagram)

  • Flow Rate Analysis 블록:
  • 속성: 유량, 탱크 용량, 압력, 모터 마력, 펌프 효율.
  • 제약 조건: Flow Rate Equations 블록에 연결.
  • 분석 도구를 사용하여 공기 압축기와 구성 요소의 속성 값을 계산.

 

3. MBSE 수행 절차 (Simple Version)

모델 기반 시스템 엔지니어링(MBSE)을 효과적으로 구현하려면 모델링 언어(SysML)와 모델링 도구를 배우는 것뿐만 아니라, 체계적인 MBSE 방법론을 적용하여 고품질의 시스템 모델을 구축해야 합니다. SysML은 시스템 모델링 정보를 캡처할 수 있는 수단을 제공하지만 특정 MBSE 방법론을 강요하지는 않습니다. 선택한 방법론에 따라 수행해야 할 모델링 활동, 활동의 순서, 시스템을 표현하는 아티팩트의 유형이 달라질 수 있습니다.

다음 그림(Activity Diagram)은 상위 수준의 활동들이 요약되어 있습니다. 이 방법은 객체 지향 시스템 엔지니어링 방법(OOSEM)의 단순화된 변형으로, 시스템 명세 및 설계를 위해 다음의 반복적인 활동을 포함합니다:

MBSE 수행 절차 (단순 버전)

1-1. 모델 구성 (Organize the Model)

  • 활동: 시스템 모델을 위한 패키지 다이어그램 정의.
  • 목적: 모델을 체계적으로 구성하고 관리하기 쉽게 만듦.

1-2. 이해관계자 요구사항 분석 (Analyze Stakeholder Needs)

  • 목표: 해결해야 할 문제, 시스템이 지원할 목표, 목표 달성 여부를 평가할 효과성 측정 기준을 이해.
  • 이해관계자와 다룰 문제 식별.
  • 시스템 및 외부 시스템, 사용자 도메인을 식별하는 도메인 모델 정의.
  • 시스템 목표를 지원하는 상위 수준 유스케이스 정의.
  • 제안된 솔루션의 가치를 정량화할 수 있는 효과성 측정 기준 정의.

1-3. 시스템 요구사항 명세 (Specify System Requirements)

  • 목표: 시스템의 기능, 인터페이스, 물리적/성능 특성, 품질 특성 정의.
  • 텍스트 기반 요구사항을 요구사항 다이어그램에 캡처.
  • 각 유스케이스 시나리오(활동 다이어그램 등)를 모델링하여 시스템 동작 요구사항 명세.
  • 시스템 외부 인터페이스를 명시하는 시스템 컨텍스트 다이어그램(내부 블록 다이어그램) 생성.

1-4. 대안 시스템 솔루션 종합 (Synthesize Alternative System Solutions)

  • 목표: 시스템 설계를 구성 요소로 분할하여 요구사항을 충족하는 설계 생성.
  • 블록 정의 다이어그램을 사용하여 시스템 분해.
  • 활동 다이어그램으로 구성 요소 간 상호작용 정의.
  • 내부 블록 다이어그램으로 구성 요소 간 연결 정의.

1-5. 트레이드오프 분석 수행 (Perform Trade-off Analysis)

  • 목표: 요구사항을 충족하고 효과성 측정 기준에 따라 최대 가치를 제공하는 선호 솔루션 선택.
  • 분석 컨텍스트를 캡처하여 성능, 신뢰성, 비용 등의 중요 속성을 분석.
  • 각 분석을 파라메트릭 다이어그램으로 캡처.
  • 엔지니어링 분석 도구를 사용하여 시스템 속성 값 계산.

1-6. 요구사항 추적성 유지 (Maintain Requirements Traceability)

  • 목표: 제안된 솔루션이 시스템 요구사항과 이해관계자의 요구를 충족하는지 보장.
  • 시스템 요구사항과 이해관계자 요구 간의 추적성 캡처.
  • 시스템 설계가 요구사항을 충족하는 방법 명시.
  • 요구사항 검증에 필요한 테스트 케이스 정의 및 결과 캡처.

 

4. SysML과 MBSE 러닝 커브

SysML과 MBSE는 복잡한 시스템 설계와 엔지니어링을 체계적으로 수행하기 위한 강력한 도구와 방법론으로, 요구사항, 동작, 구조, 제약 조건을 통합적으로 이해하고 관리하는 능력을 요구합니다. 학습 과정에서는 다양한 관점 간의 일관성 유지, 언어와 도구의 통합 학습, 도메인 특화 적용, 대규모 프로젝트에서의 확장성 관리 등의 도전 과제를 극복해야 하지만, 이를 통해 요구사항 추적성 강화, 설계 품질 향상, 분석 효율성 증대 등의 실질적 이점을 얻을 수 있습니다.


마치며...

SysML과 MBSE는 복잡한 시스템의 설계, 분석, 검증, 유지보수를 체계적으로 수행하기 위한 강력한 도구와 접근법입니다. 이번 내용을 통해 공기 압축기 모델을 예로 들어 SysML-Lite를 활용한 모델링의 주요 다이어그램과 그 기능을 살펴보았습니다. 이를 통해 시스템의 요구사항, 구조, 동작, 제약 조건을 통합적으로 관리하고, 효율적이고 정밀한 설계를 지원할 수 있음을 확인할 수 있었습니다.

 

MBSE와 SysML은 초기 학습 곡선과 관리의 복잡성을 동반하지만, 이를 극복하면 높은 품질의 시스템 모델링과 설계의 효율성을 제공합니다. 이를 통해 요구사항 추적성, 설계 품질 향상, 변경 관리 용이성 등 다양한 장점을 실현할 수 있습니다. 앞으로 SysML과 MBSE를 도입하고자 한다면, 작고 간단한 모델링부터 시작해 점차적으로 복잡성을 확장하며 시스템 엔지니어링 역량을 강화해 나가기를 권장합니다. 체계적이고 통합된 모델링으로 더 나은 시스템 설계를 만들어 보세요! 🚀

 

728x90
반응형