Extendibility¶
Aimsun Next is, from a programmer's point of view, an extensible environment in which new functionality can be added.
Conceptually it is divided into two main parts, kernel and UI:
- Kernel – This is the non-visible part. It includes an extensible database to hold any kind of information, a representation of this database in memory and a collection of classes and functions (called methods in C++) to access and modify such information.
- User interface (UI) – The graphical representation of the kernel. It includes 2D and 3D views, editors, printing support, etc.
Aimsun Next has four different means of extending both the kernel and the UI, each with a different purpose:
-
Aimsun Next scripting: Scripting is designed to automate operations that would otherwise be done manually with the GUI. Scripts can be used to import model data or to provide custom tools to automate editing.
-
Aimsun Next API: Using the Application Programming Interface, it is possible to program operations that act during the microsimulation by changing signal control timings,ITS management, or vehicle parameters. The API is typically used in simulating advanced ITS or customized signals.
-
Aimsun Next microSDK: The Microsimulator Software Development Kit is used to develop new microscopic simulation models (car following, lane changing, etc.) replacing those included in the Aimsun Next Microsimulator. The microSDK uses C++.
-
Aimsun Next External Agent Interface (EAI): It gives a simple method of connecting a driving simulator or CAV controller to an Aimsun Next microsimulation. The EAI uses C++.
-
Aimsun Next V2X SDK: Designed to provide an extensible platform to include vehicle-to-vehicle and vehicle-to-infrastructure communications using standard CAV protocols or custom-developed, role-specific protocols in an Aimsun Next microsimulation.The V2X SDK uses C++.