Software engineering considerations for the design of simulation languages

Software engineering has proven useful in reducing the cost of developing large and complex software systems and improving the quality of the resulting product. Since many simulation models are both large and complex, simulation-oriented pro gramming languages should be designed to support software engineering techniques. Some key concepts of software enginer ing are discussed, with particular emphasis on modular design and structured programming. Fundamental language structures to support the use of these techniques are proposed for inclu sion in simulation-oriented programming languages. Several ex amples demonstrating the use of these language structures are presented, with particular attention given to their use in com bined discrete/continuous simulation.