Смекни!
smekni.com

Сигнализация в сетях железнодорожной связи (стр. 7 из 13)

Действия, выполняемые во время перехода, могут заключаться в преобразовании данных, в посылке сигналов в направлении к другим процессам и т.д. Сигналы могут содержать информацию, которая определяется на основании данных процесса, посылающего сигнал, и используется процессом-получателем вместе с той информацией, которой располагает сам этот процесс. Помимо процессов, содержащихся в рассматриваемой системе, сигналы могут также направляться за пределы системы во внешнюю среду, а также поступать из внешней среды. Под внешней средой понимается все, находящееся вне 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 может возникнуть в одной из следующих ситуаций: между символом состояния и соответствующими ему символами ввода и сохранения; после символа решения;