Each DREAM project requires a special plugin module, implementing the evaluation of proposals and other project-specific functions. This plugin can be written in C/C++ or other languages and is linked with DREAM Suite as a dynamic library. To simplify the development of this module, DREAM Suite can generate a skeleton of the plugin module, which should be then modified according to needs of the particular project.
Main functions of the DREAM Plugin module and the order in which they are called
Plugin types and implementation in other languages
We believe that C/C++ is the ideal programming language for the development of DREAM Suite plugin modules. However, DREAM Suite plugins can be also written in other languages, such as Fortran, MATLAB and other. To demonstrate this feature, we have created a special interface that allows users to implement DREAM plugins using MATLAB *.m files. MATLAB plugin examples can be found in library D2 of demo examples. Other interfaces (e.g. for Python, etc.) can be developed later according to demands of DREAM Suite users.