SysML (Systems Modeling Language)를 활용한 구체적인 사례를 찾기가 쉽지 않습니다.
이번 포스팅에서는 SysML을 활용하여
초기 트레이드오프(Trade-Off) 분석하는 사례를 알아 보겠습니다.
전체글 보기
- MBSE Example #1: 차량 가속도 vs. 연비 - 트레이드오프 분석 (with SysML)
- MBSE Example #2: 차량 가속도 vs. 연비 - 트레이드오프 분석 (with SysML)
- MBSE Example #3: 차량 가속도 vs. 연비 - 트레이드오프 분석 (with SysML)
- MBSE Example #4: 차량 가속도 vs. 연비 - 트레이드오프 분석 (with SysML)
시스템 공학에서 널리 사용되는 SysML에 대한 자료는 인터넷에 많이 있지만, 구체적인 사례를 적용한 예를 찾는건 쉽지 않습니다. 이로 인해 열심히 SysML 문법은 익혔지만, 실무에 적용하는 것은 그리 쉽지 않은 것이 현실입니다. 사실 시스템 설계자/개발자 입장에서는 SysML 자체를 배우고 익히는데도 시간이 걸리는데, 언제 배워서 언제 적용하냐는 우려를 나타내는데, 그것이 또 틀린말은 아니라고 생각합니다.
그래서 이번 포스팅에서는 자세하진 않지만, 대략적인 활용법을 정리해 보고자 합니다.
먼저, 자동차 엔진 시스템에 대하여 SysML을 이용하여 모델링하고자 합니다. 그중에서도 특히 차량 가속도와 연료 효율성에 대한 요구사항을 어떻게 충족시킬 수 있는지를 판단하기 위한 초기 트레이드오프 분석(Trade-Off Analysis)에 대한 예를 들어 보고자 합니다.
1. 모델 구성을 위한 패키지 다이어그램 (Package Diagram)
먼저 이번 포스팅에서 활용할 시스템 모델 구성을 위한 패키지 다이어그램을 살펴 보겠습니다. 다음 패키지 다이어그램을 살펴보면, Automobile Domain이라는 Model Node를 정의하고 있습니다. 그 하위에 여러 패키지들을 포함하는 구조로 정의되어 있습니다. 아래 그림에서 알 수 있듯이 패키지 다이어그램은 시스템 모델을 조직화하는 것으로 잘 조직화된 모델은 물건을 잘 수납하고 정리할 수 있는 서랍 세트를 구성하는 것과 비슷합니다. 마치 로컬 컴퓨터에서 폴더를 구성하고 정리하는 것과 같습니다. 그래서 각 특성에 따라 파일들이 폴더별로 정리되고, 폴더들은 다시 다른 폴더의 하위/상위 폴더가 될 수 있습니다. 이러한 모델의 조직화, 즉 패키지 다이어그램은 전체적인 모델의 이해도와 접근, 그리고 개발 과정에서 발생할 수 있는 변경 관리에도 많은 도움이 됩니다.
혹시 SysML에 대한 전체적인 문법이 필요하시다면, 별도로 정리된 포스팅을 참고 하시면 도움이 될 것으로 믿습니다.
- Use Cases: 차량의 사용 사례를 포함.
- Structure: 차량 구조와 관련된 모델 요소를 포함.
- IO Definitions: 포트 정의, 입력 및 출력 정의와 같은 인터페이스 요소를 포함.
- Value Types: 값 속성의 단위를 정의하는 데 사용되는 값 유형을 포함.
- IO Definitions: 시스템을 구성하는 포트 정의, 입력 및 출력 정의와 같은 인터페이스 사양에 필요한 모델 요소를 포함합니다.
- Viewpoints: 특정 이해관계자의 우려를 다루기 위한 모델 뷰를 정의합니다.
- Value Types: 시스템 모델이 사용하는 값 속성의 단위를 정의하는 데 필요한 정의를 포함합니다.
- Vehicle 패키지는 추가로 Requirements(요구사항), Behavior(동작), Structure(구조)를 하위 패키지로 포함하고 있습니다. Use Cases, Behavior, Structure, Parametrics 패키지는 차량의 외부 환경과 관련된 모델 요소를 포함하는 반면, Vehicle 패키지는 차량 설계와 관련된 모델 요소를 포함합니다.
- Vehicle: 차량 설계와 관련된 모델 요소를 포함.
- Parametrics: 파라메트릭 분석을 위한 요소를 포함.
- Behavior: 차량의 동작 모델 요소를 포함.
2. 요구사항 다이어그램(Requirement Diagram)을 이용한 자동차 시스템 명세화
다음 요구사항 다이어그램은 자동차 시스템의 요구사항 다이어그램 중 일부를 나타냅니다. 다이어그램 왼쪽 상단에 요구사항 다이어그램임을 나타내는 req와 "Automobile System Requirements"라는 제목이 있는 것을 확인할 수 있습니다. 앞에서 본 패키지 다이어그램과 마찬가지로 요구사항 노드들은 상호 포함관계를 표시할 수 있으며, 전체 요구사항인 Automobile Specification 노드는 승객 및 수하물 적재량(Passenger and Baggage Load), 차량 성능(Vehicle Performance), 승차감(Riding Comfort), 배출가스(Emissions), 연료 효율(Fuel Efficiency), 생산 비용(Production Cost), 신뢰성(Reliability), 탑승자 안전(Occupant Safety)을 포함하고 있습니다. 또한 차량 성능(Vehicle Performance) 요구사항은 다음과 같은 세부 요구사항을 포함합니다:
- 최대 가속도(Maximum Acceleration)
- 최고 속도(Top Speed)
- 제동 거리(Braking Distance)
- 회전 반경(Turning Radius)
이러한 요구사항은 SysML 모델링 도구에서 생성되었거나, 요구사항 관리 도구 또는 텍스트 문서에서 가져올 수도 있습니다. 요구사항은 도출(derive), 만족(satisfy), 검증(verify), 정제(refine), 추적(trace), 복사(copy) 관계를 사용해 다른 요구사항, 설계 요소, 분석, 및 테스트 사례와 연결될 수 있습니다. 이러한 관계는 요구사항의 명확한 추적성을 확립하여 요구사항이 충족되고 검증되었는지 확인하며, 요구사항 및 설계 변경을 관리하는 데 활용됩니다.
차량 성능 요구사항에서 최고 가속도에 대한 요구사항으로 "차량은 주어진 조건하에서 8초 이내에 0mph에서 60mph까지 가속되어야 한다."라는 요구사항이 ID = 1.4.8로 정의되어 있으며, 이는 시장 분석(Market Analysis)에 의한 결과임을 알 수 있습니다.
또한 연료 효율은 "차량은 주어진 주행 조건하에서 갤런당 최소 25마일을 주행해야 한다."라는 요구사항이 ID=1.1로 정의되어 있음을 알 수 있습니다.
3. 블록 정의 다이어그램(BDD, Block Definition Diagram)을 이용한 차량 및 외부 환경 정의
시스템 설계에서는 시스템 외부 요소들이 어떤 요소들이 존재하는지 파악하는 것이 매우 중요합니다. 결국 시스템은 외부 환경과 밀접한 연관성을 가질 수 밖에 없기 때문입니다. 따라서 다음 그림에서는 블록 정의 다이어그램을 이용하여 차량과 차량이 상호 작용할 수 있는 외부 시스템, 및 사용자와 기타 요소들을 정의합니다.
아래 그림을 살펴보면, 구조(Structure)에서 Automobile Domain 블록을 설명합니다. Automobile Domain 블록의 구성요소로는 Driver, Passenger, Baggage, Vehicle, 그리고 Physical Environment가 있습니다. 이를 통해 차량(Vehicle)과 상호작용하는 외부 환경에 어떤 요소들이 존재하는지 알 수 있습니다.
- 외부 환경 요소들:Driver(운전자), Passenger(승객), Baggage(수하물), Physical Environment(물리적 환경)
- Driver와 Passenger는 Vehicle Occupant 블록을 상속받고 있으므로, 차량 탑승자(Vehicle Occupant)의 공통특성을 모두 물려 받습니다. 이때, Driver는 반드시 1명이 필요하지만, Passenger는 없을 수도 있고, 최대 4명까지 탑승할 수 있음을 Multiplicity를 통해 표현하고 있습니다.
- 물리적환경(Physical Environment)는 Road, Atmosphere 그리고 External Entities로 구성되어 있으며, 이때 상호 의존성을 갖고 구성되어 있습니다.
- 여기서 Road의 속성으로는 마찰(friction)과 경사(incline)이 있으며, 이들에 대한 유형(Value Type)과 단위(Unit)이 설정되어 있음을 알 수 있습니다.
- Atmosphere도 마찬가지로 온도(temperature)와 공기밀도(air density)를 속성으로 가지고 유형과 단위가 설정되어 있음을 알 수 있습니다.
마치며...
이번 포스팅에서는 SysML을 이용한 활용 사례로 차량 가속도와 연비에 대한 초기 트레이드오프 분석 사례에 관한 내용입니다. 그중 모델 구성을 위한 요구사항과 차량 외부 환경에 대한 구조 설명이 있었습니다.
다음 포스팅에서는 차량 내부에 대해 차량 동작에 대한 모델링에 대한 설명을 추가해 보도록 하겠습니다.
긴글 읽어 주셔서 감사합니다.
다음글 보기 >>
'System Engineering > SysML' 카테고리의 다른 글
MBSE Example #3: 차량 가속도 vs. 연비 - 트레이드오프 분석 (with SysML) (0) | 2024.12.02 |
---|---|
MBSE Example #2: 차량 가속도 vs. 연비 - 트레이드오프 분석 (with SysML) (0) | 2024.12.01 |
SysML Reference Guide: 파라메트릭 다이어그램(Parametric Diagram) - 제약 사항 표현 (1) | 2024.11.28 |
SysML Reference Guide: 활동 다이어그램(Activity Diagram) - 제어 흐름 (Control Flow) 표현 (1) | 2024.11.27 |
OMG SysML 다이어그램 마스터하기::모델링 가이드 (0) | 2024.11.26 |