The key to object-oriented simulation: separating the user and the developer

Simulation tools should be both easy to use and applicable to a wide range of problems. In practice, however, a compromise exists giving rise to a range of software from simulators to simulation languages. Object-oriented techniques have the potential to overcome this compromise; the ability to reuse and extend software could enable the development of a simulator that would be extended over time. The use of object-oriented techniques to date has mainly resulted in the development of powerful but difficult to use libraries. Ideally the skills of manufacturing engineers should be concentrated on building models of manufacturing systems whilst the skills of software developers should be concentrated on adding new functionality. This paper presents a mechanism whereby the roles of engineer and developer are clearly split to provide an easy to use simulator with a potentially very wide range of application.