Доброго времени суток. Скажите, есть ли возможность
модифицировать объекты Enterprise Library? Мне нужно реализовать
прерываемый Delay, а до кода стандартного никак не могу добраться.
Максимум схема отображается после запуска модели.
P.S.: Может, посоветуете что-нибудь другое для моделирования
прерывания?
Pavel — 05.06.08
Встроенная в AnyLogic 5 Enterprise Library открыта для пользовательских
изменений. Если Вы хотите каким-либо образом изменить ее объекты,
то Вам необходимо открыть данную библиотеку как проект AnyLogic. По
умолчанию она находится здесь: C:\Program Files\AnyLogic 5\Lib\Enterprise Library.alp.
Если же Вы используете AnyLogic 6, то у Вас не будет возможности
открыть библиотеку как проект AnyLogic. Вы можете создавать
собственные объекты, используя стандартные элементы Enterprise Library.
Andrew Fraunhoffer — 05.06.08
Спасибо большое. Но я посмотрел код компонента Delay и увидел, что
задержка реализована таймером (мог бы и сразу догадаться). Как
прервать таймер я не знаю, в связи с этим вопрос: каким образом
можно остановить обработку заявки компонентом Delay уже после того,
как начал выполняться метод entityIn() и соответственно, создался
таймер?
Andrew Fraunhoffer — 05.06.08
Все, уже не надо, почитал код Queue и Delay и сам разобрался, набросал
то, что надо )
К слову, порадовала строчка: timer.unregister(); //WORKAROUND: IS THIS THE CORREECT WAY OF
KILLING IT ???
Простая, понятная и логичная у вас система, если разобраться.
Если жизнь тесно сведет с имитационным моделированием, то я ваш
клиент. Спасибо.
Сергей Суслов — 06.06.08
Спасибо, Эндрю!
Кстати, в последней версии (6.2.х) Вы можете найти специальный
объект - DelaySuspendable. Он реализован в рамках модели Utilities.
Идеологически, это специальная модель, которая содержит шаблоны
различных блоков, которые пользователи могут использовать в
своих моделях, модифицировав при необходимости.
Так как код блока открыт, Вы можете посмотреть идею реализации, и
реализовать аналогичную логику в AnyLogic 5.
С уважением, Сергей.