AnyLogic
Expand
Font size

AnyLogic Professional

AnyLogic Professional edition is the ultimate solution for developing large and complex simulation models and sophisticated animations, embedding models in different IT environments, and creating and using custom libraries for specific application areas. The Professional edition includes all features of AnyLogic PLE plus the options listed here.

Export models as standalone Java applications

You can export your models as Java applications and deploy them on other machines, including servers. Java applications have no security restrictions and can communicate with databases, external files, and other applications. This feature allows you to embed simulation models into larger decision support systems.

Java level debugger

Since complex logic in simulation models is sometimes programmed in Java, the ability to step through Java code, inspect the variable values, set breakpoints, and so on can significantly speed up the model development. In AnyLogic Professional you can view how the code fields (“extension points”) in AnyLogic map to the generated Java source, run models in debug mode, and control their execution from the Debug perspective of the AnyLogic IDE.

Analyzing the model performance based on memory

AnyLogic Professional provides the memory dump analyzer that helps identify memory leaks in your model and reduce memory consumption. The memory analyzer can be initiated during model execution to help find and fix problems that could potentially slow down or crash your model.

Integration with Git and SVN

When a large model is being developed by a team, it is essential that the development tool integrates well with version control software. AnyLogic Professional enables distributed model development with features such as code review, pull requests, and continuous integration. Partitioning the model into components for parallel work, storing them in multiple files, integrating with repositories, and managing them directly from the AnyLogic IDE increases the efficiency of team-based model development.

Custom experiment

In addition to the various experiments available in AnyLogic PLE, AnyLogic Professional offers the Custom experiment type. This type of experiment is written entirely by the user in a code box where you can leverage the rich Java API of the AnyLogic engine. There are no predefined settings, which allows for a high degree of customization, making it a powerful tool for those who want more control and flexibility over their experiments.

Saving and restoring the model snapshot

In AnyLogic Professional, you can save the complete state of a model (the snapshot) to a file during runtime, restore it at a later time, and continue running the simulation from the same point.

This feature can be useful in several cases:

  • Resilience: if a simulation takes a very long time to complete, it may be useful to save its state periodically so that you do not have to start everything from scratch if, for example, the computer crashes.
  • Skipping warm-up period: if you plan to run multiple scenarios with a simulation that differ only after the model has warmed up, you can run the model once to the end of its warm-up period only once, save the state, and then reload it for each scenario.
  • Running distributed simulations: many parallel and distributed simulation frameworks require the ability to roll back the model to a previous state (checkpoint). This may be needed to synchronize the clocks of concurrent simulations when one of them happens to “run too far”.
  • Any other case where you need to refer to a specific state of the model without running the simulation from the initial state.

The AnyLogic model snapshot implementation is based on the Java serialization mechanism.

Easy integration with databases, spreadsheets, and text files

In addition to the generic Database, Excel File, and Text File elements available in AnyLogic PLE (Connectivity palette), the Professional edition offers a set of easy-to-use objects for performing common operations, such as: reading object parameters from a spreadsheet, populating an agent-based model reading from a database containing individual agent properties, inserting a row into a table, writing simulation output to specific fields, reading and writing information to and from text files, and so on. No SQL or JDBC knowledge is required.

How can we improve this article?