Информационные ресурсы – это необходимые сведения, оперативная информация (например, биржевая информация с сайтов Интернет), временно предоставляемые права на что-либо, документация или иные нематериальные ценности, без которых невозможно выполнение важной функции. Эти ресурсы подразделяются на две категории:
- стартовый информационный ресурс, без которого нельзя начинать выполнение функции (например, инструкция по сборке устройства);
- оперативный информационный ресурс, постоянно необходимый при выполнении функции (например, оперативная диспетчерская информация в аэропорту).
Стартовый информационный ресурс дает возможность отправить заявку на выполнение какой-либо функции, т.е. поместить транзакт в очередь на обслуживание. На рис.18 показана схема получения такого ресурса.
Для выполнения основной функции нужны только два узла: первый (очередь queue) и седьмой (обслуживающий процесс serv). Узлы 2 – 6 предназначены для имитации получения информации из N источников. Эти источники – каналы в узле обслуживания 5 (serv). Предполагается, что ко всем этим каналам доступ осуществляется через общую очередь 4 (queue). Если необходимо смоделировать отдельные механизмы доступа к каждому уникальному источнику информации, то данную схему нужно усложнить: это будет N очередей к N одноканальным узлам обслуживания.
Запросы на выполнение основной функции поступают в очередь 1. Первый же запрос проходит через открытый клапан 2 (key) и далее поступает на управляемый генератор 3 (creat). При входе в него выполняется сигнальная функция hold, которая закрывает клапан, чтобы преградить путь следующим транзактам.
Узел creat создает новое семейство транзактов (от 1 до N). Каждый из них – это запрос, который поступает в очередь к источникам информации. Время получения информации можно сделать уникальным для каждого транзакта. После обслуживания каждый такой транзакт поступает в узел delet.
Основной (порождающий) транзакт проходит за нулевое время узел creat и поступает в узел delet, где он становится уничтожающим для только что созданного семейства. Если порожденный транзакт достигает узла delet, то это означает получение информации от очередного источника. Далее он становится ненужным и поглощается основным транзактом.
После получения всей необходимой информации все дополнительные транзакты поглощены, и основной транзакт переходит к отработке основной функции в узле 7 (serv). При входе в этот узел выполняется сигнальная функция rels, открывающая клапан для прохождения других транзактов.
Следует отметить, что параллельно с обслуживанием запросов на выполнение основной функции, в данной схеме также моделируется обслуживание потока запросов от других клиентов. Такой поток обычно называется фоновым. Если работать без приоритетов, то он приводит к увеличению задержек в очереди 4.
Оперативный информационный ресурс может быть получен двумя способами:
- предварительно, вместе со стартовым;
- во время выполнения транзактом основной функции.
Схема выполнения транзактом основной функции при наличии доступа к оперативной информации приведена на рис.19.
Основной транзакт – это запрос на выполнение основной функции, который поступает в очередь 1. Выполнение основной функции имитируется в данном случае не узлом обслуживания serv, а с помощью узла – процесса 2 (proc). Узел proc отрабатывает только время обслуживания, и непрерывный компонент ему не нужен.