In 1994 when I was a Ph.D. student at the Korea Advanced Institute of Science and Engineering (KAIST), I was taught the DEVS theory by Dr. Kim who had been taught it by Dr. Zeigler. At that time, Dr. Kim used a C++ library, called DEVSim++ [Kim94] in one of his courses. I became fascinated with it even at the first glance because I had been struggling with developing a simulator without any theory for a while. DEVSim++ was so neat and well-organized as is DEVS inherently.
After seeing the header files of DEVSim++, I developed several versions of DEVS-based C++ kernels. One of them has been used in the VMS Lab.http://vms.kaist.ac.kr, directed by Dr. Byoung Kyu Choi, IE Dept. at KAIST, and some of them are used in commercial packages of Cubiteck Ltd. Co.http://www.cubictek.com, Seoul, Korea.
I had a chance to meet Dr. Ziegler in the DEVS standardization session of the 2005 DEVS Symposium. At that time, Dr. Zeigler suggested that I open my C++ DEVS library (called DEVS++), and I accepted his suggestion. I released the implementation as an open source project at http://odevspp.sourceforge.nethttp://odevspp.sourceforge.net in 2005. However, I have not finished writing its user manual until recently. This document will be the first one for DEVS++ available to the public even though DEVS++ has evolved up to verion 1.4.1
The main objective of this document is to introduce the DEVS++ library. Since it is an C++ implementation of DEVS formalism, we need to understand what DEVS is first. Chapter 1 provides a belief review of DEVS formalism including a verbal description of DEVS behavior.
Finally, as an appendix, Chapter 5 explains how to compile DEVS++ source code for each compiler that has been tested for compiling DEVS++ so far.