![](/user_photo/_userpic.png)
- •Содержание
- •Введение
- •Основные концепции sdl
- •Диаграммы систем и блоков
- •Базовые средства описания динамического поведения системы
- •Процессы
- •Процедуры
- •Вспомогательные диаграммы и дополнительные концепции
- •Язык «человек-машина» mml
- •Язык высокого уровня chill
- •Моделирование телекоммуникационных систем и каналов
- •Литература
-
Процедуры
Символ процедуры
Ключевое слово PROCEDURE
Символ старта процедуры
Семантика
Процедуры SDL подобны процедурам других языков программирования.
Назначение процедур:
-
разрешение структурирования процесса на уровни разной степени детализации;
-
поддержка компактности спецификаций, разрешив рассматривать как один элемент сложный комплекс различных элементов, который может быть описан изолировано от остальных;
-
разрешение отдельного описания и повторное использование часто используемых комплексов элементов.
Определение процедуры может находиться только в определении процесса, определении сервиса или определении процедуры.
На SDL/GR определение процедуры изображается с помощью диаграммы, весьма близкой к диаграмме процесса. Диаграмма процедуры состоит из следующих элементов:
-
необязательного символа кадра: прямоугольный по форме символ, содержащей все прочие символы;
-
заголовка процедуры: ключевое слово PROCEDURE, за которым следует имя процедуры и спецификация формальных параметров процедуры. Обычно заголовок процедуры помещают в верхний левый угол кадра или, если символ кадра не используется, то в левый верхний угол того носителя, на котором изображается диаграмма;
-
необязательной нумерации страниц (помещается в правый верхний угол);
-
символ текста: для случая диаграммы процедуры символы текста могут использоваться для помещения в них спецификаций формальных параметров, данных и определений переменных;
-
ссылок на процедуры: символ процедуры, каждый ив которых содержит имя процедуры, представляющее локальную, отдельно определенную процедуру;
-
диаграммы процедуры: спецификация поведения процедуры в терминах старта, состояний, вводов, выводов и т.д. и ориентированных дуг.
На рисунке 20 представлен пример диаграммы процедуры.
Вызов процедуры
Символ вызова процедуры
![](/html/48381/975/html_qdNner9rcZ.hRjQ/img-iyRkOS.png)
Семантика
Вызов процедуры может находиться всюду, где в графе процесса или процедуры может находиться действие работы. В каком-то смысле на вызов процедуры можно смотреть как на работу, но со следующими исключениями:
-
процедура может содержать состояния и, если это имеет место, получать сигналы;
-
процедура может посылать сигналы. Процесс, посылавший сигналы, является тем процессом, который осуществлял вызов процедуры.
После вызова процедуры создается процедура и начинается ее интерпретация. Интерпретация продолжается до тех пор, пока не будет достигнут RETURN.
Вызов процедуры изображается с помощью символа вызова процедуры, содержащего имя процедуры и заключенный в круглые скобки список фактических параметров. Пример вызова процедуры приведен на рисунке 20.
Рисунок 20 – Пример диаграммы процедуры
Возврат
Символ возврата
Семантика
При достижении диаграммой процедуры вершины возврат происходит следующее:
-
все переменные, созданные в результате интерпретации вершины старта процедуры, прекращают свое существование;
-
после этого действие возвращается в вершину, непосредственно следующей за вершиной вызова процедуры.