MIMIC
| Company type | Software |
|---|---|
| Industry | Simulation programming language |
| Founded | 1964 |
| Founder | H. E. Petersen, F. J. Sansom, L. M. Warshawsky |
| Headquarters | Dayton, Ohio , United States |
| Products | Simulation programming language for continuous block simulation and numerical integration |
MIMIC, created in 1964 by H. E. Petersen, F. J. Sansom, and L. M. Warshawsky within the Systems Engineering Group of the Air Force Materiel Command located in Dayton, Ohio, is a discontinued simulation programming language. It is a continuous block simulation language focused on expression evaluation and integrates algebraic capabilities similar to those found in FORTRAN.
Originating as a successor to MIDAS (Modified Integration Digital Analog Simulator), which was centered on analog computing systems, MIMIC was primarily coded in FORTRAN with a single routine in COMPASS. It operated on Control Data supercomputers and was designed to manage simulations of considerable scale.
The software performs numerical integration to solve ordinary differential equations applicable across multiple fields including engineering, physics, chemistry, biology, economics, and social sciences. It supports analyses involving nonlinear dynamic systems.
MIMIC compiles simulation models through six distinct passes using its FORTRAN overlay programs. At its core lies a variable-step, fourth-order Runge-Kutta numerical integrator. The language offers built-in functions for modeling electrical circuit components alongside standard mathematical operations. Dependencies among statements are automatically resolved internally, eliminating the need for manual sorting by users.
The suite of software overlays consists of:
- MIMIN (input) – processes user input programs and data,
- MIMCO (compiler) – translates user programs into instruction arrays,
- MIMSO (sort) – arranges instructions according to variable dependencies,
- MIMAS (assembler) – converts BCD-coded instructions into machine-level code,
- MIMEX (execute) – carries out integration and runs the compiled program,
- MIMOUT (output) – produces printed reports or graphical representations of results.
Example
An application of MIMIC is demonstrated through a marine biology predator-prey model based on the Lotka–Volterra equations, which simulates population dynamics between fish and sharks using specified constants and initial values.
This model defines fish population f(t), shark population s(t), along with parameters for growth rates, mortality rates, and conversion efficiencies to replicate their interactions over a 50-year timespan.
The example code showcases MIMIC syntax for declaring constants, formulating differential equations, setting integration parameters, and issuing output commands to produce simulation data and graphical plots.
References
- Notes
- Control Data MIMIC; A Digital Simulation Language, Reference Manual, Publication Number 4461n400, Control Data Corporation, Special Systems Publications, St. Paul, Minnesota (April 1968)
- MIMIC, An Alternative Programming Language for Industrial Dynamics, N.D. Peterson, Socio-Econ Plan Sci. 6, Pergamon 1972
- MIMIC Manual (1969), Computer Center Oregon State University