The EMEWS tutorial presents an overview of EMEWS, the Swift/T parallel scripting language, EMEWS templates, and a number of use-cases, starting with a simple agent-based model parameter sweep, and ending with a complex adaptive parameter space exploration workflow coordinating ensembles of distributed (MPI) simulations. The use-cases are available for interested parties to download and run on their own. While the example models in the tutorial utilize agent-based models, EMEWS can be applied to any computational modeling method requiring heuristic model exploration.
The EMEWS Model Exploration Library Archive (MELA) is a collection of model exploration (ME) modules, which can be directly incorporated into EMEWS workflows. The ME modules are written in R or Python (used with EQ/R and EQ/Py, respectively) and come with descriptions of the underlying ME algorithm, the communication protocol and the ability to run standalone (i.e., in their original language) ME tests.
EQ/R is an R-based Swift/T resident task extension that allows Swift/T workflows to communicate with a persistent embedded R interpreter on a worker process via blocking queues. Using EQ/R, an R-based ME algorithm can be used to control and define an ensemble of model runs.
EQ/Py is a Python-based Swift/T resident task extension that allows Swift/T workflows to communicate with a persistent embedded Python interpreter on a worker process via blocking queues. Using EQ/Py, a Python-based ME algorithm can be used to control and define an ensemble of model runs.
EMEWS templates use the Lazybones project creation tool to generate EMEWS projects.