September, 1966 | OLE-JOHAN DAHL AND KRISTEN NYGAARD
This paper introduces SIMULA, a programming language designed to facilitate the formal description of discrete event systems. SIMULA is an extension of ALGOL 60 and introduces the concept of quasi-parallel processing. The language provides extensive list processing facilities and an extended co-routine concept. The principal features of SIMULA include the ability to describe processes that operate in parallel, the use of active phases to represent events, and the ability to reference processes indirectly through elements. The language also includes mechanisms for managing sets of processes, allowing for efficient manipulation of ordered sets and facilitating communication between processes. SIMULA allows for the description of complex systems through a formal language that can generate computer programs. The language is designed to provide a unified set of concepts for describing and simulating systems with discrete events, making it easier to understand and communicate about such systems. The paper also includes examples of SIMULA programs, demonstrating how the language can be used to model various systems, including a job shop system and an epidemic model. The language has been implemented on the UNIVAC 1107 computer and has been used for the analysis of a wide range of problems. The paper concludes with acknowledgments to the contributors to the SIMULA project and references to related works.This paper introduces SIMULA, a programming language designed to facilitate the formal description of discrete event systems. SIMULA is an extension of ALGOL 60 and introduces the concept of quasi-parallel processing. The language provides extensive list processing facilities and an extended co-routine concept. The principal features of SIMULA include the ability to describe processes that operate in parallel, the use of active phases to represent events, and the ability to reference processes indirectly through elements. The language also includes mechanisms for managing sets of processes, allowing for efficient manipulation of ordered sets and facilitating communication between processes. SIMULA allows for the description of complex systems through a formal language that can generate computer programs. The language is designed to provide a unified set of concepts for describing and simulating systems with discrete events, making it easier to understand and communicate about such systems. The paper also includes examples of SIMULA programs, demonstrating how the language can be used to model various systems, including a job shop system and an epidemic model. The language has been implemented on the UNIVAC 1107 computer and has been used for the analysis of a wide range of problems. The paper concludes with acknowledgments to the contributors to the SIMULA project and references to related works.