deX aims to provide a fast, flexible, and easy-to-use platform for developing, analyzing, and visualizing dynamic agent-based and multi-body simulations. deX programs run efficiently on a single processor but more demanding programs are easily adapted to run in parallel through high-level constructs utilizing shared memory/multi-threading, distributed TCP/IP communication, MPI, or any combination of the three. deX provides a versatile abstraction layer for managing parallelism, synchronization, and event communication that facilitates continuous, discrete-event, and hybrid simulation and allows complex programs to be constructed with a minimal amount of coding. deX is built on top of a high-performance simulation engine designed to handle a large number of entities with high levels of event communication. deX is an object-oriented C++ framework which may be optionally used in combination with dML (deX Modeling Language): a domain-specific language based on C++, built on top of the core deX framework, and designed specifically for modeling, simulation, and rapid program development. deX includes tools for batch execution, optimization, distributed job execution, GUI controls, and real-time plotting/3D visualization using OpenGL.
