OpenABL / OpenABL

A domain-specific language for parallel and distributed agent-based simulations.
Apache License 2.0
27 stars 3 forks source link

Handle main() code in Flame and FlameGPU #5

Open nikic opened 7 years ago

nikic commented 7 years ago

Right now the main() code is ignored, because Flame/FlameGPU don't have a good place where it can be run. Because of this it's currently necessary to generate the initial agent states separately.

The plan here was to compile separate programs based on the C backend which only run the code before and after the simulate statement and export the agents into the format Flame(GPU) expects. This may be a bit tricky due to the XML-based format. It might make sense to include conversion routines between different agent storage formats in the OpenABL binary instead.

nikic commented 7 years ago

This now works at least in one direction: We are able to generate the agents, import them into Flame and invoke the Flame with the generated starting state. The reverse process of importing the agents back is not implemented yet, but far less critical for testing.