- •Введение
- •1. Основные понятия системы рдо
- •2. Необходимые объекты модели
- •2.1. Объект типов ресурсов
- •2.2. Объект ресурсов
- •2.3. Объект образцов операций
- •2.4. Объект операций
- •2.5. Объект точек принятия решений
- •2.6. Объект прогона
- •3. Дополнительные объекты модели
- •3.1. Объект констант, функций и последовательностей
- •3.2. Объект кадров анимации
- •4. Объекты трассировки и сбора статистики
- •4.1. Объект трассировки
- •4.2. Объект требуемой статистики
- •4.3. Объект результатов
- •5. Работа в среде рдо
- •5.1. Окна редактора и имитатора исм рдо
- •5.2. Зарезервированные слова
- •5.3. Глобальные переменные и стандартные функции
- •6. Демонстрационные примеры
- •6.1. Моделирование экзамена
- •6.2. Моделирование игры
- •7. Содержимое каталога рдо
- •Литература
- •Оглавление
2. Необходимые объекты модели
2.1. Объект типов ресурсов
Объект типов ресурсов служит для описания всех включаемых в модель типов ресурсов. Ресурсы моделируемой СДС должны быть описаны одним из типов, определяющих предметную область и свойственных именно ей. Ресурсы модели, имеющие одинаковый тип, имеют и одинаковый состав параметров. В объекте должны быть описаны все параметры ресурсов СДС, требующиеся исследователю для имитационного эксперимента. Кроме того, исследователь может вводить в рассмотрение абстрактные (не измеряемые и не наблюдаемые, а задаваемые или вычисляемые) параметры ресурсов и абстрактные ресурсы, отсутствующие в моделируемой СДС, если это требуется для моделирования (например, для анимации или сбора статистических данных).
Имитатор получает из объекта типа ресурсов информацию о всех типах ресурсов СДС. Для каждого типа в объекте задаются имя типа ресурса, его вид постоянный или временный, а также описание состава параметров. Описание каждого типа ресурса имеет следующий формат:
$Resource_type<имя_типа> : <вид_ресурса>
$Parameters
{ <описание_параметра> }
$End
Примечание. Здесь и далее при описании форматов фигурные скобки обозначают одно и более повторений содержимого, квадратные возможность полного отсутствия, прямая вертикальная черта возможность выбора из альтернатив.
Имя типа представляет собой простое имя последовательность русских или латинских букв и цифр, а также символов _ (подчеркивание) и$ (знак доллара). Имя не может начинаться с цифры. Например, тип_ресурса_1. Имена типов должны быть различными для всех типов и не должны совпадать с определенными и ранее использованными именами. Вид ресурсов данного типа может быть одним из следующих:
permanent постоянные ресурсы; ресурсы этого вида всегда присутствуют в модели, они не могут быть уничтожены или созданы во время прогона;
temporary временные ресурсы; ресурсы этого вида могут во время прогона создаваться и уничтожаться при выполнении операций, правил и совершении нерегулярных событий.
При описании отдельного параметра должен быть указан его тип, например, тип целый. Кроме того, может быть указано значение параметра, задаваемое по умолчанию.
Описание параметра ресурса имеет формат:
<имя_параметра> : <тип_параметра>[ = <значение_по_умолчанию>]
Имя параметра этопростое имя. Имена параметров должны быть различными для всех параметров данного типа ресурсов и не должны совпадать с именами типов ресурсов и зарезервированными словами. Имя параметра может совпадать с именем параметра другого типа ресурсов. Тип параметраэто один из возможных типов данных языка (см. табл. 2.1). Ссылки возможны на параметры ранее описанных типов ресурсов и на ранее описанные параметры данного типа ресурсов.
Для параметра любого типа может быть задано значение по умолчанию. Это значение указывают после знака равенства целой или вещественной численной константой, либо именем значения для перечислимого параметра. При указании типа ссылкой также возможно задание значения по умолчанию. При этом задаваемое значение может отличаться от значения по умолчанию того параметра, на тип которого производится ссылка.
Таблица 2.1
Тип ресурса, диапазон значений |
Пример описания |
Пример констант |
Целый тип: от 0 до 255 1 байт от –32767 до 32767 2 байта от –2147483647 до 2147483647 4 байта |
Integer, integer [1..100]* |
123 -26648 +5565925 |
Вещественный тип: от –3,4Е+38 до –1,5Е-45 и от 1,5Е-45 до 3,4Е+38 4 байта |
Real, real [0.0..50.7]* |
0.00456 -54.0е-10 +8568.5 -1.45Е3 |
Перечислимый тип: Не более 256 значений Каждое значение в 1 байте |
(Пн, Вт, Ср, Чт, Пт, Сб, Вск), (Name_1, Name_2) |
Пн Name_2 |
Ссылка на один из выше определенных типов |
Such_as <имя_ранее_описанного_объекта> |
such_as Зачеты.Номер |
*Указание диапазона позволяет рациональнее использовать память. При присвоении значения проверяется попадание в диапазон, при выходе из него присваивается значение ближайшей границы.
Пример на описание типов ресурсов:
$Resource_type Зачеты : permanent
$Parameters
Номер : integer [1..2]
Количество_студентов_в_очереди : integer [0..60] = 0
Опрошено_студентов : such_as
Зачеты.Количество_студентов_в_очереди = 0
Занятость_экзаменатора : (Свободен, Занят) = Свободен
$End
$Resource_type Студенты : temporary
$Parameters
Зачет : such_as Зачеты.Номер
Время_прихода : real
Состояние : (Пришел, В_очереди)
$End
Примечание. Обратите внимание на обязательность разделителей пробелы до и после двоеточия, конец строки. Другими разделителями являются знак горизонтальной табуляции, конец объекта, комментарий. Комментарием является любой текст, заключенный в фигурные скобки. Этот текст может содержать разделители (кроме признака конца объекта), а также символы, не входящие в алфавит языка. Вложенные комментарии и фигурные скобки внутри комментария не допускаются.