DREAM Suite is a software package for the rapid development of applications based on theory of Markov chain Monte Carlo (MCMC) simulation. This toolbox provides scientists and engineers with an arsenal of options and utilities to solve posterior sampling problems involving (amongst others) bi modality, high-dimensionality, summary statistics, bounded parameter spaces, dynamic simulation models, formal/informal likelihood functions, diagnostic model evaluation, data assimilation, Bayesian model averaging, distributed computation, and informative/non-informative prior distributions. DREAM Suite supports parallel computing and returns to the user graphical output and convergence diagnostics of the sampled chain trajectories.
DREAM Suite components
DREAM Editions and their features
Features |
Runtime |
Standard |
DREAM Solver |
|
|
DREAM calculation module - COM Server |
✓ |
✓ |
Support of programmable plugin modules |
✓ |
✓ |
Demo examples |
|
|
23 demo examples with results and C++ source code (DREAM plugins) |
✓ |
✓ |
DREAM TestApp console (client application) with C++ source code |
✓ |
✓ |
DREAM Suite main program (GUI) |
|
|
Authorization manager |
✓ |
✓ |
Project manager |
✓ |
✓ |
Data preprocessing - data input in dialogs and tables |
|
✓ |
Calculation (including parallel calculation on multi-core PCs) |
|
✓ |
Post-processing - graphical display of results in charts and tables |
|
✓ |
DREAM SDK |
|
|
C++ library for the development of DREAM plugin modules |
|
✓ |
Generator of source code of DREAM plugin modules |
|
✓ |
DREAM Suite applications
The DREAM Suite package enables users to rapidly create new Bayesian inference projects via plugin modules. DREAM Solver can also be used as a library/software component for the development of new standalone applications independent of DREAM Suite. DREAM Solver is available either in binary form (COM server) or with all source code (C++ library - requires a special contract).
Required programming skills
Although DREAM Solver is a COM server, writing custom plugin modules does not require any special knowledge of COM technology. DREAM Suite can generate source code of a new plugin module and users just implement needed functions in C/C++ or another programming language (currently there is an interface to MATLAB and several other similar interfaces are in development). Most of demo examples (library D3) have been created in Visual C++ using STL and BOOST libraries, which can significantly speed up the development. However, some examples (library D1) have been written in a very simple style in C/C++ so that they were easy to understand even for less experienced programmers.
Required programming tools
Microsoft Visual Studio 2013 or later (free edition) and DREAM SDK. See also system requirements.