Interface between toolkit and user-defined problem

For the system to be easily extensible to work with new models, a well-defined interface must exist.

The C++ base classes GModel and GType provide pure virtual interface functions to user-derived classes. All interface functions must be defined with the same arguments to make a valid derived class.

The main functions provided by GModel are: