메시지 시퀀스 차트

Message sequence chart
도표에는 세 개의 실체가 표시된다. 처음에는 전화가 끊겼다. 사용자가 연결을 설정하려고 시도한다. 스위치로 연결 요청이 전송되고 타이머가 시작된다. 다른 대안은 두 가지 가능한 응답을 처리한다: 1 - 스위치가 응답하지 않고 전화가 연결되지 않은 상태로 돌아가기 때문에 타이머가 꺼진다.2 - 스위치가 연결을 허용하고 통화가 설정된다.

메시지 시퀀스 도표(또는 MSC)는 국제전기통신연합이 표준화한 SDL 계열의 상호작용 도표다.

MSC(Message Sequence Chart)를 권장하는 목적은 메시지 교환을 통해 시스템 구성요소와 그 환경의 통신 행동에 대한 규격과 설명을 위한 추적 언어를 제공하는 것이다. MSC에서 통신 행동은 매우 직관적이고 투명한 방식으로 제시되므로, 특히 그래픽 표현에서 MSC 언어는 학습, 사용 및 해석이 쉽다. 다른 언어와 관련하여 시스템 사양, 설계, 시뮬레이션, 시험 및 문서화에 대한 방법론을 지원하는 데 사용할 수 있다.

역사

MSC 표준의 첫 번째 버전은 1993년 3월 12일에 발표되었다.

1996년 버전에서는 참조, 순서, 인라이닝 표현 개념을 추가하였고, MSC의 시퀀스 표현 방식인 HMSC[1](High-level Message Sequence Charts)를 도입하였다.

MSC 2000 버전은[2] 객체 방향을 추가하고, 다이어그램에서 데이터와 시간의 사용을 정제했으며, 원격 메서드 호출의 개념을 추가했다.[3]

최신판은 2011년 2월에 출판되었다.

MSC의 기호

기존 기호는 다음과 같다.

  • MSC 헤드, 생명선 및 끝: 상부에 상자가 있고 하단에 상자 또는 십자선이 있는 수직선.
  • 인스턴스 생성: 새로 생성된 인스턴스에 대한 수평 점선 화살표.
    MSC에서의 동적 프로세스 생성
  • 메시지 교환: 수평 화살표
  • 제어 흐름: '호출' 접두사가 있는 수평 화살표, 응답 기호에 대한 점선 화살표, 방법 및 서스펜션 기호 사이의 중간.
    MSC에서의 호출 작업
  • 타이머: 시작, 취소, 시간 초과.
  • 시간 간격: 수직 화살표가 점선된 상대적 및 절대적.
    MSC의 시간 제약 조건
  • 조건: 일반적으로 기본 상태 시스템의 상태를 나타내기 위해 사용된다.
  • 액션: 상자.
  • 인라인 표현식: 대체 구성, 순차 구성, 예외, 선택 영역, 병렬 구성, 반복(루프)
  • 참조: 다른 MSC에 대한 참조.
    MSC의 MSC 참조
  • 데이터 개념: 바인딩이 정의되지 않은 경우 사용자는 어떤 데이터 개념이든 사용할 수 있으며, 기본 데이터 개념은 Z.121 권장사항에서 정의한 SDL의 개념이다.
  • Coregion: 정렬되지 않은 이벤트를 설명하는 이중 점선 인스턴스 라인.

기호 확장

  • SDL-RT는 다음을 도입했다.
    • 세마포어의 예시
      MSC로의 SDL-RT 세마포어 확장
    • 메시지를 저장하기 위한 저장 기호

UML과 비교

UML 2.0 시퀀스 다이어그램은 ITU-T MSC에서 강하게 영감을 받았으나, 역사적 이유로 인해 기본 원칙은 상당히 다르다.

  • 라이프라인
  • MSC에서 수직선은 자율 실행 실체다. 그것들은 보통 병렬로 실행되는 주 기계를 나타낸다. 주의 기계들은 같은 컴퓨터에 있을 필요가 없다.
  • 시퀀스 다이어그램에서 수직선은 보통 물체다. 개체는 활성(실행 스레드에서) 또는 수동(활성 개체의 실행 컨텍스트에서)일 수 있다.
  • 화살표
  • MSC에서 화살표는 보통 한 개체에서 다른 개체로 전송되는 비동기 메시지다. 메시지가 전송되면 전송 엔터티는 실행을 재개한다.
  • 시퀀스 다이어그램에서 화살표는 보통 클래스에 대한 작동 호출로 이해된다. 그러므로 그것은 동기식이고 호출 실체는 운영이 돌아올 때까지 정지한다.

MSC는 UML에서 상호작용 다이어그램의 후보자로 고려되었다고 한다.[4]

그러나 에릭슨과 같은 MSC의 지지자들은 MSC가 대형 또는 복잡한 시스템을 모델링하는 데 UML 2.0보다 낫다고 생각한다.[5]

실시간 시퀀스 차트

David Harrel은 MSC에 다음과 같은 단점이 있다고 제안했다.

  • MSC는 일부 행동 요건을 포착할 수 없게 만드는 약한 부분 순서 의미론을 제안한다.
  • MSC 요건과 실행 가능한 규격 사이의 관계가 명확하지 않다.

MSC 표준의 확장으로서 제안된 실시간 시퀀스 차트([6][7][8]LSC).

참고 항목

  • MSC[9] 또는 시퀀스 다이어그램에서 속성을 설명하는 방법인 PSC 속성 시퀀스 차트.
  • SDL 사양 및 설명 언어, MSC 관련 ITU-T 언어.
  • UML의 교호작용도.

참조

  1. ^ "HMSC". sdl-forum.org. Retrieved 2009-09-19.
  2. ^ Øystein Haugen. "MSC 2000" (PDF). Ericsson. Archived from the original (PDF) on 2011-06-07. Retrieved 2009-09-19.
  3. ^ "What is new in MSC 2000 relative to MSC 96". sdl-forum.org. Retrieved 2009-09-19.
  4. ^ Ekkart Rudolph; Jens Grabowski; Peter Graubmann (1999). "Towards a Harmonization of UML-Sequence Diagrams and MSC". University of Göttingen. Retrieved 2014-08-25.
  5. ^ Øystein Haugen (June 2000). "UML 2.0 vs. SDL/MSC – Ericsson Position Statement" (PDF). Ericsson. Retrieved 2009-09-19.
  6. ^ David Harel (2003-04-08). "Message Sequence Charts" (PDF). Archived from the original (PDF) on 2006-08-26. Retrieved 2009-09-20.
  7. ^ David Harel (2005-02-22). "LSCs: Breathing Life into Message Sequence Charts". Formal Methods in System Design. 19: 45–80. doi:10.1023/A:1011227529550.
  8. ^ David Harel (2002). "Multiple instances and symbolic variables in executable sequence charts". ACM SIGPLAN Notices. 37 (11): 83. CiteSeerX 10.1.1.20.5984. doi:10.1145/583854.582429.
  9. ^ Emmanuel Gaudin; Eric Brunel (2013). SDL 2013: Model-Driven Dependability Engineering. Lecture Notes in Computer Science. Vol. 7916. Springer. pp. 19–35. doi:10.1007/978-3-642-38911-5_2. ISBN 978-3-642-38910-8.

외부 링크