Диаграмма последовательности сообщений (или MSC ) является диаграммой взаимодействия с SDL семьи стандартизирован по Международному союзу электросвязи .
Целью рекомендации MSC (Message Sequence Chart) является предоставление языка трассировки для спецификации и описания коммуникационного поведения компонентов системы и их среды посредством обмена сообщениями. Поскольку в MSC коммуникативное поведение представлено очень интуитивно и прозрачно, особенно в графическом представлении, язык MSC прост в изучении, использовании и интерпретации. В сочетании с другими языками он может использоваться для поддержки методологий для спецификации системы, проектирования, моделирования, тестирования и документации.
История [ править ]
Первая версия стандарта MSC была выпущена 12 марта 1993 года.
1996 версий добавлены ссылки, упорядочение и встраивание выражения понятия, и ввели HMSC [1] ( Н IGH уровня М essage S equence С Harts), которые являются способом выражения последовательности ЦКХ.
В версии MSC 2000 [2] добавлена объектная ориентация, улучшено использование данных и времени в диаграммах, а также добавлена концепция удаленных вызовов методов. [3]
Последняя версия была опубликована в феврале 2011 года.
Символы в MSC [ править ]
Существующие символы:
- Голова, линия жизни и конец MSC: вертикальная линия с прямоугольником вверху и прямоугольником или крестом внизу.
- Создание экземпляра: горизонтальная пунктирная стрелка к вновь созданному экземпляру.
- Обмен сообщениями: горизонтальная стрелка.
- Поток управления: горизонтальная стрелка с префиксом «вызов», пунктирная стрелка для символа ответа, символы метода и приостановки между ними.
- Таймеры: запуск, отмена, тайм-аут.
- Временной интервал: относительный и абсолютный с пунктирной вертикальной стрелкой.
- Условия: обычно используется для представления состояния основного конечного автомата.
- Действие: коробка.
- Встроенные выражения: альтернативная композиция, последовательная композиция, исключение, необязательная область, параллельная композиция, итерация (цикл).
- Ссылка: ссылка на другой MSC.
- Концепция данных: пользователь может использовать любую концепцию данных, если привязка не определена, по умолчанию используется концепция данных из SDL, как определено в рекомендации Z.121.
- Coregion: двойная пунктирная линия экземпляра для описания неупорядоченных событий.
Расширения символов [ править ]
- SDL-RT представила:
- представление экземпляра семафора.
- символ сохранения для сохранения сообщений.
Сравнение с UML [ править ]
Схема последовательности UML 2.0 в значительной степени вдохновлена рекомендациями ITU-T MSC. Тем не менее, по историческим причинам основные принципы по умолчанию сильно отличаются:
- Линии жизни
- В MSC вертикальные линии представляют собой автономные исполнительные объекты. Обычно они представляют собой конечные автоматы, выполняющиеся параллельно. Конечные автоматы не обязательно должны находиться на одном компьютере.
- На диаграмме последовательности вертикальная линия обычно является объектом. Объект может быть активным (в собственном потоке выполнения) или пассивным (в контексте выполнения активного объекта).
- Стрелки
- В MSC стрелка обычно представляет собой асинхронное сообщение, отправляемое от одного объекта другому. Как только сообщение отправлено, отправляющий объект возобновляет свое выполнение.
- В диаграмме последовательности стрелка обычно понимается как вызов операции над классом. Следовательно, он синхронный, и вызывающий объект зависает до тех пор, пока операция не вернется.
Было сказано, что MSC рассматривался как кандидат для диаграмм взаимодействия в UML. [4]
Однако сторонники MSC, такие как Ericsson, считают, что MSC лучше, чем UML 2.0 для моделирования больших или сложных систем. [5]
Графики последовательностей в реальном времени [ править ]
Дэвид Харел предположил, что у MSC есть такие недостатки, как:
- MSC предлагает слабую семантику частичного упорядочивания, которая делает невозможным улавливание некоторых поведенческих требований,
- Связь между требованиями MSC и исполняемой спецификацией не ясна,
и предложил Live Sequence Charts (LSC) в качестве расширения стандарта MSC. [6] [7] [8]
См. Также [ править ]
- Диаграмма последовательности свойств PSC , способ описания свойств в MSC [9] или диаграмме последовательности.
- SDL Specification and Description Language, язык ITU-T, относящийся к MSC.
- Диаграммы взаимодействия в UML .
Ссылки [ править ]
- ^ "HMSC" . sdl-forum.org . Проверено 19 сентября 2009 .
- ^ Øystein Haugen. "МСК 2000" (PDF) . Эрикссон . Архивировано из оригинального (PDF) 07.06.2011 . Проверено 19 сентября 2009 .
- ^ «Что нового в MSC 2000 по сравнению с MSC 96» . sdl-forum.org . Проверено 19 сентября 2009 .
- ^ Эккарт Рудольф; Йенс Грабовски; Питер Граубманн (1999). «На пути к гармонизации диаграмм последовательности UML и MSC» . Геттингенский университет . Проверено 25 августа 2014 .
- ^ Øystein Ходжен (июнь 2000). «UML 2.0 против SDL / MSC - Заявление о позиции Эрикссон» (PDF) . Эрикссон . Проверено 19 сентября 2009 .
- ^ Дэвид Харел (2003-04-08). «Таблицы последовательности сообщений» (PDF) . Архивировано из оригинального (PDF) 26 августа 2006 года . Проверено 20 сентября 2009 .
- ↑ Дэвид Харел (22 февраля 2005 г.). «LSC: вдыхая жизнь в диаграммы последовательности сообщений». Формальные методы в системном дизайне . 19 : 45–80. DOI : 10,1023 / A: 1011227529550 .
- ^ Дэвид Харел (2002). «Множественные экземпляры и символьные переменные в исполняемых диаграммах последовательности». Уведомления ACM SIGPLAN . 37 (11): 83. CiteSeerX 10.1.1.20.5984 . DOI : 10.1145 / 583854.582429 .
- ↑ Эммануэль Годен; Эрик Брюнель (2013). SDL 2013: Разработка надежности на основе моделей . Конспект лекций по информатике. 7916 . Springer. С. 19–35. DOI : 10.1007 / 978-3-642-38911-5_2 . ISBN 978-3-642-38910-8.
Внешние ссылки [ править ]
- Схема последовательности сообщений (MSC) Рекомендации МСЭ-Т Z.120