On the use of CD++/Maya for visualization of discrete-event models Ayesha Khan Gabriel A. Wainer Wilson Venhola Department of Systems and Computer Engineering Michael Jemtrud Carleton Immersive Media Studio Carleton University 1125 Colonel By Drive Ottawa, Ontario, K1S 5B6, Canada {amkhan2@connect, gwainer@sce, wvenhola@connect, michael_jemtrud@}carleton.ca Abstract – The CD++ modeling tool was created to study complex systems by using DEVS and Cell-DEVS formalisms. Although CD++ was successfully employed to define a wide variety of models for complex applications, visualization facilities were limited. We have introduced a 3D visualization engine, which creates virtual worlds using the Maya visualization environment with simulations running in CD++, to permit interaction with DEVS models. These tools are able to run in advanced environments based on OpenGL. We show different examples, and discuss current developments on the creation of a new visual environment based on open source OpenGL tools. Keywords: DEVS, Cell-DEVS, Maya, OpenGL, 3D visualization. 1. INTRODUCTION In recent years, the Discrete Event Systems Specification (DEVS) formalism [Zei, 00] has gained popularity to model a variety of problems. DEVS is a framework for the construction of discrete-event hierarchical modular models, in which behavioral models ( atomic) can be integrated together forming a hierarchical structural model (coupled). The Cell- DEVS formalism [Wai, 01] extended the DEVS formalism allowing the simulation of discrete-event cellular models. The approach extends traditional Cellular Automata [Wol, 02] defining each cell as a DEVS atomic model and the space as a DEVS coupled model, including a flexible way of defining the timing of each cell. The CD++ tool [Wai, 02] implements DEVS and Cell- DEVS theories. CD++ enabled us to solve successfully over 150 models of complex systems [Wai, 04; Wai, 05; Ame, 04, Ame, 01, Ame, 03]. CD++ also provides remote access to a high performance DEVS simulation server [Wai, 03]. The end user tools were organized as a simulation client applied to the CD++ simulator. Using these facilities, the users can now develop and test their models in local workstations, and submit them to be simulated in a remote CD++ server executing in a high performance platform. Then, they can receive, visualize and analyze the results on a local computer, improving model definition and execution. Visualization tools are crucial in helping to understand better the behavior of these systems. Originally, CD++ only provided results on text files, and different visualization engines were incorporated. CD++ was recently provided with facilities for 2D and 3D visualization using VRML and Java [Wai, 03]. This 3D GUI enables sophisticated visualization of Cell-DEVS models only. These facilities were built on VRML, a technology becoming obsolete. These methods have some limitations. The Java applets use Java3D libraries and the VRML specification, both which are no longer actively developed. The current VRML viewers also lack functionality and ease of use. Hence, we have recently focused on new extensions that can be applied to both DEVS and Cell-DEVS, and which are able to run on OpenGL-based environments [Seg, 05]. The interface here presented was first introduced in [Kha, 05], and it is based on the Maya modeling environment [Ali, 05]. We will show how advanced DEVS models can be visualized using Maya facilities, giving a few examples of application, which permit discussing interoperability of a modeling and simulation tool based on DEVS and an advanced generic visualization environment like Maya. 2. BACKGROUND DEVS is a systems theoretical approach that allows the definition of hierarchical modular models [Zei, 00]. A real system modeled using DEVS can be described as a set of atomic or coupled submodels. The atomic model is the lowest level and defines dynamics, while the coupled are structural models composed of one or more atomic and/or coupled models. An atomic DEVS model is defined as: M = < X, S, Y, d int , d ext , ?, ta > Each atomic model can be seen as having an interface consisting of input (X) and output (Y) ports to