В рамках рассматриваемой в книге методологии представленные в предыдущем разделе формализованные описания на языке SDL эффективно дополняются спецификациями в виде карт последовательностей сообщений (MSC) в соответствии с рекомендацией Z.I 20 Сектора стандартизации электросвязи Mеждународного союза электросвязи (ITU-T). Язык MSC также дает возможность предварительного описания процессов на фазе подготовки SDL-спецификаций. Представления в форме MSC обладают большой наглядностью и могут переводиться в SDL форму. При этом возникает также и обратная задача перевода из SDL в MSC, что особо важно нри отладке готового программного обеспечения и тестировании протоколов. MSC-описания легко использовать в качестве шаблонов, но которым работают имитаторы программного обеспечения обработки вызовов и протокол-тестеры систем сигнализации.

Основное использование MSC в книге - создание сценариев обмена сигналами между различными процессами или объектами. Получающиеся описания представляются настолько удобными для читателя, что автор старался использовать их при описании практически всех протоколов в последующих главах книги.

Для описания протоколов сигнализации применяются следующие элементы языка MSC:

1. Mомент (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) с текстовым содержанием.

Размер графических символов может выбираться произвольно.

Сценарий М8С может быть разбит на несколько страниц. Разбивка может быть горизонтальной и вертикальной. Если М8С разбивается на страницы вертикально, заголовок повторяется на каждой странице, но последний символ типа должен присутствовать только на последней странице. Страницы должны нумероваться парами: «у-Ь», где «V»- вертикальный номер страницы, а «Ь»- горизонтальный. Арабские цифры должны использоваться для вертикальной нумерации, а английские буквы («А»-«^») для горизонтальной. Если этого недостаточно, тогда ряд можно расширить с «АА» до «А^», «ВА» до «BZ» и т.д. Для каждого типа заголовок должен находиться на первой странице, откуда он начинается, и должен повторяться на всех следующих страницах.

Если сообщения, таймеры, состояния создания или условия продолжаются от одной страницы до следующей страницы, то текст, связанный с сообщением, таймером и т.п., должен быть представлен на первой странице и целиком или частично на следующей.

М8С описывает взаимодействие между каким-либо числом компонент системы и между этими компонентами и окружающей средой.

Для каждой компоненты системы, охватываемой М8С, существует ось требований. Взаимодействия между компонентами системы представлены линиями сообщений. Посылка и прием сообщения - это два асинхронных события. Это предполагает, что в М8С окружающая среда способна принимать и посылать сообщения независимо.

Предполагается, что поведение окружающей среды также подчинено законам М8С. Для каждого события М8С предполагается глобальная ось времени. Вдоль каждой оси отсчет времени идет сверху вниз, однако собственная шкала времени не определена.

Графическое М8С-описание фрагмента процесса О^ОС обработки сигналов для протокола сигнализации по двум выделенным сигнальным каналам (2ВСК), рассматриваемого в главе 3, при попытке установления исходящего соединения в ситуации занятости соединительных путей на встречной станции, приведено на рис.2.17.

Описание попытки установления соединеА1я при занятости соединительных путей

Рис.2.17. Описание попытки установления соединеА1я при занятости соединительных путей В данном MSC-описании определена: процесс OTLOC обработки сигналов; сообщения NEW_CALL (новый вызов), SEIZURE (занятие), АСК (подтверждение занятия), B_NUMBER (номер абонента Б), CONGESTION (занятость промпутей), REJECT (отказ), DISCONNECT (разъединение), RELEASE_GUARD (контроль исходного состояния), IDLE (исходное); вентили 1, 6,9 к программному обеспечению обработки вызовов и все остальные к физическому уровню интерфейса с соединительной линией; тайм-ауты Т1 (ожидание поступления подтверждения занятия) и Т2 (время непроизводительного занятия соединительной линии).

Текстовое представление данного описания выглядит следующим образом:

MSC instance OTLOC;

1. in NEW_CALL

2. out SEIZURE set TI

set T2

3. in АСК reset Tl

4. out B_NUMBER

5. in CONGESTION reset T2

6. out REJECT

7. out DISCONNECT

8. in RELEASE_GUARD

9. out IDLE end instance

end MSC

Недостаток такого описания заключается в его линейном характере и в невозможности представить на одной диаграмме ветвление алгоритма.

