This dialog defines the number of model parameters and their names. It also specifies the name of the plugin module, which is a dynamic library implementing the evaluation of proposals (hereinafter "Evaluator"). A skeleton of this plugin module can be generated automatically using the "Generate plugin project" button. An existing project can be opened in the Visual Studio using the second button "Open plugin project".
Plugin type and creating DREAM plugins in other languages
DREAM Suite plugin can be implemented in various languages. This can be done either directly, when the plugin DLL is created in a different language than C/C++ and connected with DREAM via the COM interface, or indirectly, when the C++ plugin DLL serves just as an interface connecting DREAM with an external module/server. The second case is demonstrated by two interfaces to MATLAB - see details in MATLAB Plugin. For plugin types MATLAB_COM and MATLAB_Engine, plugin functions (definition of input data and evaluation of proposals) are actually implemented in MATLAB *.m files. Another similar example is Example 5.
Loading the Plugin DLL
By default, the plugin DLL is automatically loaded when opening the project (if the DLL is available). The plugin is then used to initialize data of new projects and check data of existing projects. During the calculation, the plugin is used to calculate the probability of samples (see Differential Evolution Adaptive Metropolis method). Check-box "Load plugin automatically..." allows users to disable this automatic loading, which can be useful especially when loading the DLL takes a long time (e.g. when loading the MATLAB server, etc.). If the automatic loading is turned off, plugin DLL is loaded just before the calculation.
Figure 3.3.4. Model definition dialog