Practical aspects of the DesignDEVS simulation environment. (April 2018) - Goldstein, Rhys; Breslav, Simon; Khan, Azam
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.