MIMIC
Encyclopedia
This article is about the programming language. For the vaccine development tool, see MIMIC (Immunology)
MIMIC (immunology)
This article is about the vaccine development tool.MIMIC, or modular immune in vitro construct, is an artificial system imitating the human immune system...

.


MIMIC, known in capitalized form only, is a former simulation
Simulation
Simulation is the imitation of some real thing available, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviours of a selected physical or abstract system....

 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
Air Force Materiel Command
Air Force Materiel Command is a major command of the United States Air Force. AFMC was created July 1, 1992 through the reorganization of Air Force Logistics Command and Air Force Systems Command....

 at the Wright-Patterson AFB in Dayton, Ohio
Dayton, Ohio
Dayton is the 6th largest city in the U.S. state of Ohio and the county seat of Montgomery County, the fifth most populous county in the state. The population was 141,527 at the 2010 census. The Dayton Metropolitan Statistical Area had a population of 841,502 in the 2010 census...

, USA. It is an expression-oriented
Expression-oriented programming languages
An expression-oriented programming language is a programming language where every construction is an expression and thus yields a value. The typical exceptions are macro definitions, preprocessor commands, and declarations, which expression-oriented languages often treat as statements rather than...

 continuous block simulation language, but capable of incorporating blocks of FORTRAN
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

-like algebra.

MIMIC is a further development from MIDAS (Modified Integration Digital Analog Simulator), which represented analog computer
Analog computer
An analog computer is a form of computer that uses the continuously-changeable aspects of physical phenomena such as electrical, mechanical, or hydraulic quantities to model the problem being solved...

 design. Written completely in FORTRAN but one routine in COMPASS
COMPASS
COMPASS is an acronym for COMPrehensive ASSembler. COMPASS is any of a family of macro assembly languages on Control Data Corporation's 3000 series, and on the 60-bit CDC 6000 series, 7600 and Cyber 70 and 170 series mainframe computers...

, and ran on Control Data
Control Data Corporation
Control Data Corporation was a supercomputer firm. For most of the 1960s, it built the fastest computers in the world by far, only losing that crown in the 1970s after Seymour Cray left the company to found Cray Research, Inc....

 supercomputer
Supercomputer
A supercomputer is a computer at the frontline of current processing capacity, particularly speed of calculation.Supercomputers are used for highly calculation-intensive tasks such as problems including quantum physics, weather forecasting, climate research, molecular modeling A supercomputer is a...

s, MIMIC is capable of solving much larger simulation models.

With MIMIC, ordinary differential equation
Ordinary differential equation
In mathematics, an ordinary differential equation is a relation that contains functions of only one independent variable, and one or more of their derivatives with respect to that variable....

s describing mathematical model
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 not only in the natural sciences and engineering disciplines A mathematical model is a...

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
Numerical integration
In numerical analysis, numerical integration constitutes 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 equations. This article focuses on calculation of...

 and the results of the analysis are listed or drawn in diagrams. It also enables the analysis of nonlinear dynamic condition
Nonlinearity
In mathematics, a nonlinear system is one that does not satisfy the superposition principle, or one whose output is not directly proportional to its input; a linear system fulfills these conditions. In other words, a nonlinear system is any problem where the variable to be solved for cannot be...

s.

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
    BCD
    BCD may refer to:* Binary coded decimal, representation of individual decimal digits in binary.* Bad Conduct Discharge, a form of discharge from US military service* Barrels per calendar day, a unit for measuring output of oil refineries...

     instructions into machine-oriented code
    Machine code
    Machine code or machine language is a system of impartible instructions executed directly by a computer's central processing unit. Each instruction performs a very specific task, typically either an operation on a unit of data Machine code or machine language is a system of impartible instructions...

    ,
  • MIMEX (execute)– executes the user program by integrating,
  • MIMOUT (output)– puts out the data as a list or diagram of data.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK