MscGen
MscGen개발자 | 마이클 맥터넌 |
---|---|
안정된 릴리스 | .20 / 2011년 3월 5일, 전( |
기입처 | C |
운영 체제 | 크로스 플랫폼 |
유형 | 다이어그램 작성 소프트웨어 |
면허증. | GNU 일반 공중 라이선스 |
웹 사이트 | www |
Mscgen(MSC 제너레이터의 줄임말)은 텍스트 기반 소스 파일에서 메시지 시퀀스 차트를 그리기 위한 소프트웨어 도구입니다.렌더링된 차트는 하이퍼링크 정보를 ismap 형식으로 사용하여 PNG, SVG 및 PostScript로 출력할 수 있습니다.MediaWiki, Sphinx(문서 생성기) 및 Doxygen과의 통합에는 생성된 문서 페이지에 자동으로 삽입된 소스 코드 코멘트에 차트를 삽입할 수 있는 확장 기능이 있습니다.Mscgen은 GNU General Public License(GPL)에 따라 라이센스가 부여된 자유 소프트웨어입니다.
예
다음은 작성자의 예를 제시하겠습니다.
MSC { a,b,c; a->b [라벨.="ab()"] ; b->c [라벨.="bc(TRUE)"]; c=>c [라벨.="프로세스(1)"]; c=>c [라벨.="프로세스(2)"]; ...; c=>c [라벨.="프로세스(n)"]; c=>c [라벨.="프로세스(END)"]; a<<=>c [라벨.="callback()"]; --- [라벨.="더 실행해야 할 경우", 아이디="*"]; a->a [라벨.="next()"]; a->c [라벨.="ac()"]; b<->c [라벨.="cb(TRUE)"]; b->b [라벨.=「어느 쪽인가?")"]; a<->b [라벨.="ab() = FALSE"]; }
다음은 일부 표준 SIP 메시지흐름의 입출력 예를 2개 나타냅니다.
단순 콜 플로우
MSC { UAS1, UAC; UAS1->UAC [라벨.="초대"]; UAS1<->UAC [라벨.="100번 시도 중"]; UAS1<->UAC [라벨.="180 호출 중"]; --- [라벨.="클라이언트가 호출음을 재생합니다."]; UAS1<->UAC [라벨.="200 OK"]; UAS1->UAC [라벨.="ACK"]; ...; --- [라벨.="클라이언트가 전화를 끊는다"]; UAS1<->UAC [라벨.="안녕"]; UAS1<->UAC [라벨.="200 OK"]; }
Alice가 중간 프록시를 사용하여 Bob을 호출합니다.
MSC { 앨리스야., P1, P2, 밥.; 앨리스야.->P1 [라벨.="초대"]; 앨리스야.<->P1 [라벨.="100번 시도 중"]; P1->P2 [라벨.="초대"]; P1=>>P2 [라벨.="100번 시도 중"]; P2->밥. [라벨.="초대"]; P2<->밥. [라벨.="100번 시도 중"]; P2<->밥. [라벨.="180 호출 중"]; P1<->P2 [라벨.="180 호출 중"]; 앨리스야.<->P1 [라벨.="180 호출 중"]; --- [라벨.="앨리스의 고객이 호출음을 재생합니다."]; ...; --- [라벨.="밥이 대답한다"]; P2<->밥. [라벨.="200 OK"]; P1<->P2 [라벨.="200 OK"]; 앨리스야.<->P1 [라벨.="200 OK"]; 앨리스야.->P1 [라벨.="ACK"]; P1->P2 [라벨.="ACK"]; P2->밥. [라벨.="ACK"]; --- [라벨.="양방향 미디어"]; ...; --- [라벨.="밥이 전화를 끊는다"]; P2<->밥. [라벨.="안녕"]; P2->밥. [라벨.="200 OK"]; P1<->P2 [라벨.="안녕"]; P1->P2 [라벨.="200 OK"]; 앨리스야.<->P1 [라벨.="안녕"]; 앨리스야.->P1 [라벨.="200 OK"]; }
「 」를 참조해 주세요.
- 메시지 시퀀스 차트
- 독시겐
- 스핑크스(문서 생성기)
- Directed Graphing용 유사 소프트웨어용 GraphViz
- 플랜트 UML