skip to main content
10.1145/318242.318481acmconferencesArticle/Chapter ViewAbstractPublication PageswscConference Proceedingsconference-collections
Article
Free access

Software engineerng applied to discrete event simulations

Published: 01 December 1986 Publication History

Abstract

Developing simulation programs shows many similarities with classical system software development tasks. In simulation one is often concerned with allocating and deallocating resources. Two forms of deadlock — the 'deadly embrace' and 'apré-vous' — can be troublesome to simulators unless they know how to avoid them in the first place. Critical races and time dependent functions are other characteristics shared between simulation and systems programming. If simulation is viewed and taught as data processing, the simulator will be ill-prepared for writing simulation code.
Most simulations in industry are not written by skilled software developers. There is good reason for this: the simulation writer must ultimately understand the problem, its features and the managerial concerns that lead to the requirement for the simulation. However, simulation writers with no software training are poorly equipped for developing simulation code that is easy to design, debug, verify, maintain and explain. A number of simple modern software engineering techniques which are described in this paper can be applied to simulation programs in a practical way to improve both the quality of the simulation and the productivity of the simulator.

References

[1]
AutoSimulations (1986) ~ Auto~Iod User Manual. AutoSimulations, Bount~iful.
[2]
Balzer, R. (1985). A 15 year perspective on automatic programming. IEEE Transactions on Software Engineering, Vol. ii, No. ii.
[3]
Brooks Jr., F.P. (1975). The M~fthical Man- Month Ess_ays on Software Engneering. Addison-Wesley, Readlng.
[4]
CACI (1983). SIMS CRIPT I I_5 Programming Language. C.A.C.I., Los Angeles.
[5]
Chattergy, R. and Pooch, U.W. (April 1977) . Integrated design and verification of simulation programs. IEEE Co~.puter.
[6]
Clarke, L.A. (September 1976) . A system to generate test data and symbolically execute programs. IEEE Transactions on Software Engineering.
[7]
CMS Research (1985). MAST User Manual. CMS Re search, Oshkosh.
[8]
Cohen, J.W., Fiore, A.M. and Larson, R.H. (1982). Structured modelling. Proceedings ~inter Simulation Conference.
[9]
Dahl, D.J., Dijkstra, E.W. and Hoare, C.A.R. (1972). Structured Programmin__g. Academic Press, London.
[10]
Duket, D. (1982) . Implementation: a requirement for successful simulation. Proceedings Winter Simulation Conference.
[11]
Endres, A. (June 1975). An analysis of errors and their causes in system programs. IEEE Transactions on Soft%~are Engineering, Vol. i, No. 2.
[12]
Freer~an, P. (1975). Software System Prin.- c_iples : A Survey. SclenceResearch Associates, Chicago.
[13]
Goldberg, A.T. (July 1.986) . Knowledge-based progranm~ing: a survey of program design and construction techniques. IEEE Transactions on Software Enqineerin9, Vol. 12, No. 7.
[14]
Golden, D.G. (October 19 85) . Software engineering consideration for the design of simulation languages. Simulation.
[15]
Gomaa, H. and Scott, D.B.H. (1981) . Prototyping as a tool in the specification of user requirements. Proceedings Winter Simulation Conference.
[16]
Hansen, P.B. (1973) . OPerating System Principles. Prentice-Hall, Englewood Cliffs.
[17]
Hayes, I.J. (January 1986) . Specification directed module testing. IEEE Transactions on Software Engineering, Vol. 12, No. i.
[18]
Hopcroft, J.F. and Ullman, J.D. (1979). Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading.
[19]
Jackson, M.A. (1975). Principles of Program Design. Academic Press, New York.
[20]
Kernighan, B.W. and Plauger, P.J. (1974). The Elements of Programming Style. cGrawLHill, New York.
[21]
Knuth, D.E. (1968-1973). The Art of Computer Prograr.~ning, Vol. i-3. Addison-~esley, Reading.
[22]
Miner, R.J. and Rolston, L.J. (1986) . ~IAP/I User's Manual, Version 3. 0. Pritsker & Associates, West LaFayette.
[23]
Myers, G.J. (1978) . Composite/Structured Design. Van Nostrand Reinhold, London.
[24]
Parnas, D.L. and Clements, P.C. (February 1986). A rational design process: how and why to fake it. IEEE Transactions on Software Engineering, Vol. 12, No. 2.
[25]
Pegden, C.D. (1985). Introduction to SIMIAN. Systems Modelling Corporation, State College.
[26]
Pritsker, A.A.B. (1984). Introduction to Simulation and SLAM II. John Wiley & Sons, l~ew York.
[27]
Ryan, K.T. (1979}. Software engineering and simulation. Proceedings Winter Simulation Conference.
[28]
Schriber, T.J. C1974). Simulation Using GPSS. John Wiley, New York.
[29]
Shaw, A.C. (1974). The Logical Design of Operating Systems. Prentice-Iiall, Englewood Cliffs.
[30]
Sheppard, S. (January 1983). Applying software engineering to simulation. Simulation.
[31]
Sheppard, S.B. et al. (1981). The effects of symbology and spatial arrangement on the comprehension of software specifications. Proceedings 5th International Conference on Software Engineering.
[32]
Weinberg, G.M. (1971). The Psychology of Computer Programming. Van Nostrand Reinhold, London.
[33]
Wolverton, R.W. (June 1974). The cost of developing large-scale software. IEEE Transactions on Computers.
[34]
Yau, S.S. and Tsai, J.J.P. (June 1986) . A survey of software design techniques. IEEE Transactions on Software Engineering, Vol. 12, No. 6.
[35]
Yourdon, E. and Constantine, L.L. (1979). Structured Design. Prentice-Hall, Englewood cii~f fs.
[36]
Zelkowitz, M.V., Shaw, A.C. and Gannon, J.D. (1979). Principles of SOftware Engineering and Design. Prentice-Hall, Englewood Cliffs.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
WSC '86: Proceedings of the 18th conference on Winter simulation
December 1986
890 pages
ISBN:0911801111
DOI:10.1145/318242
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 December 1986

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 3,413 of 5,075 submissions, 67%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)50
  • Downloads (Last 6 weeks)9
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media