- •Содержание
- •Введение
- •Основные концепции sdl
- •Диаграммы систем и блоков
- •Базовые средства описания динамического поведения системы
- •Процессы
- •Процедуры
- •Вспомогательные диаграммы и дополнительные концепции
- •Язык «человек-машина» mml
- •Язык высокого уровня chill
- •Моделирование телекоммуникационных систем и каналов
- •Литература
-
Диаграммы систем и блоков
2.1 Система
Как было отмечено выше, SDL используется для моделирования систем электросвязи.
В SDL система не имеет прямого определения из-за известной сложности и расплывчатости этого понятия. Тип и требование системы задаются функционально через цепочку определений: система - блок - процесс.
При этом точно задается определение процесса: процесс представляет собой отображение выполнения функции объекта во времени. Затем следует определение блока: блок является объектом SDL, содержащим, по крайней мере, один процесс. И, наконец, определение системы: система - это объект SDL, содержащий, по крайней мере один блок.
Таким образом, система - это то, что определяется спецификацией или описанием на SDL.
Как таковая SDL-система может моделировать часть телефонной системы (или АТС), всю телефонную сеть иди некоторую часть совокупности АТС.
Система, являясь частью окружающего мира, всегда ограничена в размерах и функциях. Поэтому все, что не входит в состав системы, составляет окружение. Система отделена от окружения границей. Окружение находится за пределами рассмотрения и не может быть определена на SDL.
Интерфейс системы с окружением осуществляется с помощью каналов.
Система взаимодействует с окружением, однако структура окружения остается неопределенной. Предполагается лишь, что окружение ведет себя SDL-подобным образом: по каналам приходят и уходят сигналы, являющиеся объектами языка SDL. Другие виды сигналов на SDL-систему не воздействуют.
Система является структурно сложным объектом, состоящим из нескольких блоков. В зависимости от степени необходимой детализации рассмотрения система может разбиваться на все большее число блоков.
Критериями разбиения системы на блоки могут быть:
-
представление системы в виде небольших, легко управляемых частей;
-
установление соответствия с фактической структурой аппаратуры/программного обеспечения;
-
следование естественному функциональному подразделению системы на составные части;
-
минимизация взаимодействий частей системы и т.д.
Для больших SDL-систем в SDL имеются конструкции, обеспечивающие спецификацию подструктур отдельных частей системы. Благодаря этому, исходя из общего обзора системы, можно вводить все большее число деталей. В таких случаях говорят, что система представлена на различных уровнях детализации.
На первом уровне детализации SDL-спецификация описывает структуру системы.
Конкретная графическая грамматика
Синтаксис
<символ рамки>::=
<заголовок системы>::=
SYSTEM <имя системы>
<символ блока>::=
Семантика
Система отделена от окружающей ее среды границей системы и содержит совокупность блоков. Связь между системой и окружающей средой или между блоками в системе может осуществляться только с помощью сигналов. Внутри системы эти сигналы передаются по каналам. Каналы соединяют блоки друг с другом или с границей системы.
Задание системы содержит следующие компоненты, которые будут разъяснены в следующих параграфах:
-
имя системы;
-
определение блоков (спецификация блоков, на которые разбита система);
-
определения сигналов (спецификация типов сигналов, обмениваемых между блоками системы или между блоками и окружающей средой);
-
определение списков сигналов (спецификация идентификаторов, объединяющих несколько сигналов и/или другие списки сигналов).
Списки сигналов не являются обязательной частью задания системы (списки используются для экономии места и обеспечения более ясной спецификации);
-
определение каналов (спецификация каналов, связывающих блоки друг с другом и с окружением; определение канала содержит спецификацию идентификаторов сигналов, передаваемых по этому каналу);
-
определения данных. Не являются обязательными для SDL/GR. Определения данных включает в себя спецификацию определенных новых типов данных; синонимических типов и генераторов, доступных во всех блоках;
-
определения макрокоманд (использование макрокоманд не обязательно, но желательно для экономии места и обеспечения более ясной спецификации).
3.2 Блок
Конкретная графическая грамматика
Синтаксис
<заголовок блока>:: =
ВLOСК{<имя блока>|<идентификатор блока>}
<область текста блока>::=
<область текста системы>
<символ процесса)::=
Семантика
Каждая система содержит несколько блоков, соединенных между собой каналами.
Каждый блок системы независим от любого другого блока.
Каждый блок может содержать один или несколько процессов, описывающих поведение блока.
В блоке при необходимости можно (но не обязательно) определить пути связи между процессами или между процессами и границей блока.
Такие пути связи называют маршрутами сигналов.
Для больших SDL-систем существует возможность описать подструктуру блока в терминах других блоков и каналов так, как будто сам блок является системой.
Определение структуры блока может включать следующие элементы:
-
имя блока;
-
определение сигналов (спецификация типов сигналов, обмениваемых внутри блока. Включает спецификацию типов значений, передаваемых сигналами);
-
определение списков сигналов (спецификация идентификаторов, соответствующих спискам сигналов и/или другим идентификаторам списков сигналов);
-
определение маршрутов сигналов (спецификация путей связи, соединяющих процессы блока друг с другом и с границей блока. Спецификация маршрута сигнала содержит спецификацию идентификаторов сигналов, передаваемых по этому маршруту);
-
соединения каналов с маршрутами (спецификация соединений каналов, внешних по отношению к блоку, с маршрутами сигналов, расположенных внутри блока);
-
определение процессов (спецификация типов процессов, описывающих поведение блока);
-
определение данных (спецификация определенных пользователем новых типов, синонимичных типов и генераторов, доступных по всех описанных процессах и/или подструктуре блока); - определение макрокоманд.
<идентификатор канала> идентифицирует канал, присоединенный к маршруту канала в <диаграмме блока>. Этот канал помещается вне <символа кадра> впритык к той точке, в которой заканчивается маршрут сигнала на <на символе кадра). Если <диаграмма блока> не содержит <области взаимодействия процессов), то она должна содержать <область подструктуры блока).
3.3 Сигнал
Конкретная графическая грамматика
Синтаксис
<символ списка сигналов>::=
Семантика
Сигнал передает информацию некоторому процессу.
На рисунке 5 показаны примеры изображения сигналов на диаграммах.
Рисунок 5 - Примеры определения сигнала на GDL/GR: a) с использованием символа текста;
-
с использованием символа списка сигналов;
-
простое перечисление сигналов над символами канала и/или марш-
рута
3.4 Маршрут сигнала
Конкретная графическая грамматика
Синтаксис
<символ маршрута 1>::=
<символ маршрута 2>::=
Семантика
Маршрут сигнала изображает путь передачи сигналов. Маршрут сигнала может рассматриваться как один или два независимых односторонних пути прохождения сигналов между двумя процессами или между процессом и окружающей средой.
Маршрут сигнала не задерживает передаваемые no нему сигналы.
Сигналы, передаваемые по маршруту сигнала, доставляются в приемник сигнала.
Символ маршрута сигнала содержит стрелку у одного конца (односторонний маршрут) или у обоих концов (двухсторонний маршрут); стрелки указывают направление движения сигналов.
С каждой стрелкой <символа маршрута сигнала> должна быть связана <область списка сигналов>. <область списка сигналов> должна быть помещена достаточно близко к стрелке, чтобы не вызвать никаких разночтений.
Если <символ маршрута сигнала> подсоединен к <символу кадра>, то <идентификатор канала> идентифицирует тот канал, к которому подсоединен маршрут сигнала.
Примеры изображения маршрутов сигнала показаны на рисунке 6.
Рисунок 6 - Примеры задания маршрутов
3.5 Канал
Синтаксис
<символ канала 1>::=
<символ канала 2>::=
<символ канала 3>::=
Семантика
Канал является средством передачи сигналов между различными блоками системы или между блоками и окружением.
Канал может соединять один блок с другим или один блок с окружением в одном направлении (односторонний канал), либо в обоих направлениях (двусторонний канал).
Канал можно рассматривать как сложную структуру, разбиение которой вновь приводят к каналам, блокам и сигналам.
Сигналы, передаваемые по каналу, доставляются в приемник.
Сигналы доставляются в конечной точке получателю в том порядке, в котором они были поданы в начальной точке канала. Если два или более сигналов подаются в канал одновременно, то доставляются они в случайном порядке.
Канал может задерживать передаваемые по нему сигналы. Это означает, что с каждым направлением канала связана очередь, организованная по дисциплине FIFO (First-In-First-Out - Первым - Пришел - Первым ушел). Сигнал, поданный в канал, помещается в очередь. После недетерминированного и непостоянного отрезка времени первый в очереди сигнал освобождается и подается в один из каналов или маршрутов сигналов, которые подсоединены к каналу.
Между одной и той же парой точек может существовать несколько каналов. Сигнал одного и того же типа может передаваться по разным каналам.
Определение канала включает следующее элементы:
-
имя канала;
-
один или два пути связи (путь связи специфицирует источник и приемник списка сигналов);
-
один или два списка сигналов (для каждого направления связи должен быть идентифицирован список сигналов, передаваемых в данном направлении. Список может включать идентификаторы сигналов, а также идентификаторы других списков);
-
необязательное определение подструктуры канала. На рисунке 7 показаны примеры изображения каналов.
Рисунок 7 - Примеры задания каналов
3.6 Графические символы SDL/GR
В таблице 1 приведены графические символы, необходимые при изображении диаграмм системы и блока.
Диаграмма системы
В форме SDL/GR определение системы изображается с помощью совокупности диаграмм.
Структура системы в терминах каналов, и блоков изображается с помощью диаграммы системы.
Диаграмма системы состоит из следующих элементов:
-
символа кадра (этот символ изображает границу);
-
заголовка системы: ключевое слово SYSTEM, за которым следует имя системы (заголовок помещается в левый верхний угол кадра);
-
необязательной нумерации страниц (помещается в правый верхний угол кадра);
-
символов текста (обычно для представления определений сигналов, списков сигналов и данных); - символов каналов и маршрутов; - диаграмм макрокоманд.
-
диаграммы блока, которая может быть представлена в двух формах: а) символом блока, содержащим только имя блока (см. рисунок 8);
б) диаграммой блока (кадром, содержащим спецификацию блока в
терминах его процессов и их взаимодействий) (см. рисунок 9).
На рисунке 8 приводится диаграмма системы с именем "exchange", в которой использован символ блока.
Таблица 1 - Графические символы SDL/GR
Рисунок 8 - Пример диаграммы системы
Диаграмма блока
Структура блока в терминах процессов и маршрутов сигналов изображается с помощью диаграммы блока.
Диаграмма блоков состоит из следующих элементов (см. рисунок 9):
-
символа кадра (символ кадра изображает границу блока);
-
заголовка блока: ключевое слово BLOCK, за которым следует имя блока (помешается в левый верхний угол кадра);
-
необязательной нумерации страниц (помещается в правый верхний угол кадра);
-
символа текста (для сигналов, списков сигналов и данных);
-
символа процесса;
-
символов маршрутов; - идентификаторов каналов; - диаграмм макрокоманд.
Рисунок 9 – Пример диаграммы блока
Диаграмма системы с показом структуры блока приведена на рисунке 10.
Рисунок 10 – Пример диаграммы системы, содержащей диаграмму блока
3.6 Расширения в SDL
Как было указано выше, комментарий на диаграмме может быть представлен:
-в виде замечания (см. рисунок 11);
Рисунок 11 - Пример использования замечания в диаграммах системы
-в виде символа комментария с соответствующим текстом (см. рисунок
12);
-символ комментария может быть подсоединен к любому другому символу.
Рисунок 12 - Примеры использования символа комментария в диаграммах системы
Как правило, текст, связанный с символом должен быть помещен внутри символа. Однако часто это или невыполнимо, или непрактично. В качестве альтернативы текст можно помещать внутри символа расширения текста, присоединенного к соответствующему символу (см. рисунок 13).
Рисунок 13 - Примеры использования символа расширения текста