Объектно-ориентированные свойства SDL-92 делают SDL привлекательным для спецификаций и описаний систем в соответствии с моделью Открытых Распределенных Процессов (Basic Reference Model of Open Distributed Processing - ODP) [114]. Однако необходимость совместимости SDL-92 с предыдущими версиями SDL привела к усложнению интерпретации некоторых концепций ODP в SDL-92, например, в адресации одиночного интерфейса к объекту. Хотя упомянутое выше обобщение концепции процесса и может привести к решению некоторых из этих проблем в SDL-2000, но, в целом, соответствие ODP также потребует значительных усилий.
Рис.2.16. Стандарты ITU-T для описания телекоммуникационных протоколов в книге
В заключении этого параграфа, посвященного непосредственно языку SDL, на рис. 2.16 представлена последовательность использования стандартов Исследовательской комиссии 10 ITU-T для описания телекоммуникационных протоколов в данной книге. Эта последовательность состоит из трех базовых элементов: текстовые описания систем сигнализации, диаграммы SDL, специфицирующие режимы поведения процесса обработки этой сигнализации и сценарии обмена сигналами и сообщениями на языке MSC, рассматриваемом в следующем параграфе.
В рамках рассматриваемой в книге методологии, представленные в предыдущем разделе, формализованные описания на языке SDL эффективно дополняются спецификациями в виде карт последовательностей сообщений (MSC) в соответствии с рекомендацией Z.I 20 Сектора стандартизации электросвязи Международного союза электросвязи (ITU-T). Язык MSC также дает возможность предварительного описания процессов на фазе подготовки SDL-спецификаций. Представления в форме MSC обладают большой наглядностью и могут переводиться в SDL форму. При этом возникает также и обратная задача перевода из SDL в MSC, что особо важно при отладке готового программного обеспечения и тестировании протоколов. MSC-описания легко использовать в качестве шаблонов, по которым работают имитаторы программного обеспечения обработки вызовов и протокол-тестеры систем сигнализации.
Основное использование MSC в книге - создание сценариев обмена сигналами между различными процессами или объектами. Получающиеся описания представляются настолько удобными для читателя, что автор старался использовать их при описании практически всех протоколов в последующих главах книги.
Для описания протоколов сигнализации применяются следующие элементы языка MSC:
1. Момент (Instance)
2. Сообщение (Message)
3. Вентиль (Gate)
4; Тайм-аут (Timeout)
Графического синтаксиса часто оказывается недостаточно для наглядного графического представления, в связи с чем графические сценарии могут сопровождаться информационным объяснением на мета-языке, строящемся на тех же формах Бэкуса-Наура (BNF - Backus-Naur Form) со следующими мета-конструкциями:
Contains (содержит)
is followed by (сопровождается)
is associated with (связан с)
is attached to (присоединен к)
above (над)
set (установить)
Отличие этих конструкций от обычных BNF состоит в некоторых дополнительных логических и геометрических соотношениях между аргументами, которые автор вынужден оставить за пределами настоящей книги в силу ограниченного объема последней. Тем не менее, из приведенных ниже примеров основные правила станут понятны читателю.
Основные символы, используемые в MSC, приведены в таблице 2.2.
Существует три типа комментариев в MSC, причем первый определяется в текстуальном синтаксисе как note, а третий определяется как символ текста (табл.2.2) с текстовым содержанием.
Размер графических символов может выбираться произвольно.
Таблица 2.2. Основные символы, используемые в MSC
Сценарий MSC может быть разбит на несколько страниц. Разбивка может быть горизонтальной и вертикальной. Если MSC разбивается на страницы вертикально, заголовок повторяется на каждой странице, но последний символ типа должен присутствовать только на последней странице. Страницы должны нумероваться парами: «v-h», где «v»- вертикальный номер страницы, a «h»- горизонтальный. Арабские цифры должны использоваться для вертикальной нумерации, а английские буквы («А»-«Z») для горизонтальной. Если этого недостаточно, тогда ряд можно расширить с «АА» до «AZ», «ВА» до «BZ» и т.д. Для каждого типа заголовок должен находиться на первой странице, откуда он начинается, и должен повторяться на всех следующих страницах.