Practical Aspects of the DesignDEVS Simulation Environment

Rhys Goldstein, Simon Breslav, Azam Khan

SIMULATION: Transactions of The Society for Modeling and Simulation International (SAGE)


DesignDEVS is a simulation development environment based on the Discrete Event System Specification (DEVS) formalism. This paper provides an in-depth overview of the software while focusing on the practical considerations influencing its design. Practitioners who stand to benefit from systems engineering will approach formalism-based simulation tools with little knowledge of the underlying theory. It is therefore important that theoretical principles, such as the separation of model and simulator, be emphasized by the user interface. Other practical aspects of DesignDEVS include the simplicity of atomic model code, a focus on coupling for collaboration purposes, the enforcement of essential modeling constraints, and a reliance on best practices in cases where strict enforcement might inconvenience users. In DesignDEVS, an issue we refer to as the Insidious Pointer Problem is aggressively tackled through run-time error handling. By contrast, the separation of output values from state transitions is left as a best practice for the sake of user convenience. The design decisions explained in this paper are relevant to developers of other formalism-based tools seeking widespread adoption of scalable modeling and simulation practices.


Related Publications


Related Projects

  • Systems Design & Simulation

    While traditional programming practices have produced a wide range of relatively independent simulation methods, predictive models of extremely complex natural and artificial systems will require a more scalable, more collaborative approach to modeling. This project strives for software that will help researchers develop, debug, document, share, and integrate simulation code.

Welcome ${RESELLERNAME} Customers

Please opt-in to receive reseller support

I agree that Autodesk may share my name and email address with ${RESELLERNAME} so that ${RESELLERNAME} may provide installation support and send me marketing communications.  I understand that the Reseller will be the party responsible for how this data will be used and managed.

Email is required Entered email is invalid.