Возможность вызова DLL из AnyLogic позволяет интегрировать модели с численными методами, реализованными на С, использовать быстрые алгоритмы обработки структур данных и т. п. Механизм JNI (Java Native Interface), который лежит в основе этой интеграции, позволяет также вызывать функции, специфичные для операционной системы: организовывать доступ к специальным аппаратным устройствам, использовать уже существующий не Java-код или использовать построенные вне модели критичные ко времени выполнения части кода. В настоящий момент JNI разработан как интерфейс с собственными методами, написанными только на С или C++: Руководство по использованию данной технологии доступно по адресу http://java.sun.eom/j2se/l.4.2/docs/guide/jni/. Принципиальная схема взаимодействия компонентов программы при использовании JNI представлена на рис. 11.2.
Пример использования JNI представлен на http://java.sun.com/ docs / books / tutorial / native 1.1 / index. h tml.
Использование RMI
Вызов удаленных методов (Remote Method Invocation, RMI) обеспечивает взаимодействие между Java-программами, даже если они выполняются на различных территориально удаленных компьютерах. Фактически, эта технология позволяет удаленно вызывать методы моделей AnyLogic, запущенных на других компьютерах, из таких же моделей AnyLogic. Подобное взаимодействие можно организовать также поверх TCP/IP, но стоит отметить, что
RMI представляет интерфейс более высокого уровня. При использовании RMI методы удаленных моделей вызываются так, как если бы удаленный объект обрабатывался локально. Примеры использования данной технологии представлены на сайте http://java.sun.com/deveIoper/onlineTraining/ rmi / RMI. html.
Заключение
Разработанная и скомпилированная модель, построенная в среде AnyLogic, является 100 % приложением Java. Это дает возможность не только использовать всю мощь языка Java при разработке модели (например, преимущества объектно-ориентированной разработки, библиотеки и классы Java и т. п.). Это позволяет также использовать все стандартные средства и методы, предоставляемые данным языком для интеграции Java-приложений. В частности, использование внешних классов и библиотек, доступ к внешним базам данных и электронным таблицам типа Excel, взаимодействие нескольких территориально распределенных моделей — все это можно использовать для моделей, разрабатываемых в AnyLogic.
Часть IV
Современные парадигмы в имитационном моделировании