ABSE Models Are Executable
There are two notions of "executable models":
- The model is interpreted and a JIT compiler creates a program from it for immediate execution
- The model generates a code generator that can be executed
An ABSE Model is not a model that can be immediately executed, but from its constituent parts a generative program can be weaved and executed, in order to obtain source code or other intended artifacts.
Every Atom Instance on an ABSE Model has its own transformation code (acquired from its Atom Template).
In general terms, to generate code, the ABSE Model tree recursively executes its atoms, starting at its root, which is equivalent to say that all atoms are executed from top to bottom regarding their position on the model tree:

The tree is executed four times, and on each of these iteractions one of the following Atom Template sections is executed:

The Create and Pre steps are just preparation steps, and the Exec and Post sections are the actual generation steps.
|