Что нового в AnyLogic 7? Поддержка Pull-протокола. 13.03.2014 Sergey Suslov

Что нового в AnyLogic 7? Поддержка Pull-протокола.

Подписчики нашего блога наверняка уже слышали о том, что новая библиотека дискретно-событийного моделирования Process Modeling Library поддерживает Pull-протокол. Давайте посмотрим на примере, что же это такое.

Взгляните на модель, построенную в AnyLogic 6. Моделируемая система очень проста: конвейер, перед которым расположился блок обслуживания. Для того, чтобы новая заявка вошла на конвейер, необходимо, чтобы предыдущая освободила соответствующее место, заданное параметром конвейера «Расстояние между заявками». До этого конвейер не готов принять следующую заявку.



В «Основной библиотеке» (Enterprise Library) AnyLogic 6 заявка выталкивалась из блока, как только заканчивалось обслуживание в блоке Delay. Если опустить очередь на выходе (queueOut), то периодически будет возникать ошибка. При этом на реальном производстве деталь просто не покидает участок обслуживания. Поэтому нам приходится добавлять блок hold, который бы блокировал входящий поток заявок. Важно понимать, что необходимо блокировать hold каждый раз, когда заявка входит в очередь queueOut (поле onEnter), и разблокировать его при выходе заявки (в поле onExit).

Таким образом, простейшая модель, состоящая из участка обслуживания и конвейера, занимает уже не два блока, а четыре, плюс дополнительная логика. А как Вы понимаете, таких участков в цеху десятки. Мы как практикующие разработчики моделей не могли оставить такую ситуацию без изменений.

Поэтому в новой библиотеке дискретно-событийного моделирования протокол Pull включён по умолчанию. Результат налицо: в реальной жизни два объекта, и в модели два блока. Всю логику работы процесса берёт на себя библиотека Process Modeling Library.
3D-анимация моделей получается в AnyLogic 7 почти автоматически. Стандартная палитра содержит более 300 объектов, сгруппированных по областям применения. Я использовал стандартные объекты «Угол трубы» и «Гибочный пресс», запустил модель, и вот что получилось:



Конечно, протокол Pull – очень удобное подспорье при моделирвоании производств. Но что, если необходимо моделировать бизнес-процесс, в котором естественным является протокол “Push”? Мы не убрали такую возможность – пользователь волен выбирать между протоколами. Гибкость для создателей моделей – один из наших главных принципов при разработке продукта.



Следите за обновлениями в нашем блоге, где мы продолжим рассказ о новой функциональности AnyLogic 7.