ArticleslgStudy

computer science

MIMIC

MIMIC is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand MIMIC rather than just read about it. In short: MIMIC, known in capitalized form only, is a former simulation computer language developed 1964 by H. E.

Key takeaways

  • MIMIC belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect MIMIC to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of MIMIC from memory before moving on to harder problems.

Reference excerpt

MIMIC, known in capitalized form only, is a former simulation computer language developed 1964 by H. E. Petersen, F. J. Sansom and L. M. Warshawsky of Systems Engineering Group within the Air Force Materiel Command at the Wright-Patterson AFB in Dayton, Ohio, 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 design. Written completely in FORTRAN but one routine in COMPASS, and ran on Control Data supercomputers, MIMIC is capable of solving much larger simulation models. With MIMIC, ordinary differential equations describing mathematical models 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 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 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) df / dt or f ˙ {\displaystyle {\dot {f}}} : growth rate of fish population (fish/year) ds / dt or s ˙ {\displaystyle {\dot {s}}} : growth rate of shark population (sharks/year)

α {\displaystyle \alpha } : growth rate of fish in the absence of sharks (1/year)

β {\displaystyle \beta } : death rate per encounter of fish with sharks (1/sharks and year).

γ {\displaystyle \gamma } : death rate of sharks in the absence of their prey, fish (1/year)

ϵ {\displaystyle \epsilon } : efficiency of turning predated fish into sharks (sharks/fish) then

f ˙ = α f − β f s {\displaystyle {\dot {f}}=\alpha f-\beta fs}

s ˙ = ϵ β f s − γ s {\displaystyle {\dot {s}}=\epsilon \beta fs-\gamma s}

with initial conditions

f ( 0 ) = f o {\displaystyle f(0)=f_{o}}

s ( 0 ) = s o {\displaystyle s(0)=s_{o}}

The problem's constants are given as:

f o {\displaystyle f_{o}} = 600 fish

s o {\displaystyle s_{o}} = 50 sharks

α {\displaystyle \alpha } = 0.7 fish/year

β {\displaystyle \beta } = 0.007 fish/shark and year

γ {\displaystyle \gamma } = 0.5 shark/year

ϵ {\displaystyle \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 <EOR> 600. 50. 50. 0.7 0.007 0.5 0.1 <EOF>

References

Notes

Worked examples

Example 1 — a first encounter with MIMIC

Start with the simplest possible case. Write down what MIMIC claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to MIMIC before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about MIMIC ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of MIMIC

In research
MIMIC appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses MIMIC in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
MIMIC is common in secondary-school and first-year university syllabi. It links to neighbouring topics Control Data Corporation software, Numerical programming languages, Object-oriented programming languages, so understanding it makes those chapters shorter.
In everyday life
Look for MIMIC outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “MIMIC” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study MIMIC in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what MIMIC means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain MIMIC out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is MIMIC in simple terms?

MIMIC, known in capitalized form only, is a former simulation computer language developed 1964 by H. E.

Why does MIMIC matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study MIMIC?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on MIMIC.

Tags

  • Control Data Corporation software
  • Numerical programming languages
  • Object-oriented programming languages
  • Programming languages created in 1964
  • Simulation programming languages
  • Software programmed in Fortran
  • Wright-Patterson Air Force Base

Keep exploring