Для того, чтобы представить процесс при различных возможных сценариях, используется так называемая обзорная диаграмма MSC, иногда называемая «дорожной картой». На ней представляются все MSC-сценарии и так называемые условия. Упрощенная «дорожная карта» процесса OTLOC обработки сигналов для протокола сигнализации 2ВСК по соединительной линии ГТС из предыдущего примера представлена на рис. 2.18. MSC-сценарии показаны прямоугольниками, а условия - шестиугольниками.

Упрощенная обзорная диаграмма МБС обмена сигналами по соединительной линии ГТС

Рис. 2.18. Упрощенная обзорная диаграмма МБС обмена сигналами по соединительной линии ГТС

Подобная карта близка к более широко применяемому методу описаний - граф-схеме алгоритма и позволяет легко перейти от набора MSC-сценариев к SDL-диаграмме, поскольку условия можно представить в виде SDL-состояний, а MSC-сценарии представляют собой последовательности сигналов, переводящих процесс из состояния в состояние, и задач, выполняемых при этих переходах.

При этом отдельные MSC-сценарии, представленные на «дорожной карте» в виде прямоугольников, могут входить в конкретные сценарии типа изображенной на рис. 2.17 MSC-процедуры.

К достоинствам описания процессов при помощи MSC относятся исключительная наглядность и легкость, с которой могут быть проверены протоколы, специфицированные таким методом. Достаточно сказать, что тестовые сценарии получаются путем слияния MSC-спецификаций разрабатываемого процесса и имитатора протокола.

Именно подобным образом разработаны протокол-тестеры российских систем сигнализации, используемые для отладки программного обеспечения цифровых АТС, предназначенных к установке на телефонных сетях СНГ, и рассмотренные в заключительной главе книги.

Это может быть проиллюстрировано на приведенном выше примере сценария MSC Cong на рис. 2.17. Тестирование выполнения данной спецификации должно осуществляться имитатором протокола по сценарию MSC Sim, изображенному на рисунке 2.19.

Сценарий работы имитатора протокола обмена сигналами по СЛ при занятости промпутей

Рис. 2.19. Сценарий работы имитатора протокола обмена сигналами по СЛ при занятости промпутей В приведенном описании определен момент SIGTEST. Сообщения SEIZURE, ACK, BJMUMBER, CONGESTION, DISCONNECTION, RELEASE_GUARD были введены для сценария MSC Cong. Сообщения SZ_IND (индикация занятия), DIGITS (цифры номера), DIS_IND (индикация разъединения) и PASSED (тест прошел) дают информацию оператору о прохождении соответствующих этапов испытаний.

Сообщения CONG_IN (команда на передачу сигнала о занятости соединительных путей) и RLG_IN (команда на передачу сигнала «Контроль исходного состояния») поступают от оператора. Вентили 1,3,4,7,8,11 -к физическому уровню интерфейса с соединительной линией, а 2,5,6, 9, 10, 12 - к интерфейсу с пользователем (оператором). Таймеры Т1‘ и Т2’ обеспечивают тайм-ауты для ожидания соответствующих сигналов.

Текстовое описание процесса тестирования выглядит следующим 1 образом:

MSC instance SIGTEST

1. in SEIZURE

2. out SZ_IND

3. out ACK setT1’

4. inB_NUMBER reset Т1’

5. out DIGITS

6. inCONGIN

7. out CONGESTION setT2’

8. in DISCONNECTION reset T2’

9. in RLG_IN

10. out RELEASE_GUARD

11. out PASSED end instance

end MSC

Проведя процедуру слияния (Merge) сценариев рис, 2.17 и 2.19, получаем результирующий сценарий MSC Cong Test. MSC Cong Test = MSC Cong II MSC Sim

При этом целесообразно ввести момент USER (оператор), описывающий интерфейс с пользователем. Сценарий MSC Cong Test приведен на рис. 2.20.

Сценарий проверки обмена сигналами при занятости соединительных путей

Рис.2.20. Сценарий проверки обмена сигналами при занятости соединительных путей Итак, SDL-диаграммы, описанные в предыдущем параграфе, являются источником тестовых последовательностей, представляющих собой набор MSC-сценариев. Именно по набору такого рода сценариев проводится проверка правильности отработки протоколов сигнализации, описанных в книге. Эти же сценарии положены в основу работы протокол-тестеров из главы 11. С помощью этих протокол-тестеров сообщения о сбое в сценарии (получен не тот сигнал, который ожидался, или сигнал не пришел до срабатывания тайм-аута), поступающие оператору, позволяют провести не только проверку, но и отладку указанного программного обеспечения.

Введение в sdl-ориентированную методологию | Сигнализация в сетях связи | Стандартизация методов спецификации и описания современных телекоммуникационных архитектур