Целью рекомендации MSC (Message Sequence Chart) является предоставление языка трассировки для спецификации и описания поведения коммуникации компонентов системы и их окружения посредством обмена сообщениями. Поскольку в MSC поведение коммуникации представлено очень интуитивно и прозрачно, особенно в графическом представлении, язык MSC прост в изучении, использовании и интерпретации. В сочетании с другими языками его можно использовать для поддержки методологий спецификации, проектирования, моделирования, тестирования и документирования систем.
История
Первая версия стандарта MSC была выпущена 12 марта 1993 года.
В версии 1996 года были добавлены концепции ссылок, упорядочения и встраивания выражений, а также введены HMSC [1] ( High -level M essage S equence Charts ), которые представляют собой способ выражения последовательности MSC.
В версии MSC 2000 [2] добавлена объектная ориентация, улучшено использование данных и времени в диаграммах, а также добавлена концепция удаленных вызовов методов. [3]
Последняя версия была опубликована в феврале 2011 года.
Символы в MSC
Существующие символы:
Головная часть, линия жизни и конец MSC: вертикальная линия с квадратом наверху и квадратом или крестом внизу.
Создание экземпляра: горизонтальная пунктирная стрелка к вновь созданному экземпляру.
Обмен сообщениями: горизонтальная стрелка.
Поток управления: горизонтальная стрелка с префиксом «вызов», пунктирная стрелка для символа ответа, между ними символы метода и приостановки.
Таймеры: запуск, отмена, тайм-аут.
Временной интервал: относительный и абсолютный с пунктирной вертикальной стрелкой.
Условия: обычно используются для представления состояния базовой машины состояний.
Концепция данных: Пользователь может использовать любую концепцию данных. Если привязка не определена, то по умолчанию используется концепция данных из SDL , как определено в рекомендации Z.121.
Корегион: двойная пунктирная линия для описания неупорядоченных событий.
UML 2.0 Sequence Diagram во многом вдохновлен ITU-T MSC. Тем не менее, по историческим причинам, базовые принципы по умолчанию совершенно другие:
Линии жизни
В MSC вертикальные линии — это автономные исполняемые сущности. Обычно они представляют собой конечные автоматы, работающие параллельно. Конечные автоматы не обязательно должны находиться на одном компьютере.
В диаграмме последовательности вертикальная линия обычно является объектом. Объект может быть активным (в своем собственном потоке выполнения) или пассивным (в контексте выполнения активного объекта).
Стрелки
В MSC стрелка обычно представляет собой асинхронное сообщение, отправляемое от одного субъекта другому. После отправки сообщения отправляющий субъект возобновляет выполнение.
В диаграмме последовательности стрелка обычно понимается как вызов операции в классе. Поэтому она синхронна, и вызывающая сущность зависает до тех пор, пока операция не вернется. [ необходима цитата ]
^ Øystein Haugen. "MSC 2000" (PDF) . Ericsson . Архивировано из оригинала (PDF) 2011-06-07 . Получено 2009-09-19 .
^ "Что нового в MSC 2000 по сравнению с MSC 96". sdl-forum.org . Получено 2009-09-19 .
^ Эккарт Рудольф; Йенс Грабовски; Петер Граубманн (1999). «К гармонизации диаграмм последовательностей UML и MSC». Гёттингенский университет . Получено 25 августа 2014 г.
^ Øystein Haugen (июнь 2000 г.). "UML 2.0 против SDL/MSC – Заявление о позиции Ericsson" (PDF) . Ericsson . Получено 2009-09-19 .
^ Дэвид Харел (2003-04-08). "Схемы последовательности сообщений" (PDF) . Архивировано из оригинала (PDF) 2006-08-26 . Получено 2009-09-20 .
^ Дэвид Харел (22.02.2005). "LSC: Вдохновение жизни в диаграммы последовательности сообщений". Формальные методы в проектировании систем . 19 : 45–80. doi :10.1023/A:1011227529550. S2CID 1551133.
^ Дэвид Харел (2002). «Множественные экземпляры и символические переменные в исполняемых схемах последовательности». ACM SIGPLAN Notices . 37 (11): 83–100. CiteSeerX 10.1.1.20.5984 . doi :10.1145/583854.582429.
^ Эммануэль Годен; Эрик Брунель (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. ISBN978-3-642-38910-8.