BetaSIM: A framework for discrete event modelling and simulation

Abstract The paper discusses a layered design for a discrete event simulation framework based on the Beta programming language. A description of goals and motivation of simulation modelling is followed by a brief characterisation of Beta and its suitability for work in this area. After some general comments on the history and state of simulation programming, the design of the BetaSIM framework is illustrated and discussed through a number of queuing network scenarios of increasing complexity. These examples focus on BetaSIM's linguistic support for interruptible rendezvous and nested server abstractions. A summary of strengths and limitations of object orientation and Beta for this class of application, as well as BetaSIM's contribution to the effective description of queuing scenarios, conclude the paper.

[1]  Graham Birtwistle,et al.  Discrete event modelling on SIMULA , 1987 .

[2]  Ole-Johan Dahl,et al.  Coroutine sequencing in a block structured environment , 1971 .

[3]  Kristen Nygaard,et al.  SIMULA: an ALGOL-based simulation language , 1966, CACM.

[4]  Graham Birtwistle AN APPROACH TO DISCRETE EVENT MODELLING PART 3:THE TRANSACTION,ACTIVITY AND EVENTS APPROACHES , 1981 .

[5]  WOLFGANG KREUTZER,et al.  C-Flavours: A Scheme-Based Flavour System with Coroutines and its Application to the Design of Object-Oriented Simulation Software , 1990, Comput. Lang..

[6]  George K. Hutchinson Introduction to the use of activity cycles as a basis for system's decomposition and simulation , 1975, SIML.

[7]  Gerhard Fischer Human-computer interaction software: lessons learned, challenges ahead , 1989, IEEE Software.

[8]  Wolfgang Kreutzer,et al.  Towards a Family of Pattern Languages for Simulation Software Design , 1996, OOIS.

[9]  Graham Birtwistle AN APPROACH TO DISCRETE EVENT MODELLING PART 1: SIMULA , 1981 .

[10]  Graham Birtwistle A system for discrete event modelling on SIMULA , 1979 .

[11]  Wolfgang Kreutzer,et al.  System simulation programming styles and languages , 1986 .

[12]  Melvin E. Conway,et al.  Design of a separable transition-diagram compiler , 1963, CACM.

[13]  Wolfgang Kreutzer,et al.  SimJAVA—a framework for modeling queueing networks in Java , 1997, WSC '97.

[14]  Mitchell Wand,et al.  Essentials of programming languages , 2008 .

[15]  A. Sloman,et al.  The computer revolution in philosophy , 1978 .

[16]  John English Ada 95: The Craft of Object-Oriented Programming , 1996 .