Схема последовательности сообщений
Диаграмма последовательности сообщений (или MSC ) — это диаграмма взаимодействия из семейства SDL, стандартизированная Международным союзом электросвязи .
Целью рекомендации MSC (схемы последовательности сообщений) является предоставление языка трассировки для спецификации и описания коммуникационного поведения компонентов системы и их среды посредством обмена сообщениями. Поскольку в MSC коммуникационное поведение представлено очень интуитивно и прозрачно, особенно в графическом представлении, язык MSC легко понять.изучать, использовать и интерпретировать. В сочетании с другими языками его можно использовать для поддержки методологий спецификации, проектирования, моделирования, тестирования и документирования системы.
История
[ редактировать ]Первая версия стандарта MSC была выпущена 12 марта 1993 года.
В версии 1996 года были добавлены ссылки, концепции упорядочивания и встраивания выражений, а также представлен HMSC. [1] ( Высокоуровневые ) , диаграммы последовательности сообщений которые . являются способом выражения последовательности MSC
Версия MSC 2000 [2] добавлена объектная ориентация, уточнено использование данных и времени в диаграммах и добавлена концепция удаленных вызовов методов. [3]
Последняя версия была опубликована в феврале 2011 года.
Символы в MSC
[ редактировать ]Существующие символы:
- Голова, линия жизни и конец MSC: вертикальная линия с рамкой вверху и рамкой или крестом внизу.
- Создание экземпляра: горизонтальная пунктирная стрелка к вновь созданному экземпляру.
- Обмен сообщениями: горизонтальная стрелка.
- Поток управления: горизонтальная стрелка с префиксом «вызов», пунктирная стрелка для символа ответа, символы метода и приостановки между ними.
- Таймеры: запуск, отмена, тайм-аут.
- Временной интервал: относительный и абсолютный с пунктирной вертикальной стрелкой.
- Условия: обычно используются для представления состояния базового конечного автомата.
- Действие: коробка.
- Встроенные выражения: альтернативная композиция, последовательная композиция, исключение, необязательная область, параллельная композиция, итерация (цикл).
- Ссылка: ссылка на другой MSC.
- Концепция данных: пользователь может использовать любую концепцию данных. Если привязка не определена, концепция данных по умолчанию — это концепция данных из SDL , как определено в рекомендации Z.121.
- Ядро: двойная пунктирная линия для описания неупорядоченных событий.
Расширения символов
[ редактировать ]- SDL-RT представила:
- представление экземпляра семафора.
- символ сохранения для сохранения сообщений.
Сравнение с UML
[ редактировать ]UML 2.0 Диаграмма последовательности во многом основана на ITU-T MSC. Тем не менее, по историческим причинам, базовые принципы по умолчанию совершенно другие:
- Линии жизни
- В MSC вертикальные линии представляют собой автономные объекты исполнения. Обычно они представляют собой конечные автоматы, выполняющиеся параллельно. Конечные автоматы не обязательно должны находиться на одном компьютере.
- На диаграмме последовательности вертикальная линия обычно является объектом. Объект может быть активным (в своем собственном потоке выполнения) или пассивным (в контексте выполнения активного объекта).
- Стрелки
- В MSC стрелка обычно представляет собой асинхронное сообщение, отправляемое от одного объекта другому. Как только сообщение отправлено, отправляющий объект возобновляет свое выполнение.
- В диаграмме последовательности стрелка обычно понимается как вызов операции над классом. Следовательно, он синхронен, и вызывающий объект зависает до тех пор, пока операция не вернется. [ нужна ссылка ]
Было сказано, что MSC рассматривался как кандидат на использование диаграмм взаимодействия в UML. [4]
Однако сторонники MSC, такие как Ericsson, считают, что MSC лучше, чем UML 2.0, для моделирования больших или сложных систем. [5]
Диаграммы последовательности в реальном времени
[ редактировать ]Дэвид Харел предположил, что у MSC есть такие недостатки, как:
- MSC предлагает слабую семантику частичного упорядочения , которая делает невозможным уловить некоторые поведенческие требования.
- Связь между требованиями MSC и исполняемой спецификацией не ясна.
и предложил диаграммы последовательности в реальном времени (LSC) в качестве расширения стандарта MSC. [6] [7] [8]
См. также
[ редактировать ]- Диаграмма последовательности свойств PSC , способ описания свойств в MSC. [9] или диаграмму последовательности.
- Язык спецификации и описания SDL , язык ITU-T, связанный с MSC.
- Диаграммы взаимодействия в UML .
Ссылки
[ редактировать ]- ^ «ХМСК» . sdl-forum.org . Проверено 19 сентября 2009 г.
- ^ Ойстейн Хауген. «MSC 2000» (PDF) . Эрикссон . Архивировано из оригинала (PDF) 7 июня 2011 г. Проверено 19 сентября 2009 г.
- ^ «Что нового в MSC 2000 по сравнению с MSC 96» . sdl-forum.org . Проверено 19 сентября 2009 г.
- ^ Эккарт Рудольф; Йенс Грабовски; Питер Граубманн (1999). «На пути к гармонизации диаграмм последовательностей UML и MSC» . Геттингенский университет . Проверено 25 августа 2014 г.
- ^ Ойстейн Хауген (июнь 2000 г.). «UML 2.0 против SDL/MSC – заявление о позиции Ericsson» (PDF) . Эрикссон . Проверено 19 сентября 2009 г.
- ^ Дэвид Харел (8 апреля 2003 г.). «Схемы последовательности сообщений» (PDF) . Архивировано из оригинала (PDF) 26 августа 2006 г. Проверено 20 сентября 2009 г.
- ^ Дэвид Харел (22 февраля 2005 г.). «LSC: вдохнуть жизнь в диаграммы последовательностей сообщений». Формальные методы проектирования систем . 19 : 45–80. дои : 10.1023/А:1011227529550 . S2CID 1551133 .
- ^ Дэвид Харел (2002). «Множественные экземпляры и символические переменные в исполняемых диаграммах последовательности». Уведомления ACM SIGPLAN . 37 (11): 83–100. CiteSeerX 10.1.1.20.5984 . дои : 10.1145/583854.582429 .
- ^ Эммануэль Годен; Эрик Брюнель (2013). SDL 2013: Проектирование надежности на основе моделей . Конспекты лекций по информатике. Том. 7916. Спрингер. стр. 19–35. дои : 10.1007/978-3-642-38911-5_2 . ISBN 978-3-642-38910-8 .