147907 (Сигнализация в сетях железнодорожной связи), страница 5
Описание файла
Документ из архива "Сигнализация в сетях железнодорожной связи", который расположен в категории "". Всё это находится в предмете "транспорт" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "транспорт" в общих файлах.
Онлайн просмотр документа "147907"
Текст 5 страницы из документа "147907"
Рис. 1.11. Распределение трудоемкости (стоимости) разработки протокола сигнализации без деталированных спецификаций (1) и с деталированными спецификациями (2)
Реализованная в книге концепция иерархических спецификаций систем сигнализации в некоторой степени соответствует современной спиральной модели развития больших программных систем Б.Боэма [104] и представлена на рис.1.12. Некоторая незавершенность спиральной модели, обусловленная законом непрерывных изменений Биледи и Лемана:
«Используемая система подвергается непрерывным изменениям до тех пор, пока не окажется, что экономически выгоднее ее заморозить и сделать заново», напоминает известные со школьной скамьи философские принципы и внушает определенный оптимизм автору относительно будущей полезности данной книги.
Уровни спецификации по спирали на рис.1.12 различаются не только степенью конкретизации (возрастающей сверху вниз), но и языковыми средствами описания. Следовательно, представление спецификаций на вышестоящем уровне является в известном смысле «общим прародителем» семейств представлений нижестоящих уровней, за исключением первого уровня (уровня Технических условий, использующих естественный язык). На деталированных уровнях проектирования протоколов сигнализации активно применяется графический синтаксис с паскалеобразными нотациями, объединенными специалистами Исследовательской комиссии 10 ITU-T в единый язык спецификаций и описаний SDL.
Методология спецификаций на базе SDL рассматривается в следующей главе.
Рис. 1.12. Спиральная модель процесса реализации систем сигнализации
Изложенный в этой главе подход отнюдь не содержит каких-либо принципиально новых, революционных постулатов. Напротив, вся методология опирается на традиционную схему разработки типа «требование - спецификации - проектирование - тестирование», но при этом ориентируется на более решительную и последовательную формализацию спецификаций интерфейсов с существующей телефонной сетью. Реализация этой совокупности приемов и методов спецификации для различных протоколов сигнализации рассматривается в последующих главах книги. Некоторое подведение итогов в части тестирования реализации систем сигнализации на соответствие формализованным интерфейсным спецификациям приводится в главе 11, завершающей эту книгу.
Такая перестановка акцентов в достаточно традиционной совокупности приемов дает в определенном смысле новое качество и позволяет надеяться, что предпринятая автором попытка может оказаться полезной, если не как руководство к действию, то как одна из возможных точек зрения.
Глава 2
МЕТОДОЛОГИЯ СПЕЦИФИКАЦИИ И ОПИСАНИЯ СИСТЕМ СИГНАЛИЗАЦИИ
Suaviter in modo. fortiter in re, лат. (По способу мягко, а по существу жестко)
2.1. ВВЕДЕНИЕ В SDL-ОРИЕНТИРОВАННУЮ МЕТОДОЛОГИЮ
Данная глава посвящена методологии спецификации протоколов сигнализации телефонных сетей, базирующейся на хорошо известном языке описаний и спецификаций SDL, разработанном Международным союзом электросвязи (ITU-T), в сочетании с двумя другими языками спецификаций ASN.1 и MSC, также предусмотренными Рекомендациями ITU-T серии Z.I 00 в версии Белой книги.
Такой подход обусловлен разумным балансом между выполнением двух основных требований к методологии подготовки спецификаций:
хорошие аналитические и хорошие выразительные возможности. К сожалению, эти два требования обычно находятся в противоречии: чем более выразительной является спецификация, тем более затруднителен ее анализ. Существование двух версий SDL - графической SDL/GR и программоподобной SDL/PR позволило отчасти нейтрализовать эту конфликтную ситуацию.
Существенно для целей настоящей книги и то, что SDL не предусматривает никакой разницы между спецификацией и описанием. Актуальность этого принципа явно прослеживается в материалах следующих глав, являющихся одновременно и описанием протоколов сигнализации в существующей телефонной сети, и спецификациями интерфейсов вновь разрабатываемых или адаптируемых цифровых систем коммутации.
Рассматриваемое в этой главе описание методологии использования SDL ориентировано сугубо на проблематику данной книги и, хотя ни на йоту не отступает от рекомендаций Исследовательской комиссии 10 «Языки, применяемые в электросвязи» ITU-T по состоянию на 1997 г., но и не претендует на полную и всеобъемлющую инструкцию по SDL. Данная глава построена следующим образом: в первом разделе приведено элементарное введение в SDL, достаточное для понимания приведенных в книге диаграмм. Следующий раздел 2.2 посвящен непосредственно связанному с SDL языку MSC, на котором написаны сценарии различных протоколов сигнализации в следующих главах.
В разделе 2.3 приведена дополнительная информация о стандартизации и других современных языковых средствах спецификаций и тестирования протоколов. Этот раздел ориентирован на интересующихся этой проблематикой читателей и не является абсолютно необходимым для понимания дальнейшего материала книги.
Разработка языка SDL (Specification and Description Language) началась в 1972 г. после предварительного исследовательского периода. Первая версия языка была опубликована ITU-T (в то время эта организация называлась Международным консультативным комитетом по телеграфии и телефонии - МККТТ) в 1976 г., последующие версии появились в соответствующих цветных книгах ITU-T в 1980. 1984, 1988, 1992 и 1996 годах [102, 115, 122].
Благодаря отраженному в эпиграфе к данной главе уникальному сочетанию свойств строго формализованного, с одной стороны, и простого в использовании, наглядного и интуитивно понятного языка, с другой стороны, SDL быстро завоевал популярность. Причем не только для спецификаций и описаний собственно телекоммуникационных систем, но и в самых разнообразных промышленных областях, таких как вычислительная техника, аэронавтика и др. В частности, SDL был в Аюран языком спецификаций компании Боинг. Тот же выбор сделан автором для целей данной книги.
Основу языка SDL составляет концепция взаимодействия конечных автоматов. Динамическое поведение системы описывается с помощью механизмов функционирования расширенных конечных автоматов и связей между ними, называемых процессами. Наборы процессов образуют блоки. Блоки, соединенные друг с другом и со своим окружением каналами, в свою очередь, образуют SDL-систему.
Согласно предлагаемой методологии спецификация протоколов сигнализации предусматривает следующие шаги:
• определение границ SDL-системы;
• определение каналов SDL-системы и передаваемых по этим каналам сигналов;
• разбиение системы на SDL-блоки;
• разбиение SDL-блоков на взаимодействующие процессы;
• определение входных и выходных сигналов, состояний и внутренних переходов для каждого из SDL-процессОв;
• составление SDL-диаграмм процессов.
На рис. 2.1 представлен пример SDL-системы, называемой «Соединением» и состоящей из двух SDL-блоков: «Оконечное устройство» и «Станция», соединенных каналами: «абонент», «абонентская линия» и «соединительная линия». В квадратных скобках около каналов находятся списки сигналов, которые могут быть переданы по каналу. Каждый сигнал подлежит точному определению в спецификации SDL с указанием значений типов данных, которые могут быть переданы данным сигналом.
Рис. 2.1. Диаграмма взаимодействия блоков
Каждый блок в диаграмме SDL-системы может быть в дальнейшем разделен либо еще на блоки, либо на набор процессов. Процесс описывает поведение в SDL и является наиболее важным объектом в языке. Поведение каждого процесса определяется расширенным конечным автоматом, который выполняет действия и генерирует реакции (сигналы) в ответ на внешние дискретные воздействия (сигналы).
Такой автомат имеет конечное число внутренних состояний и оперирует с конечным дискретным множеством входов и выходов. Под автоматом с конечным числом состояний понимается объект, находящийся в одном из дискретных состояний S1, S2,..., Sn, на вход которого поступают извне некоторые сигналы I1, I2,..., Im, а на выходе, которого имеется набор выходных сигналов J1, J2,...,Jk. Под влиянием входных сигналов автомат переходит из одного состояния в другое, которое может совпадать с предыдущим, и выдает выходной сигнал. При этом для каждого состояния Si и для каждого входного сигнала Ij однозначно известно, в какое состояние St перейдет автомат, и какой выходной сигнал Jo он при этом выдаст.
В отличие от классического конечного автомата расширенный конечный автомат допускает возможность перехода ненулевой длительности и определяет механизм простой очереди (FIFO) для сигналов, поступающих в автомат в тот момент, когда он выполняет некоторый переход. Сигналы рассматриваются по одному в каждый момент времени в порядке их поступления.
Итак, процесс в SDL-спецификации имеет конечное число состояний, в каждом из которых он может принимать ряд отправленных этому процессу допустимых сигналов (от других процессов или от таймера). Процесс может находиться в одном из состояний или в переходе между состояниями. Если во время перехода поступает сигнал, предназначенный для данного процесса, то он ставится в очередь к процессу.
Действия, выполняемые во время перехода, могут заключаться в преобразовании данных, в посылке сигналов в направлении к другим процессам и т.д. Сигналы могут содержать информацию, которая определяется на основании данных процесса, посылающего сигнал, и используется процессом-получателем вместе с той информацией, которой располагает сам этот процесс. Помимо процессов, содержащихся в рассматриваемой системе, сигналы могут также направляться за пределы системы во внешнюю среду, а также поступать из внешней среды. Под внешней средой понимается все, находящееся вне SDL-системы.
Посылка и получение сигналов, передача с их помощью информации от одного процесса к другому, обработка и использование этой информации и определяют сценарий функционирования SDL-системы. Предполагается, что после выполнения заданного сценария должен быть достигнут определенный результат в поведении специфицируемой системы, в частности, протокола сигнализации. Как правило, ожидаемый результат будет заключаться в том, что в ответ на ряд сигналов, поступающих из внешней среды (например, оконечного станционного комплекта соединительной линии), система должна совершить определенные действия, оканчивающиеся передачей сообщений во внешнюю среду (в этот же станционный комплект соединительной линии и/или в другой программный процесс управления посылкой тональных сигналов, в процесс запроса информации АОН и т.п.).
Пример процесса «Тастатура» приведен на рис. 2.2. Пустой символ в верхнем левом углу означает начало процесса. Он ведет к исходному состоянию, в котором процесс может принять два входных сигнала: «Клавиша» или «Готово». Все переменные являются локальными для процесса. Символы ниже входных сигналов являются символами задачи для внутренних действий процесса. Задача может быть формальной или содержать неформальный текст в одинарных кавычках, как это имеет место на рис 2.2. Под правым символом задачи находится символ выхода:
«Передача (посылка)», который означает передачу сигнала. Содержанием сигнала является значение локальной переменной.
Графические символы SDL, используемые в данном примере и в других главах книги, приведены в первой колонке таблицы 2.1. Рядом помещены соответствующие этим графическим символам понятия и их обозначения в программоподобной версии SDL.
Первые выпуски Рекомендации Z. 100, издаваемые МККТТ, включали специальную линейку-трафарет (шаблон) для рисования SDL-диаграмм с использованием графического синтаксиса SDL. Этот шаблон изображен на рис. 2.3.
В нем присутствуют следующие символы: ввод, вывод, решение, опция, процесс, старт, задача, состояние, коннектор, останов, сохранение.
Рис. 2.2. SDL-диаграмма процесса тастатуры
Символы вызова процедуры, вызова макро и запроса создания конструируются из символа задачи путем добавления необходимых горизонтальных и вертикальных линий.
Символы старта процедуры и входа в макро конструируются из символа старта.
Символ выхода из макро получается из символа коннектора.
Символ возврата из процедуры является комбинацией символов коннектора и останова.
Для компьютерной обработки был ориентирован второй программо-подобный синтаксис SDL. С появлением мощных графических инструментальных средств современных компьютеров актуальность такого разделения постепенно теряется. Эти современные инструментальные средства поддержки SDL включают графические редакторы для диаграмм, трансляторы между диаграммой (графическим представлением) и программоподобным представлением, статические анализаторы для поиска синтаксических ошибок, таких, как неопределенные имена и несовместимые интерфейсы, генераторы кодов, динамические анализаторы и имитаторы для моделирования случайных процессов поступления сигналов и другие средства.
Отношение длины к ширине =2:1. Используются три размера: длина =40мм, 28мм и 20мм. (40/2=28;28/2=20мм и т.д.) Рис. 2.3. Шаблон для вычерчивания SDL-диаграмм
Некоторые инструментальные средства позволяют также проверить моделируемые режимы на соответствие формулам логики, записанным либо в виде временной логики, либо как MSC. В этом случае сценарии MSC служат предикатами в моделируемых SDL спецификациях, которые, в свою очередь, должны включать описания поведения MSC. Динамические анализаторы SDL успешно применяются также для обнаружения тупиковых ситуаций (блокировок) в системах SDL.
Граф процесса в представлении SDL состоит из набора графических символов, соединенных направленными линиями потоков. Каждому символу приписывается имя. Если в диаграмме присутствует несколько символов состояния с одним и тем же именем, то все они означают одно и то же состояние. В символах, представляющих ввод, вывод и сохранение, должно присутствовать имя соответствующего сигнала. Аналогичным образом текст помещается в символах задачи и решения.
При соединении символов в диаграммы необходимо соблюдать определенные правила соединения. Эти правила следующие:
• за символом состояния может следовать только символ ввода или символы ввода и сохранения;