Java в AnyLogic

Было бы замечательно, если бы любую имитационную модель можно было создать графически, простым перетаскиванием элементов и соединением их друг с другом. Но в действительности только самые простые модели могут быть созданы с помощью мыши и без участия клавиатуры. Пытаясь отразить в модели аспекты реального мира, вы неизбежно столкнетесь с необходимостью использования функций вероятностных распределений, вычисления выражений и проверки условий, анализирующих значения свойств различных объектов, задания нестандартных структур данных и разработки соответствующих алгоритмов. Все это лучше делать не графически, а в тексте, и поэтому любой инструмент имитационного моделирования содержит текстовый язык задания сценариев.

С самого начала мы не хотели изобретать свой собственный язык сценариев для AnyLogic. Более того, создание AnyLogic было во многом вдохновлено именно Java, который мы считаем идеальным языком программирования для разработчиков моделей. С одной стороны, Java - достаточно высокоуровневый язык, избавляющий пользователя от хлопот по выделению памяти, различию между объектами и ссылками и т.д. С другой стороны, Java является полнофункциональным объектно-ориентированным языком программирования с высокой производительностью. В Java вы можете задавать структуры данных любой сложности, разрабатывать эффективные алгоритмы, использовать многочисленные пакеты классов от Sun™/Oracle™ и других разработчиков. Java поддерживается лидерами отрасли и по мере улучшения Java все новые преимуществаи возможности языка автоматически добавляются в арсенал пользователей AnyLogic.

Разработанная в AnyLogic модель полностью отображается в Java код, и будучи связанной с исполняющим модулем AnyLogic (также написанном на Java) и опционально с Java оптимизатором, становится абсолютно независимым самостоятельным Java приложением. Это делает модели AnyLogic кросс-платформными: они могут быть запущены в любой поддерживающей Java среде.

Часто задается вопрос "Как много я должен знать о Java, чтобы успешно создавать модели в AnyLogic?". Спешим обрадовать - вам совершенно не обязательно знать что-либо об объектно-ориентированном программировании. "Скелет" структуры Java классов модели автоматически создается AnyLogic. В типичной модели Java код присутствует в виде небольших фрагментов, написанных в различных свойствах графически созданных пользователем элементов модели. Это могут быть выражения, вызовы функций, небольшое количество строк кода. Поэтому вам нужно просто ознакомиться с основными типами данных, выучить основы синтаксиса языка Java и запомнить, что для того, чтобы произвести какое-либо действие с объектом модели, нужно вызвать его функцию.

Этот раздел Справки AnyLogic ни в коей мере не является полным описанием языка Java и не подходит даже в качестве вводного пособия в язык Java для программистов. Это скорее набор информации, достаточный для разработчика моделей AnyLogic, который позволит вам работать с данными и объектами моделей. Для тех, кто планирует писать сложный Java код, использовать преимущества объектно-ориентированного подхода, работать с внешними пакетами Java классов, мы рекомендуем изучить Java с помощью хорошего учебника, например, одного из следующих:

Для самостоятельного изучения Java мы рекомендуем вам прочесть начальные главы одной из лучших книг по Java: Bruce Eckel. Thinking in Java. На английском языке книга доступна по адресу http://www.mindview.net/Books/TIJ. Перевод на русском: Брюс Эккель. Философия Java, 2 редакция.

Документация по Java классам (на английском языке) доступна по адресу http://java.sun.com/javase/6/docs/api/.

Кроме того, вы можете найти и другие онлайн учебники и учебные курсы на русском языке, например: В.Фесюнов. Конспект лекций по Java