Main system builder is a top level class which contains all class instances as parts. This is one hierarhical structure.
The idea is: Create and initialize the entire system by creation of one top level object only: the main system builder.
After the completion of the main system builder constructor all object instances and the relations between object instances shall receive available.
Moreover this is only one time the memory allocated: at time main system builder created. This is no memory allocation by the NOFReactive framework at run time (but user code still can do it, if necessary).
The main system builder approach is used through the examples.
The main system builder class is created in the "CreateSystem" function.
This is multiple possibilities how the main system builder created and the memory for the main system builder instance allocated:
1. Allocate using platform run-time memory allocator "new".
2. Allocate on the stack: CreateSystem newer leaved, it contain the scheduler loop. For this reason it is ok to create main system builder instance on the stack. But the stack size should be appropriate.
3. Provide own "new" memory allocator
4. Static allocation of the main system builder instance, as global or as static variable. This approach required run-time calling object constructors.
Whetever the choice selected, this is the project specific decision. Different approaches shall be demonstrated through NOFReactive examples.