시스템 모델링 언어

섬네일|240px|SysML 다이어그램 콜라주
**시스템 모델링 언어**(Systems modeling language, **SysML**)는 시스템 공학 애플리케이션을 위한 범용 모델링 언어이다. SysML은 광범위한 시스템과 시스템의 시스템의 명세, 분석, 디자인, 검사와 타당성 검증을 지원한다.

SysML은 원래 오픈 소스 모델 명세 프로젝트에 의해 개발되었으며, 배포 및 사용을 위한 오픈 소스 라이선스를 포함한다. SysML은 통합 모델링 언어(UML)의 부분 집합에 UML의 프로파일 메커니즘을 사용하여 확장된 것으로 정의된다. 이 언어의 확장은 시스템 공학 활동을 지원하도록 설계되었다.

## UML과의 대비
SysML은 소프트웨어 모델링 언어로 개발된 UML에 비해 시스템 공학에 특화된 여러 가지 개선 사항을 제공한다. 이러한 개선 사항은 다음과 같다.

* SysML 다이어그램은 UML의 소프트웨어 중심적 제약을 제거하고 요구사항 다이어그램과 파라메트릭 다이어그램이라는 두 가지 새로운 다이어그램 유형을 추가함으로써 시스템 공학 개념을 더 잘 표현한다. 전자는 요구공학에 사용될 수 있고, 후자는 성능 분석 및 정량 분석에 사용될 수 있다. 이러한 개선 사항의 결과로 SysML은 하드웨어, 소프트웨어, 정보, 프로세스, 인력, 설비를 포함하는 광범위한 시스템을 모델링할 수 있다.
* SysML은 비교적 작은 언어로 배우고 적용하기 쉽다. SysML은 UML의 소프트웨어 중심적 구성 요소들을 많이 제거했기 때문에, 전체 언어는 다이어그램 유형과 전체 구성 요소 면에서 모두 더 작다.
* SysML 할당표는 일반적인 할당 유형을 지원한다. UML은 표기법에 대한 제한적인 지원만 제공하는 반면, SysML은 요구사항 할당, 기능 할당, 구조적 할당을 지원하는 유연한 할당표를 제공한다. 이 기능은 자동화된 검사와 타당성 검증(V&V) 및 결함 분석을 용이하게 한다.
* SysML 모델 관리 구성 요소는 모델, 뷰, 뷰포인트를 지원한다. 이러한 구성 요소는 UML의 기능을 확장하며 IEEE-Std-1471-2000 (소프트웨어 집중 시스템의 아키텍처 설명을 위한 IEEE 권장 사례)과 아키텍처적으로 정렬된다.

SysML은 UML 2의 열네 가지 "nominative" 유형의 다이어그램 중 일곱 가지를 재사용하고,
두 가지 다이어그램(요구사항 및 파라메트릭 다이어그램)을 추가하여 총 아홉 가지 다이어그램 유형을 갖는다. SysML은 SysML 할당 관계에서 동적으로 파생될 수 있는 표 형식인 할당표도 지원한다. SysML과 UML 2 다이어그램을 비교하는 표는 SysML FAQ에서 확인할 수 있다.

자동차 시스템 모델링을 고려해 보자: SysML을 사용하면 요구사항 다이어그램을 사용하여 기능, 성능, 인터페이스 요구사항을 효율적으로 캡처할 수 있는 반면, UML을 사용하면 상위 수준의 기능 요구사항을 정의하기 위해 유스 케이스 다이어그램의 제약을 받는다. 마찬가지로, SysML을 사용하면 파라메트릭 다이어그램을 사용하여 최대 가속도, 최소 공차 중량, 총 공기조화 용량과 같은 성능 및 정량적 제약을 정확하게 정의할 수 있다. UML은 이러한 종류의 필수적인 성능 및 정량적 정보를 캡처하는 직접적인 메커니즘을 제공하지 않는다.

자동차 시스템의 나머지 부분에 관해서는, 향상된 활동 다이어그램과 상태 기계 다이어그램을 사용하여 온보드 자동차 컴퓨터를 위한 임베디드 소프트웨어 제어 논리 및 정보 흐름을 명세화할 수 있다. 다른 SysML 구조 및 행동 다이어그램은 자동차를 만드는 공장뿐만 아니라 공장에서 일하는 조직 간의 인터페이스를 모델링하는 데 사용될 수 있다.

## 역사
SysML 이니셔티브는 2001년 1월 국제 시스템 공학 협의회(INCOSE) 모델 기반 시스템 디자인 워킹 그룹이 시스템 공학 애플리케이션을 위해 UML을 맞춤화하기로 결정하면서 시작되었다. 이 결정에 따라 INCOSE와 UML 명세를 유지보수하는 객체 관리 그룹(OMG)은 2001년 7월 OMG 시스템 공학 도메인 특별 관심 그룹(SE DSIG)을 공동으로 설립했다. SE DSIG는 INCOSE와 ISO AP 233 워킹 그룹의 지원을 받아 모델링 언어의 요구사항을 개발했으며, 이는 2003년 3월 UML for Systems Engineering Request for Proposal (UML for SE RFP; OMG 문서 ad/03-03-41)에서 OMG에 의해 발행되었다.

