DocumentCode
2936565
Title
A functional approach to simulation programming
Author
Bloss, Adrienne
Author_Institution
Dept. of Comput. Sci., Virginia Polytech. Inst. & State Univ., Blacksburg, VA, USA
fYear
1990
fDate
9-12 Dec 1990
Firstpage
214
Lastpage
219
Abstract
The author explores simulation programming in Haskell, a purely functional language. It is shown how a simple simulation problem can be modeled in Haskell, and the result is compared to those obtained with four traditional approaches. It is demonstrated that infinite lists, or streams, provide a natural way of modeling queues, and that the properties of a simple queuing problem can be expressed declaratively by specifying the interrelationships between queues. Lazy evaluation allows the functional solution to avoid the time-flow mechanism used in most simulation frameworks, and it is argued that the resulting solution is simpler and more intuitive. As a result, it is believed that functional languages are preferable to traditional high-level languages for modeling some classes of simulation problems. The problem used to illustrate simulation programming in Haskell is taken from Balci´s (1988) paper. It describes the behavior of a multiple virtual storage batch computer system with two CPUs and a printer, and with jobs entering from four different sources
Keywords
digital simulation; functional programming; performance evaluation; queueing theory; functional language; infinite lists; interrelationships between queues; lazy evaluation; multiple virtual storage batch computer system; queues; simulation programming; streams; Application software; Computational modeling; Computer science; Computer simulation; Functional programming; Logic programming; Programming profession; Simultaneous localization and mapping;
fLanguage
English
Publisher
ieee
Conference_Titel
Simulation Conference, 1990. Proceedings., Winter
Conference_Location
New Orleans, LA
Print_ISBN
0-911801-72-3
Type
conf
DOI
10.1109/WSC.1990.129517
Filename
129517
Link To Document