--------------------------------------------

Simulation languages

-------------------------------------------

From 1968 through 1973, I worked at the Norwegian Computing Center in Oslo in the Simula team. Simula , designed by Ole-Johan Dahl , Bjorn Myhrhaug , and Kristen Nygaard in 1967 was the first object oriented programming language. I wrote the syntax checker, the simulation run time routines, and some other small parts of the run time system.

On leaving Norway in 1973, I worked at Bradford University until the end of 1979. It was there that I designed and implemented a OO discrete event simulation extension to Simula called Demos, whose inspiration was Jean Vaucher's GPSSS. Demos was a 2000-line package with automatic data collection, automatic report generation, and several built-in synchronisations: resources, bins, wait/coopt, waituntil, find and a rather feeble interrupt facility. (Wonderful what one can do in a good host language, eh.) It was used by several universities and industrial concerns in a number of areas including factory layout, telecommunications protocols, and parallel architectures. Paul Luker was at Bradford at the same time, working on MODELLER his continuous simulation environment.

I left the area for several years to work in formal verification and specification but returned in recent years to work on the semantics of OO simulation languages. Chris Tofts and I applied the techniques of process algebra to simulation models and showed how to test models for deadlock, livelock, safety and liveness properties. Later work with Chris Tofts includes an operational semantics for (subsets of) Demos, a denotational semantics for (subsets of) Demos, and a proof of the containment relationship between these semantics for a subset of Demos.

Demos book (revised 2008)
CCS notes I
CCS notes II
Denotational semantics of Demos: pi
Denotational semantics of Demos: mu
Relating Operational and Denotational Semantics
A subjective look at objects
Objects then and now
A purely functional implementation ...
Demos Manual (needs rewriting in Latex)
Operational semantics of Demos: pi
Operational semantics of Demos: mu
Getting Demos Models Right: I
Getting Demos Models Right: II
Characterising the structure of Demos models in CCS


[ Home Page ] [ Books ] [ Papers ] [ Friends ] [ Hot Sites ] [ Simulation Index ]