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. dML seeks to offer the flexibility of a high-level/scripting language while retaining the performance of C++. deX includes tools for batch execution, optimization, distributed job execution, GUI controls, and real-time or MPEG-captured plotting/3D visualization using OpenGL.

9/3/2007: deX 2.0 introduces two significant upgrades: peer-to-peer distributed program execution and improved Python integration. With deX 2.0, distributed programs can easily be written in few lines of code and efficiently and securely executed across a network of machines on the Internet. deX seeks to not only allow users to harness the computational power and free cycles of machines connected to this network, but to provide a means for the development and execution of a web of intelligent agents that may be utilized and leveraged by users and other agents.

Improvements to Python integration allow subclasses of entity to be created and extended in Python. The usual methods are accessible to an entity created on the Python side which may also be seamlessly manipulated in dML/C++. In this way, the user can choose to code applications almost entirely in Python and use the deX framework for such things as distributed communication/synchronization, visualization, etc.

3/31/2008: deX 2.4 introduces an initial version of dexmeta, a distributed stochastic function generation tool aimed at the automated development of equations and models. dexmeta includes a graphical front-end whereby a series of frames are set up to depict a set of relationships between objects and their properties, either in time-series or statically. The generated datasets are submitted to the dexmeta back-end, running locally or in distributed mode, which iteratively evolves and optimizes a set of equations describing the system.

Current version: 2.4.1
Download deX for Linux (x86 or 64-bit x86)...
Features Overview & User's Guide [PDF]
Demo Movie [MPEG]

keyphrases: dynamic experimentation, dextk, dex tk, simulation framework, discrete-event simulation, hybrid simulation, mpi, message passing interface, distributed execution, parallel computing, modeling, agent-based modeling, visualization, plotting, optimization, linux, C++, opengl

Copyright © 2003-2008 infini-x.org. All rights reserved.