Scripting, API, SDK¶
O Aimsun Next é, do ponto de vista de um programador, um ambiente extensível no qual novas funcionalidades podem ser adicionadas.
Conceitualmente, ele é dividido em duas partes principais, kernel e UI:
- Kernel – Esta é a parte não visível. Inclui um banco de dados extensível para conter qualquer tipo de informação, uma representação desse banco de dados em memória e uma coleção de classes e funções (chamadas de métodos em C++) para acessar e modificar essas informações.
- Interface de usuário (UI) – A representação gráfica do kernel. Inclui vistas 2D e 3D, editores, suporte a impressão etc.
O Aimsun Next tem quatro meios diferentes de estender tanto o kernel quanto a UI, cada um com uma finalidade diferente:
-
Scripting: Scripting foi projetado para automatizar operações que, de outra forma, seriam feitas manualmente com a GUI. Scripts podem ser usados para importar dados do modelo ou para fornecer ferramentas personalizadas para automatizar a edição. Scripting está disponível em Python. Para escrever funções de custo tanto Lua quanto Python podem ser usados.
-
API: Usando a Application Programming Interface, é possível programar operações que atuam durante a simulação microscópica ou mesoscópica alterando tempos de controle semafórico, gerenciamento ITS ou parâmetros de veículos. A API é normalmente usada na simulação de ITS avançados ou semáforos personalizados. APIs podem ser escritas em C ou em Python.
-
MicroSDK: O Microsimulator Software Development Kit é usado para desenvolver novos modelos de simulação microscópica (car following, lane changing etc.) substituindo aqueles incluídos no Microsimulador do Aimsun Next. O microSDK usa C++.
-
External Agent Interface (EAI): Ele fornece um método simples para conectar um simulador de direção ou controlador CAV a uma microssimulação do Aimsun Next. A EAI usa C++.
-
V2X SDK: Projetado para fornecer uma plataforma extensível para incluir comunicações veículo-a-veículo e veículo-a-infraestrutura usando protocolos CAV padrão ou protocolos específicos por função, desenvolvidos sob medida, em uma microssimulação do Aimsun Next. O V2X SDK usa C++.