HOME

TheInfoList



OR:

MIMIC, known in capitalized form only, is a former
simulation A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of Conceptual model, models; the model represents the key characteristics or behaviors of the selected system or proc ...
computer language A computer language is a formal language used to communicate with a computer. Types of computer languages include: * Construction language – all forms of communication by which a human can specify an executable problem solution to a comput ...
developed 1964 by H. E. Petersen, F. J. Sansom and L. M. Warshawsky of Systems Engineering Group within the
Air Force Materiel Command Air Force Materiel Command (AFMC) is a major command ( MAJCOM) of the United States Air Force (USAF). AFMC was created on July 1, 1992, through the amalgamation of the former Air Force Logistics Command (AFLC) and the former Air Force Systems Co ...
at the
Wright-Patterson AFB Wright-Patterson Air Force Base (WPAFB) is a United States Air Force base and census-designated place just east of Dayton, Ohio, in Greene and Montgomery counties. It includes both Wright and Patterson Fields, which were originally Wilbur W ...
in
Dayton, Ohio Dayton () is the List of cities in Ohio, sixth-largest city in the U.S. state of Ohio and the county seat of Montgomery County, Ohio, Montgomery County. A small part of the city extends into Greene County, Ohio, Greene County. The 2020 United S ...
, United States. It is an expression-oriented continuous block simulation language, but capable of incorporating blocks of FORTRAN-like algebra. MIMIC is a further development from MIDAS (Modified Integration Digital Analog Simulator), which represented
analog computer An analog computer or analogue computer is a type of computer that uses the continuous variation aspect of physical phenomena such as electrical, mechanical, or hydraulic quantities (''analog signals'') to model the problem being solved. In ...
design. Written completely in FORTRAN but one routine in
COMPASS A compass is a device that shows the cardinal directions used for navigation and geographic orientation. It commonly consists of a magnetized needle or other element, such as a compass card or compass rose, which can pivot to align itself with ...
, and ran on
Control Data Control Data Corporation (CDC) was a mainframe and supercomputer firm. CDC was one of the nine major United States computer companies through most of the 1960s; the others were IBM, Burroughs Corporation, DEC, NCR, General Electric, Honeywel ...
supercomputer A supercomputer is a computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second ( FLOPS) instead of million instructio ...
s, MIMIC is capable of solving much larger simulation models. With MIMIC,
ordinary differential equation In mathematics, an ordinary differential equation (ODE) is a differential equation whose unknown(s) consists of one (or more) function(s) of one variable and involves the derivatives of those functions. The term ''ordinary'' is used in contrast ...
s describing
mathematical model A mathematical model is a description of a system using mathematical concepts and language. The process of developing a mathematical model is termed mathematical modeling. Mathematical models are used in the natural sciences (such as physics, ...
s in several scientific disciplines as in engineering, physics, chemistry, biology, economics and as well as in social sciences can easily be solved by
numerical integration In analysis, numerical integration comprises a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also sometimes used to describe the numerical solution of differential equatio ...
and the results of the analysis are listed or drawn in diagrams. It also enables the analysis of nonlinear dynamic conditions. The MIMIC software package, written as FORTRAN overlay programs, executes input statements of the mathematical model in six consecutive passes. Simulation programs written in MIMIC are compiled rather than interpreted. The core of the simulation package is a variable step numerical integrator of fourth-order Runge-Kutta method. Many useful functions related to electrical circuit elements exist besides some mathematical functions found in most scientific programming languages. There is no need to sort the statements in order of dependencies of the variables, since MIMIC does it internally. Parts of the software organized in overlays are: *MIMIN (input)– reads in user simulation program and data, *MIMCO (compiler) – compiles the user program and creates an in-core array of instructions, *MIMSO (sort)– sorts the instructions array after dependencies of variables, *MIMAS (assembler) – converts the BCD instructions into machine-oriented code, *MIMEX (execute)– executes the user program by integrating, *MIMOUT (output)– puts out the data as a list or diagram of data.


Example

;Problem: Consider a predator-prey model from the field of
marine biology Marine biology is the scientific study of the biology of marine life, organisms in the sea. Given that in biology many phyla, families and genera have some species that live in the sea and others that live on land, marine biology classifi ...
to determine the dynamics of fish and shark populations. As a simple model, we choose the Lotka–Volterra equation and the constants given in a tutorial. If : ''f''(t): Fish population over time (fish) : ''s''(t): Shark population over time (sharks) : d''f'' / dt or \dot f: growth rate of fish population (fish/year) : d''s'' / dt or \dot s: growth rate of shark population (sharks/year) : \alpha: growth rate of fish in the absence of sharks (1/year) : \beta: death rate per encounter of fish with sharks (1/sharks and year). : \gamma: death rate of sharks in the absence of their prey, fish (1/year) : \epsilon: efficiency of turning predated fish into sharks (sharks/fish) then : \dot f = \alpha f - \beta f s : \dot s = \epsilon \beta f s - \gamma s with initial conditions : f(0) = f_o : s(0) = s_o The problem's constants are given as: *f_o = 600 fish *s_o = 50 sharks *\alpha = 0.7 fish/year *\beta = 0.007 fish/shark and year *\gamma = 0.5 shark/year *\epsilon = 0.1 shark/fish *tmax = 50 year ;Code sample: Card columns 0 1 2 3 4 5 6 7 12345678901234567890123456789012345678901234567890123456789012345678901 ----------------------------------------------------------------------- * A SIMPLE PREDATOR-PREY MODEL FROM MARINE BIOLOGY / (TUTORIAL 2: NUMERICAL SOLUTION OF ODE'S - 19/08/02) / ENVIRONMENTAL FLUID MECHANICS LAB / DEPT OF CIVIL AND ENVIRONMENTAL ENGINEERİNG / STANFORD UNIVERSITY * * LOTKA–VOLTERRA EQUATION CON(F0,S0,TMAX) CON(ALPHA,BETA,GAMMA,EPS) 1DF = ALPHA*F-BETA*F*S F = INT(1DF,F0) 1DS = EPS*BETA*F*S-GAMMA*S S = INT(1DS,S0) HDR(TIME,FISH,SHARK) OUT(T,F,S) PLO(F,S) FIN(T,TMAX) END 600. 50. 50. 0.7 0.007 0.5 0.1


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
{{refend Object-oriented programming languages Numerical programming languages Simulation programming languages Control Data Corporation software Wright-Patterson Air Force Base Programming languages created in 1964 Fortran software