A block organized model builder

A new language has been developed for defining simulation models for biomedical science and implemented as a preprocessor for SCoP^1 (Simulation Control Program) written by the National Biomedical Simulation Resource. The preprocessor creates a C program by translation of statements in a model definition file. The language defines variables and equations in labelled blocks of statements which are either mathematical equations or English phrases. The availability of several kinds of equation definition blocks simplifies the description of the corresponding classes of equations. Sub-blocks are provided for some special operations, such as logical tests. Algebraic logical operators are included. Special statements called directives instruct the preprocessor to create specific variables or generate code to call specific numerical methods routines from SCoP's library. Models may be decomposed into sub-models stored on separate model definition files and automatically assembled by the preprocessor in hierarchical fashion. The model description language has been implemented in the C language by generating machine independent code with the Unix lex and yacc programs. An example of the use of the model description language, including hierarchical assembly, is illustrated by a model of the human ovulatory cycle.