MIMIC , conocido únicamente en su forma mayúscula, es un antiguo lenguaje de simulación informática desarrollado en 1964 por HE Petersen , FJ Sansom y LM Warshawsky del Grupo de Ingeniería de Sistemas dentro del Comando de Material de la Fuerza Aérea en la Base de la Fuerza Aérea Wright-Patterson en Dayton, Ohio , Estados Unidos. [ 1 ] Es un lenguaje de simulación de bloques continuos orientado a expresiones , pero capaz de incorporar bloques de álgebra similar a FORTRAN .
MIMIC es un desarrollo posterior de MIDAS ( Modified Integration Digital Analog Simulator ), que representaba el diseño de computadoras analógicas . Escrito completamente en FORTRAN, excepto una rutina en COMPASS , y ejecutado en supercomputadoras de Control Data , MIMIC es capaz de resolver modelos de simulación mucho más grandes.
Con MIMIC, las ecuaciones diferenciales ordinarias que describen modelos matemáticos en diversas disciplinas científicas como ingeniería, física, química, biología, economía y ciencias sociales se pueden resolver fácilmente mediante integración numérica , y los resultados del análisis se muestran en listas o diagramas. También permite el análisis de condiciones dinámicas no lineales .
El paquete de software MIMIC, escrito como programas superpuestos en FORTRAN, ejecuta las instrucciones de entrada del modelo matemático en seis pasadas consecutivas. Los programas de simulación escritos en MIMIC se compilan en lugar de interpretarse. El núcleo del paquete de simulación es un integrador numérico de paso variable del método Runge-Kutta de cuarto orden . Incluye numerosas funciones útiles relacionadas con elementos de circuitos eléctricos, además de algunas funciones matemáticas presentes en la mayoría de los lenguajes de programación científica. No es necesario ordenar las instrucciones según las dependencias de las variables, ya que MIMIC lo hace internamente.
Las partes del software organizadas en superposiciones son:
- MIMIN (entrada): lee el programa de simulación del usuario y los datos,
- MIMCO (compilador): compila el programa de usuario y crea una matriz de instrucciones en memoria principal.
- MIMSO (ordenar): ordena el array de instrucciones según las dependencias de las variables,
- MIMAS (ensamblador): convierte las instrucciones BCD en código orientado a máquina .
- MIMEX (ejecutar) – ejecuta el programa de usuario mediante la integración,
- MIMOUT (salida): genera los datos como una lista o un diagrama de datos.
Ejemplo
- Problema
Consideremos un modelo depredador-presa del campo de la biología marina para determinar la dinámica de las poblaciones de peces y tiburones. Como modelo simple, elegimos la ecuación de Lotka-Volterra y las constantes dadas en un tutorial. [ 2 ]
Si
- f (t): Población de peces a lo largo del tiempo (peces)
- s (t): Población de tiburones a lo largo del tiempo (tiburones)
- d f / dt o: tasa de crecimiento de la población de peces (peces/año)
- d s / dt o: tasa de crecimiento de la población de tiburones (tiburones/año)
- : tasa de crecimiento de los peces en ausencia de tiburones (1/año)
- : tasa de mortalidad por encuentro de peces con tiburones (1/tiburones y año).
- : tasa de mortalidad de tiburones en ausencia de sus presas, los peces (1/año)
- : eficiencia de convertir peces depredados en tiburones (tiburones/peces)
entonces
con condiciones iniciales
Las constantes del problema se dan como:
- = 600 peces
- = 50 tiburones
- = 0,7 peces/año
- = 0,007 peces/tiburones y año
- = 0,5 tiburones/año
- = 0,1 tiburón/pez
- tmax = 50 años
- Ejemplo de código
Columnas de cartas 0 1 2 3 4 5 6 7 12345678901234567890123456789012345678901234567890123456789012345678901 ----------------------------------------------------------------------- * UN MODELO SENCILLO DE DEPREDADOR-PRESA DE LA BIOLOGÍA MARINA / (TUTORIAL 2: SOLUCIÓN NUMÉRICA DE ECUACIONES EDO - 19/08/02) / LABORATORIO DE MECÁNICA DE FLUIDOS AMBIENTALES / DEPARTAMENTO DE INGENIERÍA CIVIL Y AMBIENTAL UNIVERSIDAD DE STANFORD * * ECUACIÓN DE LOTKA-VOLTERRA CON(F0,S0,TMAX) CON(ALFA,BETA,GAMMA,EPS) 1DF = ALFA*F-BETA*F*S F = INT(1DF,F0) 1DS = EPS*BETA*F*S-GAMMA*S S = INT(1DS,S0) HDR(TIEMPO,PEZ,TIBURÓN) SALIDA(V,F,S) PLO(F,S) FIN(T,TMAX) FIN <EOR> 600. 50. 50. 0,7 0,007 0,5 0,1 <EOF>
Referencias
- ↑ Centro de Información Técnica de Defensa
- ↑ "Tutorial 2: Soluciones numéricas de EDO" (PDF) . Universidad de Stanford - Departamento de Ingeniería Civil y Ambiental, Laboratorio de Mecánica de Fluidos Ambientales. 19 de agosto de 2002. Archivado del original (PDF) el 20 de julio de 2010. Consultado el 26 de febrero de 2012 .
- Notas
- Control Data MIMIC; Un lenguaje de simulación digital, Manual de referencia, Publicación número 4461n400, Control Data Corporation, Special Systems Publications, St. Paul, Minnesota (abril de 1968)
- MIMIC, un lenguaje de programación alternativo para la dinámica industrial, ND Peterson, Socio-Econ Plan Sci. 6, Pergamon 1972
- Manual MIMIC (1969), Centro de Computación de la Universidad Estatal de Oregón
- Lenguajes de programación orientados a objetos
- Lenguajes de programación numérica
- Lenguajes de programación de simulación
- Software de Control Data Corporation
- Base de la Fuerza Aérea Wright-Patterson
- Lenguajes de programación creados en 1964
- Software programado en Fortran