При использовании подхода сканирования активностей разработчик описывает действия, в которых принимают участие элементы системы, и задает условия, определяющие начало и окончание этих действий. События, которые начинают или завершают действие, не планируются разработчиком модели, а инициируются по условиям, определенным по данным действиям. Условия начала или окончания действия проверяются (сканируются) после очередного продвижения имитационного времени. Если заданные условия удовлетворяются, происходит соответствующее действие. Для того чтобы было выполнено каждое действие в модели, сканирование условий производится для всего множества действий при каждом продвижении имитационного времени.
Подход сканирования активностей обеспечивает простую схему моделирования для решения целого ряда проблем. Он наиболее эффективен для ситуаций, в которых продолжительность действия определяется в зависимости от того, насколько состояние системы удовлетворяет заданным условиям. Тем не менее, так как необходимо сканировать условия для каждого действия, подход сканирования активностей менее эффективен по сравнению с событийным подходом и поэтому имеет ограниченное применение в дискретной имитации.
Операторная схема для нашего примера модели сканирования активностей имеет вид:
Действие 1:
Условие начала: ПАРИКМАХЕР “СВОБОДЕН” И ЧИСЛО КЛИЕНТОВ В ОЧЕРЕДИ БОЛЬШЕ НУЛЯ
Выполнить: УМЕНЬШИТЬ ЧИСЛО КЛИЕНТОВ В ОЧЕРЕДИ НА ЕДИНИЦУ;
НА ВРЕМЯ ОБСЛУЖИВАНИЯ ПЕРЕВЕСТИ ПАРИКМАХЕРА В СОСТОЯНИЕ “ЗАНЯТ”
Действие 2:
Условие начала: КЛИЕНТ ПРИБЫЛ
Выполнить: УВЕЛИЧИТЬ ЧИСЛО КЛИЕНТОВ В ОЧЕРЕДИ НА ЕДИНИЦУ;
СГЕНЕРИРОВАТЬ ПРИХОД СЛЕДУЮЩЕГО КЛИЕНТА ЧЕРЕЗ Т ЕДИНИЦ ВРЕМЕНИ.
В этой модели первое действие происходит всякий раз, когда освобождается парикмахер и имеется клиент в очереди (в том числе только что пришедший и еще не ждавший в очереди). Действие сводится к занятию парикмахера на время обслуживания и уменьшению очереди. Второе действие происходит всякий раз, когда проходит время между приходами клиентов. Его следствием является мгновенное увеличение очереди на одного ждущего клиента.
Блок-схема процесса имитации при использовании сканирования активностей следующая (Рис.9):
Рис.9. Блок-схема реализации подхода сканирования активностей