
- •1.2 Понятие имитационной модели и имитационного моделирования
- •1.3 Методология имитационного моделирования
- •1.4 Дискретное имитационное моделирование
- •Событийный подход
- •Подход сканирования активностей
- •Процессно-ориентированный подход
- •1.5 Направления реализации им
- •Тема 2. Автоматизация им
- •2.1 Формы представления знаний
- •2.2 Модифицированные продукционные правила
- •2.3 Ресурсы сложной дискретной системы и события
- •2.4 Идентификация событий в сдс
- •2.5 Действия и их формализация
- •2.6 Операции в сдс
- •Тема 3. Интеллектуальная моделирующая система на основе рдо-метода
- •3.1 Составляющие рдо-метода
- •3.2 Структура продукционного имитатора
- •3.3 Гибридные системы
- •3.4 Основные конструкции языка рдо
- •Алфавит
- •Лексемы и разделители
- •Типы данных. Соответствие типов
- •Арифметические и логические выражения
- •Синтаксис последовательностей
- •Типы ресурсов
- •А) Описание ресурсов
- •Б) Описание образцов
- •В) Описание операций
- •Г) Объект описания показателей
- •3.5 Поиск решений в продукционных системах а) Введение
- •Б) Основная процедура поиска
- •Поиск в глубину
- •Поиск в ширину
- •Г) Описание точек принятия решений
- •Тема 4. Языки имитационного моделирования gpss
- •Основные команды инетерпретатора gpsspc
- •Тема 5. Система имитационного моделирования Arena
- •Тема 6. Руководство пользователя системы имитационного моделирования rao-studio
- •Меню Edit
- •Меню Search
- •Меню View
- •Меню Insert
- •Меню Model
- •Интерфейс главного окна приложения Окно рабочего пространства
- •Окно вывода
- •Строка состояния
- •Работа с моделью Создание
- •Открытие
- •Сохранение
- •Редактирование
- •Выделение фрагментов текста
- •Работа с выделенными фрагментами
- •Откат изменений
- •Автозавершение (code completion)
- •Работа с шаблонами и вставка синтаксических конструкций
- •Работа с дополнительными буферами обмена
- •Поиск и замена подстрок
- •Поиск фразы по всей модели
- •Навигация по тексту с помощью механизма закладок
- •Скрытие фрагментов текста
- •Просмотр результатов моделирования
- •Автоматическое построение графиков
- •Настройки программного комплекса
- •Закладка General
- •Закладка Editor
- •Закладка Tabs
- •Закладка Styles and Color
- •Список литературы
- •Интернет ресурсы
3.4 Основные конструкции языка рдо
1) Правила записи
При описании конструкций языка используются следующие условные обозначения:
Каждое правило записи состоит из одной или нескольких альтернатив (фраз), разделенных вертикальной чертой ( | ).
Фраза состоит из нуля или более элементов.
Элемент – это или зарезервированное слово языка (выделяется жирным шрифтом), или специальный символ (комбинация), или некоторое метаимя, заключенное в угловые скобки <>, или другое синтаксическое выражение, заключенное с двух сторон в фигурные, квадратные, круглые скобки.
Фигурные скобки указывают на повторение (нуль или более вхождений), квадратные скобки – на допустимость (нуль или одно вхождение), а круглые скобки – на группирование (точно одно вхождение) выражений, в них заключенных.
Алфавит
Алфавит языка содержит следующие символы:
цифры 0…9;
прописные и строчные латинские буквы A…Z, a…z;
прописные и строчные русские буквы А…Я, а…я;
специальные символы:
_ - подстрочный символ;
$ - знак денежной единицы;
: - двоеточие;
[, ] - прямые скобки;
(, ) - круглые скобки;
{, } - фигурные скобки;
, - запятая;
+ - знак сложения;
- - знак вычитания;
* - знак умножения;
/ - знак деления;
< - знак меньше;
> - знак больше;
= - знак равно;
. - точка;
' - апостроф;
\ - обратная косая черта;
~ - тильда;
# - знак номера.
Лексемы и разделители
Лексемы языка состоят из символов, входящих в алфавит языка, и отделяются друг от друга одним или несколькими разделителями.
Разделителем является:
пробел;
знак горизонтальной табуляции;
конец строки;
конец объекта;
комментарий.
Разделители могут следовать один за другим в любом количестве и сочетании (кроме признака конца объекта).
Комментарием является любой текст, заключенный в фигурные скобки. Этот текст может содержать разделители (кроме признака конца объекта), а также символы, не входящие в алфавит языка. Вложенные комментарии и фигурные скобки внутри комментария не допускаются.
Типы данных. Соответствие типов
Тип данных определяет множество значений, которые может принимать та или иная переменная, и те операции, которые можно к ним применять. Концепцию типов данных широко используют в современных языках программирования, с ее помощью можно абстрагироваться от физического представления данных, повысить наглядность и надежность программы. С каждой встречающейся в программе константой, функцией, последовательностью, параметром ресурса, параметром функции, параметром образца должен быть сопоставлен один и только один тип.
В данной версии РДО-языка определены следующие типы данных:
целый тип - integer;
длинное целое - longint;
вещественный тип - real;
перечислимый тип;
ссылка на один из выше определенных типов - such_as.
Для целых и вещественных типов возможно задание диапазона допустимых значений. Диапазон указывают за зарезервированным словом integer, longint или real в квадратных скобках. Границы диапазона представляют собой численные константы вещественного или целого типа, их разделяют двумя точками.
Перечислимые типы задают указанием всех возможных значений. Имена всех возможных значений перечислимого типа указывают в круглых скобках через запятую.
Если несколько различных объектов программы имеют одинаковый тип, то нет необходимости повторять описание типа. Вместо этого можно воспользоваться ссылкой на ранее описанный тип. Ссылка имеет следующий формат:
such_as <имя_ранее_описанного_объекта>
Ссылки возможны на типы ранее описанных констант и параметров ресурсов, представленных в объекте типов ресурсов. Допустимы цепочные ссылки, т.е. ссылки на объект, тип которого также описан ссылкой.
В языке используют следующие соглашения о соответствии типов: целый тип всегда соответствует целому, а вещественный – вещественному, независимо от диапазона допустимых значений (если он задан). Перечислимые типы считаются соответствующими, только если один из них описан ссылкой на тип другого, либо если они оба описаны ссылкой на тип третьего.