The wizard allows you to create a full working package of a multi-agent simulation. You get a zip file which contains a full working Maven project.
You can follow-up our 15 minutes tutorial step 4 to build AgentSpeak and after that the wizard generated code can be used directly. The code is tested up to 2.500.000 agents with communication, environment, external and internal actions and create an executable jar file.
Note: We are currently testing the wizard with different workflows and examples, so bugs can occure. Please report us any problems and feel free to ask questions if there is anything ambiguous
This main information are needed to define your own application structure. Here you can define a general name and projekt description for this simulation. This data will be used for the Maven build process. The generated Maven build script is defined for Maven 3.0 or higher, so you need the correct version of Maven and a built LightJason AgentSpeak(L++) Maven package.
(*) Mandatory
The meta-information contains project description and project url. The data are not neccessary and will if exists added to the readme and project configuraton.
The runtime is the main structure to execute the simulation, so here can you define the main runtime. The runtime is build with parallel execution, so keep in mind, that the execution can be return different arguments. The runtime does not contains a (statistical) analysis of, so this must be written by yourself.
Agents will be generated by an agent-generator. For each agent-class an agent-generator is needed, but a generator can be instatiated multiple time for using different ASL files. An agent is an object, which depends on an AgentScript(L++) file (ASL file) and a generator can process one file, so multiple agents can be generated by the same ASL file. For the most scenarios only one agent and one generator is needed which can be used with multiple ASL files, so the default configuration is sufficient.
The external- or standalone-actions are calls from the agent which can define any kind of behaviour. The action can be used to define any kind of calculation or logging, data export and import. Take a look on the current built-in actions to get an overview.
The environment defines a shared data structure for all agents, so in this configuration you can define a set of actions which will definied within each agent. All agents get access to the same environment instance and the simulation can suppor different environment types (you need to add some further environment classes). Please keep in mind that all access to the environment must be thread-safe and mostly not in a synchronized way, because of performance issues. It make sense that you take a look on thread-safe Java data structure to develop the details of your environment.
Here can create the code examples based on the LightJason framework. We recommand to understand the code especially consideration of performance and object-orientated programming and design. This wizad cannot create a full performant example for each domain definition and problem definition, so in some cases you must create your own structure.
The wizard should help beginners to understand the architecture of the framework without writing the full boilerplate code yourself. Please read the tutorials first to understand the main concepts of the code. All generated codes are for *Java 1.9* or higher, so a downgrade is not possible.
We recommand that the readme.md
within in the zip file is read before start working.