Введение в 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 состоит из набора графических символов, соединенных направленными линиями потоков. Каждому символу приписывается имя. Если в диаграмме присутствует несколько символов состояния с одним и тем же именем, то все они означают одно и то же состояние. В символах, представляющих ввод, вывод и сохранение, должно присутствовать имя соответствующего сигнала. Аналогичным образом текст помещается в символах задачи и решения. При соединении символов в диаграммы необходимо соблюдать определенные правила соединения. Эти правила следующие: • за символом состояния может следовать только символ ввода или символы ввода и сохранения; • символ ввода (сохранения) может следовать только за символом состояния; • за символом ввода может следовать любой (одам) символ, кроме ввода и сохранения; • за символом задачи или вывода следует любой (один) символ, кроме ввода или сохранения; • за символом решения следует n (ns2) символов, которые могут быть какими угодно, кроме символов ввода, сохранения; • за символом сохранения не следует ничего. Рисунок 2.4. иллюстрирует вышеприведенные правила построения SDL-диаграмм процесса. Указатели стрелок требуются всякий раз, когда сходятся две линии связи или когда линия связи входит в OUT-соединитель или символ состояния. Указатели стрелок запрещаются на линиях связи, входящих в символы ввода. При всех других обстоятельствах указатели стрелок являются необязательными. Существуют следующие правила при вычерчивании и чтении графических SDL-диаграмм, которым автор пытался следовать в данной книге: обычная последовательность чтения диаграмм - сверху-вниз и слева-направо; диаграммы должны быть краткими, детализация диаграмм должна осуществляться в процедурах, макро и т.п.; связный сегмент диаграммы по возможности представляется на одной странице; текст предпочтительно размещать в символах, а если это не удается - в символах расширения текста.
Рис. 2.4. Допустимые соединения символов в SDL-диаграмме
Ниже рассматриваются основные объекты SDL-диаграмм. Согласно уже данному определению, процесс в SDL рассматривается как некий объект, который находится в состоянии ожидания получения входного сигнала либо в переходе. Состояние определяется как условие, в котором действие процесса временно приостановлено в ожидании ввода (рис. 2.5). Решение - выбор одного из альтернативных действий в зависимости от результатов анализа проверки параметров, связанных со входными сигналами, и хранимой в памяти процесса информации, существенных для дальнейшего функционирования процесса. Другими словами, символ решения определяет выбор одного среди нескольких (п^2) путей для продолжения перехода процесса. Задача - действие внутри перехода, связанное с манипулированием входными или выходными параметрами, работой с памятью, вычислениями и не являющееся ни решением, ни выводом, ни созданием процесса, ни вызовом процедуры или макроса. Для описания процесса определено еще одно более общее понятие - сохранение, дающее возможность выборочной задержки начала обработки входных сигналов (рис. 2.7), т.е. априорного задания порядка поступления и времени нахождения в очереди. Сохранение используется для обозначения конструкции, сохраняющей сигналы от их потери до того, как их начнут обрабатывать.
Рис. 2.5. Примеры употребления символов состояния Рис. 2.6. Примеры использования символов вывода
Примечания: а) поскольку х, у и z в этом примере имеют значения 5,10 и 15 соответственно, сигнал S передает значения 8,20 и 14; б) сигнал S передает три значения - 5,10 и 15. В диаграммах данной книги используются предусмотренные языком SDL краткие обозначения. К ним относятся звездочка (*) и тире (-) (рис. 2.8, 2.9). Обычно «*» означает «все» или «все, кроме» (* [ ]), а «-» означает «то же самое». Тире (•) используется в символе следующего состояния для того, чтобы представить то же самое состояние, что и состояние, с которого начался переход. Интерпретация этого рисунка может быть такой: в любом состоянии процесса сигнал «Сообщение» может быть принят. При-
Рис. 2.7. Пример SDL - диаграммы с использованием символа сохранения Рис. 2.8. Пример использования «*» Рис. 2.9. Пример использования тире в символе следующего состояния
ем вызовет посылку сигнала «Ответ», и переход закончится в состоянии, в котором начался. Следует подчеркнуть, что пользоваться краткими обозначениями нужно с осторожностью, т.к. использование «*» и «-» может изменить смысл диаграммы настолько, что это приведет к непредсказуемому результату. Дивергенция внутри перехода в диаграмме SDL может возникнуть в одной из следующих ситуаций: между символом состояния и соответствующими ему символами ввода и сохранения; после символа решения; после символа опции (рис. 2.10).
Рис.2.10. Пример дивергенции после символа опции Точка конвергенции не может возникнуть между вводом или сохранением и символом состояния, но может возникнуть в любой другой точке SDL - диаграммы (рис. 2.11). Рис.2.11. Пример использования конвергенции
В рамках тематики данной книги описанную выше иерархию описаний (SDL-система, блок, процессы, каналы, сигналы) представляется полезным продемонстрировать на более реальном примере SDL-спецификаций одночастотной системы сигнализации 2600 Гц, которая будет детально рассмотрена в главе 5. На рис. 2.12-2.14 приведены фрагменты SDL-спецификаций линейной сигнализации на внутризоновой сети, например, между центральной станцией (ЦС) или сельско-пригородным узлом (У СП) и междугородной станцией (АМТС) по заказно-соединительным линиям (ЗСЛ) и соединительным междугородным линиям (СЛМ). При всей фрагментарности этих спецификаций они достаточно наглядно иллюстрируют предлагаемый подход. Далее в заключительной части параграфа отмечаются некоторые более общие свойства используемой в книге версии SDL-92 и перспективы ее развития. Рис.2.12. Диаграмма взаимодействия блоков для системы одночастотной сигнализации
Введение объектно-ориентированных свойств стало основным дополнением SDL-92 по сравнению с SDL-88. В сфере объектно-ориентированных разработок SDL-92 соответствует новым промышленным стандартам, таким как C++ в программировании. Определение процесса можно повторно использовать, определяя его как тип, путем добавления ключевого слова тип и двух интерфейсов (шлюзов), которые описывают принимаемые и передаваемые сигналы. Это иллюстрирует рис. 2.15, являющийся развитием рис. 2.2, приведенного в начале этого параграфа. Рис.2.13. Структура блока обработки одночастотной сигнализации на SDL для входящего соединения по СЛМ
Тип может быть разделен на подтипы, и типы могут определяться как объекты (экземпляры в SDL). Объектно-ориентированные свойства SDL включают защищенные переопределения в подтипах (называемые виртуальными), общие типы (называемые параметризованными типами) и понятия библиотеки для типов (называемые пакетами). Использование различных инструментальных средств в SDL породило требование: способность передачи SDL-диаграмм между различными платформами различных инструментальных систем. Это особенно важно для организаций, занимающихся стандартами, в первую очередь - для различных исследовательских комиссий самого ITU-T. При этом край-' не желательно сохранение основной графической информации при переводе спецификаций SDL от одной инструментальной платформы к другой. Рис.2.14. Фрагмент SDL-диаграммы процесса обработки входящего вызова одночастотной системы сигнализации 2600 Гц по СЛМ
Разрабатываемый проект единого формата взаимообмена (Common Interchange Format - CIF) базируется на текстуальном представлении, SDL/PR, и включает вопрос минимальной передачи такой графической информации, которая позволяет пользователям распознавать спецификации. Передача ограничена человеческим фактором распознавания, т.е. информацией постраничной организации и относительным позиционированием; детали при этом опускаются. Планируется, что CIF будет передавать только законченные элементы спецификаций, такие как система, блок и диаграммы процесса. С точки зрения дальнейшего развития SDL достаточно сложно обеспечить равновесие между требованием стабильности текущей версии языка, которое разделяют специалисты других исследовательских комиссий ITU-T, промышленных организаций, НИИ и администраций связи, давно использующих SDL, и интересами новых пользователей SDL. По мнению автора, до 2000 г. не ожидается появления новой версии SDL. Относительно же сегодняшних представлений о будущей версии SDL-2000 можно отметить, что их основой является упрощение языка. В настоящее время в ITU-T обсуждаются некоторые идеи по разработке SDL-2000, конспективно изложенные ниже.
Рис. 2.15-Процесс тастатуры как тип
SDL имеет широкий набор концепций структурирования, и при этом они иногда используются в разных целях и часто перекрываются. Основная из этих концепций - концепция процесса может в принципе заменить остальные концепции: системы, блока и сервиса. Это сделает язык проще, но потребует дополнительных руководящих принципов для применения концепции процесса в различных целях, например, для системного структурирования и для описания поведения. Возможность такого упрощения становится очевидной при определении объектно-ориентированных свойств SDL-92, где многое повторяется для каждой из четырех концепций структурирования (система, блок, процесс, сервис). Определение типов данных основано на принципе ACT-ONE, который одинаков в SDL и в языке LOTOS. При введении этого принципа полагалось, что это наилучший способ для формализованного описания системы данных. Хотя этот принцип действительно весьма привлекателен теоретически, однако в практических применениях значительная часть данных почти никогда не используется. Последнее также иллюстрируется слабой поддержкой этого принципа существующими инструментальными средствами SDL. Версия языка SDL-92 была дополнена ACT-ONE с более традиционным алгоритмическим подходом, а новая рекомендация Z. 105 идет дальше и предписывает определение данных в SDL, основывающееся на стандарте языка ASN. 1. Но, к сожалению, и этот алгоритмический подход, и описание данных по Z.I 05 преобразуются затем в семантическую модель, основанную на том же принципе ACT-ONE. Во время работы над SDL-92 стало ясно, что привлекательные свойства объектного ориентирования, такие как общие типы и полиморфизм, достаточно сложно совместить с принципом ACT-ONE. В связи с этим имеется очевидная тенденция к отходу в будущем от имеющейся зависимости в описании данных от принципа ACT-ONE. Сегодня трудно предположить направление этой тенденции, разве что можно ожидать в последующей версии SDL-2000 более полный переход kasn. 1, чем это сегодня предусматривает рекомендация Z.I 05. Объектно-ориентированные свойства 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, рассматриваемом в следующем параграфе.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|