2003년 데이비드 올리버와 샌포드 프리덴탈(INCOSE 소속)은 UML 1 및 UML 2 언어 설계 팀을 성공적으로 이끌었던 크리스 코브린에게 UML for SE RFP에 대한 공동 노력을 이끌어 달라고 요청했다. SysML 파트너스의 의장으로서 코브린은 "SysML" (시스템 모델링 언어의 약자)이라는 언어 이름을 만들고, 원래의 SysML 로고를 디자인했으며, SysML 언어 디자인 팀을 오픈 소스 명세 프로젝트로 조직했다. 프리덴탈은 부의장을 맡아 원래 SysML 파트너스 팀을 조직하는 데 도움을 주었다.

2005년 1월, SysML 파트너스는 SysML v0.9 초안 명세를 발표했다. 이후 2005년 8월, 프리덴탈과 몇몇 다른 원래 SysML 파트너들은 경쟁하는 SysML 제출 팀(SST)을 설립하기 위해 떠났다. SysML 파트너스는 2005년 11월 SysML v1.0 알파 명세를 발표했다.

### OMG SysML
일련의 경쟁적인 SysML 명세 제안들 후에, 2006년 4월 OMG에 SysML 병합 팀이 제안되었다. 이 제안은 2006년 7월 OMG에서 원래의 오픈 소스 명세와 차별화하기 위해 OMG SysML로 투표되고 채택되었다. OMG SysML은 오픈 소스 SysML에서 파생되었기 때문에 배포 및 사용을 위한 오픈 소스 라이선스도 포함한다.

OMG SysML v. 1.0 명세는 2007년 9월 OMG에 의해 사용 가능한 명세로 발행되었다. OMG SysML의 현재 버전은 2019년 12월 OMG에 의해 발행된 v1.6이다. 또한 SysML은 2017년 국제 표준화 기구(ISO)에 의해 완전한 국제 표준(IS)인 ISO/IEC 19514:2017 (정보 기술 -- 객체 관리 그룹 시스템 모델링 언어)로 발행되었다.

OMG는 다음 세대의 SysML을 개발 중이며, 2017년 12월 8일 오픈 표준화 프로세스에 따라 버전 2에 대한 제안 요청(RFP)을 발행했다. 언어 적용 경험을 통해 언어 개선 사항을 통합할 결과 명세는 UML 프로파일, 메타모델, 그리고 프로파일과 메타모델 간의 매핑을 포함할 것이다. SysML v2 애플리케이션 프로그래밍 인터페이스(API) 및 서비스 RFP에 대한 두 번째 RFP는 2018년 6월에 발행되었다. 그 목적은 모델 기반 시스템 공학 도구의 상호 운용성을 향상시키는 것이다.

## 다이어그램
SysML은 9가지 유형의 다이어그램을 포함하며, 그 중 일부는 UML에서 가져온 것이다.

* 활동 다이어그램
* 블록 정의 다이어그램
* 내부 블록 다이어그램
* 패키지 다이어그램
* 파라메트릭 다이어그램
* 요구사항 다이어그램
* 시퀀스 다이어그램
* 상태 기계 다이어그램
* 유스 케이스 다이어그램

## 도구
SysML을 지원하는 여러 모델링 도구 공급업체가 있다. SysML 또는 OMG SysML을 지원하는 도구 공급업체 목록은 SysML 포럼 또는 SysML 웹사이트에서 각각 찾을 수 있다.

### 모델 교환
OMG UML 2.0 프로파일로서, SysML 모델은 XML 메타데이터 교환(XMI) 표준을 사용하여 교환되도록 설계되었다. 또한, 시스템 공학 소프트웨어 애플리케이션 및 도구 간의 정보 교환 및 공유를 위한 ISO 10303(STEP, 제품 모델 데이터 교환 표준으로도 알려짐) AP-233 표준을 지원하기 위한 아키텍처 정렬 작업이 진행 중이다.

## 같이 보기
* SoaML
* 에너지 시스템 언어
* 객체 프로세스 방법론
* 유니버설 시스템 언어
* SysML 도구 목록

## 각주

## 추가 문헌
* 
* 
* 
* 
* 
* 

## 외부 링크
* 시스템 모델링 언어(SysML) 소개, 1부 및 2부. 유튜브.
* SysML 오픈 소스 명세 프로젝트 SysML 오픈 소스 명세, FAQ, 메일링 리스트, 오픈 소스 라이선스와 관련된 정보를 제공한다.
* OMG SysML 웹사이트 OMG SysML 명세, SysML 튜토리얼, 논문, 도구 공급업체 정보와 관련된 정보를 제공한다.
* 기사 "EE 타임즈 SysML 기사 (2006년 5월 8일)"
* SE^2 MBSE 챌린지 팀: "망원경 모델링"
* 논문 "시스템 모델링 언어 설명" (PDF 형식)
* 브루스 더글라스: 실시간 애자일 시스템 및 소프트웨어 개발
* 인기 SysML 모델링 도구 목록

분류:통합 모델링 언어
분류:시스템 공학
분류:모델링 언어