Continuous system simulation languages: Design principles and implementation techniques

Continuous system simulation languages are very high level programming languages which facilitate modelling and simulation of systems characterized by ordinary and partial differential equations. This paper discusses design principles and implementation techniques for continuous system simulation languages. Following a brief introduction to very high level languages, design principles for continuous system simulation languages are presented. These principles are illustrated by examples from the Continuous System Modelling Program (CSMP) and the Partial Differential Equation Language (PDEL). A typical program in each language is included. Batch and interactive implementation techniques for continuous system simulation languages are discussed. The classical batch implementation technique is to provide a preprocessor which translates the simulation language into an algorithmic language such as FORTRAN or PL/1. The PL/1 preprocessor is described as a useful language for the implementation of very high level language translators. The final section of the paper presents an interactive implementation technique which interfaces a batch program processor to interactive graphics display and updating routines. In this manner, efficient simulation code is interfaced to flexible interaction routines. In addition, the batch processor is preserved intact, thus requiring only one implementation of the language for both batch and interactive applications.