SimGrid  3.16
Versatile Simulation of Distributed Systems
Describing the platform with lua

Table of Contents

To describe your virtual platform, you can provide a lua script instead of an XML file. This is really easy: just pass the script file where an XML file was expected (eg in MSG_create_environment()), and you are done.

In the near future, it should become possible to change the platform from in C++ and Java thanks to the the S4U interface. When this happens, the lua interface will be changed to match the S4U one.

That is why the current lua API is not documented. It is very close to the XML interface, and you have some examples that you can use to understand this module. If you use the current API, just drop us a mail so that we keep it working once S4U is out, to give you the time to switch at your pace.

Why lua ?

Lua is a fast and portable scripting language. Its main goal is to make the internal mechanics of C/C++ programs easily recombinable from a script. It is for example heavily used in the gaming industry: C++ programmers do fast 3D game engines, that game designers reuse easily to tell stories.

Similarly, our goal is to decouple the internals of the simulation engine from the usage of that engine. It should give our users the full power of reconfiguring the tool without digging into our implementation. Admittedly, we are not there yet...