EMPaSE: an Extensible Multi-Paradigm Simulation Environment
Abstract
EMPaSE is a hierarchical, extensible, modular modeling environment for developing and running hybrid simulations of sequential-modular, systems dynamics, discrete-event, and agent-based paradigms. It contains two principle components: a multi-paradigm simulation engine and a graphical user interface. EMPaSE models are defined through a hierarchically-defined set of computational modules that define the simulation logic. Inter-module communication occurs through two complimentary systems: pull-based "ports" for general computation patterns and push-based "plugs" for event processing. Entities (i.e. agents) within the simulation operate within an abstract multi-network environment. The EMPaSE simulation engine is designed around a flexible plug-in architecture, allowing simulations to import computational modules, engine customizations, and interfaces to external applications from independent plug-in libraries. The EMPaSE GUI environment provides an environment for graphically constructing, executing, and debugging EMPaSE models. As with the simulation engine, the GUI is constructed on top of an extensible architecture that supports rapid customization of the user experience through external plug-in libraries.
- Developers:
- Release Date:
- Project Type:
- Open Source, No Publicly Available Repository
- Software Type:
- Scientific
- Programming Languages:
- gcc>=3.4.2 or Microsfot Visual Studio 2005
- Licenses:
- Other
- Sponsoring Org.:
- USDOEPrimary Award/Contract Number:AC04-94AL85000
- Code ID:
- 72935
- Site Accession Number:
- 4612
- Research Org.:
- Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)
- Country of Origin:
- United States
Citation Formats
Siirola, John, Spotz, William, Warrender, Christina, and USDOE. EMPaSE: an Extensible Multi-Paradigm Simulation Environment.
Computer software. https://www.osti.gov//servlets/purl/1231365. USDOE. 5 Aug. 2010.
Web. doi:10.11578/dc.20220414.28.
Siirola, John, Spotz, William, Warrender, Christina, & USDOE. (2010, August 5). EMPaSE: an Extensible Multi-Paradigm Simulation Environment [Computer software]. https://www.osti.gov//servlets/purl/1231365. https://doi.org/10.11578/dc.20220414.28
Siirola, John, Spotz, William, Warrender, Christina, and USDOE. EMPaSE: an Extensible Multi-Paradigm Simulation Environment.
Computer software. August 5, 2010. https://www.osti.gov//servlets/purl/1231365. doi:https://doi.org/10.11578/dc.20220414.28.
@misc{osti_1231365,
title = {EMPaSE: an Extensible Multi-Paradigm Simulation Environment},
author = {Siirola, John and Spotz, William and Warrender, Christina and USDOE},
abstractNote = {EMPaSE is a hierarchical, extensible, modular modeling environment for developing and running hybrid simulations of sequential-modular, systems dynamics, discrete-event, and agent-based paradigms. It contains two principle components: a multi-paradigm simulation engine and a graphical user interface. EMPaSE models are defined through a hierarchically-defined set of computational modules that define the simulation logic. Inter-module communication occurs through two complimentary systems: pull-based "ports" for general computation patterns and push-based "plugs" for event processing. Entities (i.e. agents) within the simulation operate within an abstract multi-network environment. The EMPaSE simulation engine is designed around a flexible plug-in architecture, allowing simulations to import computational modules, engine customizations, and interfaces to external applications from independent plug-in libraries. The EMPaSE GUI environment provides an environment for graphically constructing, executing, and debugging EMPaSE models. As with the simulation engine, the GUI is constructed on top of an extensible architecture that supports rapid customization of the user experience through external plug-in libraries.},
url = {https://www.osti.gov//servlets/purl/1231365},
doi = {10.11578/dc.20220414.28},
url = {https://www.osti.gov/biblio/1231365},
year = {Thu Aug 05 00:00:00 EDT 2010},
month = {Thu Aug 05 00:00:00 EDT 2010},
note =
}