SimPOL: Language and Translator for Object-Oriented Process Simulation

Abstract

We present our new system for object-oriented process simulation, called SimPOL, that consists of two main components. The first component is the SimPOL language that incorporates simulation constructs into C++, an existing general-purpose object-oriented language, to produce a new language that is an extension of C++. The SimPOL language permits the user to construct a program for simulation modeling using simulation primitives like those in SIMULA. The second component is the SimPOL translator that translates the SimPOL language program into a C{++ program by transforming the actions of each entity in the model into a process. A base class from which each of the simulation classes inherits, provides the simulation primitives to the user\\\'s classes. We have implemented a prototype of the SimPOL translator that demonstrates the usefulness and portability of SimPOL. The main benefit of our approach is the ease of simulation programming that it provides to the user because the simulation primitives required to model processes can be learned quickly by any C++ programmer. Another important benefit of our approach over previous approaches is that our preprocessor can be used with any existing C++ compiler and is therefore, truly portable. Since C++ is the most widely used object-oriented language, SimPOL will be of use to a large portion of the modeling community.


Related research categories:
(1) Program Analysis
(2) Object-Oriented

Go To Publications