You are on page 1of 33

Insight Creador: una herramienta de propsito general

para el modelado basado en la web y la simulacin


Abstracto
Una herramienta basada en la web, la simulacin de propsito general y el modelado se
presenta en este documento. La herramienta, Insight Maker, ha sido diseado para hacer el
modelado y la simulacin accesible a un pblico ms amplio de usuarios. Insight Maker integra
el modelado en tres enfoques generales - Dinmica de Sistemas, Modelado Basado en
Agentes y programacin imperativa - en un marco de modelado unificado. El medio ambiente
proporciona una interfaz grfica de construccin del modelo que se implementa nicamente en
cdigo del lado del cliente que se ejecuta en los equipos de los usuarios. Las funciones
avanzadas, tales como el modelo de secuencias de comandos y una herramienta de
optimizacin, tambin se describen. Insight Maker, en desarrollo desde hace varios aos, ha
ganado la adopcin significativa en la actualidad con ms de 20.000 usuarios
registrados. Adems de detallar la herramienta y su filosofa que gua, este primer documento
sobre Insight Maker describe las lecciones aprendidas en el desarrollo de una herramienta de
simulacin basado en la web y de diseo complejo.
1. Introduccin
El campo de las herramientas de modelado y simulacin es diversa y emergente. Herramientas
de modelado de propsito general (Simulink ejemplo de MATLAB o el lenguaje Modelica [1] )
se sientan las aplicaciones junto altamente enfocados y especficos de dominio (por
ejemplo, [2] para los sistemas de control de la red de modelado, [3] para la simulacin del
comportamiento de los protocolos de enrutamiento de red inalmbrica, o [4] para la simulacin
y el control de las turbinas). El inters en y los trabajos publicados sobre este tipo de
herramientas ha crecido con el tiempo. El ISI Web of Knowledge reporta un crecimiento
sustancial en los trabajos publicados en la modelizacin o simulacin de herramientas con 299
esos trabajos publicados en el lapso de 1985 a 1989, 1482 publica a partir de 1995 a 1999, y
3727 publicados desde 2005 hasta 2009.
1

Para los usuarios finales, la simulacin y el modelado herramientas se disean generalmente
como ejecutables que se ejecutan en un sistema operativo de consumo, tales como Windows o
Mac OS X. Con la expansin de Internet y la ubicuidad de la World Wide Web, nuevas
posibilidades para aprovechar esta tecnologa de la comunicacin y la plataforma para
desarrollar ricas herramientas de modelado de colaboracin se han convertido en
disponible. Una importante revisin de las oportunidades y los problemas que enfrentan al
utilizar tecnologas basadas en Internet como parte de una simulacin o modelado de
aplicaciones ha sido [5] . Sin embargo, la tecnologa ha avanzado rpidamente en el perodo
transcurrido desde la publicacin de dicha revisin. La competencia entre las empresas de
tecnologa como Apple, Microsoft y Google ha llevado a un rpido aumento de la disponibilidad
de funciones avanzadas en los navegadores web y mejoras de rendimiento significativas en
estos mismos navegadores (estas mejoras estn documentados en sitios
como http://AreWeFastYet.com y http://html5test.com ). Estas mejoras han cambiado lo que es
efectivamente posible en el navegador. Donde [5] en cuenta que las tecnologas basadas en
Internet no estaban bien adaptadas a la "simulacin y visualizacin local" - que ejecuta todo el
cdigo de simulacin en la mquina de un usuario final - que ya no es el caso ya que el trabajo
presentado aqu demuestra.
Otros trabajos en la interseccin entre las herramientas de simulacin y modelado y
tecnologas basadas en la Web incluye pero no se limita a, [6] que desarrollan una plataforma
de simulacin-optimizacin para aplicaciones industriales, [7] que proponen un marco para la
colaboracin en lnea de modelado y simulacin de un enfoque para el medio ambiente la
construccin adaptable a travs de mltiples dominios, [8] que estudian la ejecucin de
simulaciones en las plataformas basadas en la nube, y [9] que explorar integracin del modelo
de colaboracin en un entorno distribuido. Lo que falta en el trabajo anterior, sin embargo, es
una realizacin de un entorno de simulacin de propsito general desarrollado utilizando
tecnologas basadas en Internet dirigidos primero a un pblico general.
Tecnologas basadas en la Web son especialmente beneficiosas para los no expertos, ya que
pueden reducir significativamente los costos requeridos para un usuario nuevo para
experimentar y aprender acerca de una simulacin y una herramienta de modelado. Las
herramientas de simulacin y modelizacin han demostrado ser dispositivos didcticos tiles
(por ejemplo, [10] que utilizaron una herramienta de simulacin en el aula o la
economa [11] para ejemplos de trabajo en las escuelas primarias). Mediante el desarrollo de la
simulacin basada en web y herramientas de modelado, la accesibilidad de estas herramientas
se puede incrementar tanto dentro del aula y fuera de ella. Una persona comn considerar el
modelado puede ser adverso para descargar e instalar el modelado y la simulacin de software
en un ordenador personal (debido al miedo de los virus y otras preocupaciones). Por otro lado,
la misma persona puede estar ms dispuesta a abrir una pgina web simple que contiene un
modelo de simulacin o de la interfaz de la construccin modelo integrado. La reduccin de las
barreras de entrada permite participar ms personas en el modelado y la simulacin, que
puede conducir a beneficios para la sociedad, como resultado de un aumento en el uso y la
comprensin de los modelos.
El resto de este trabajo se presenta la simulacin y la herramienta de modelado Insight Maker
(disponible enhttp://InsightMaker.com ). Es un pas libre, de cdigo abierto de modelado y
simulacin herramienta desarrollada utilizando tecnologas basadas en Internet y es compatible
con la construccin de modelo grfico utilizando mltiples paradigmas. El software est
diseado principalmente para ser lo ms accesible para el lego como sea posible, pero tambin
contiene importantes herramientas de modelado avanzadas como capacidades de scripting
integrados y un conjunto de herramientas de optimizacin. Insight Maker se hizo pblico a
finales de 2009 y ha experimentado un continuo desarrollo y evolucin desde entonces. Desde
su lanzamiento, la herramienta ha ganado ms de 20.000 usuarios registrados. La respuesta
de estos usuarios ha ayudado a establecer el curso para la direccin y el desarrollo de la
herramienta.
Las secciones restantes de este documento primero se describen la filosofa y los principios de
diseo de la herramienta de simulacin y modelado. Siguiente la arquitectura de la herramienta
se detalla. Como una tecnologa basada en la web, la herramienta incluye tantos componentes
del lado del servidor y del lado del cliente y se discute esta arquitectura. Se presta especial
atencin a los beneficios que ofrece y los compromisos necesarios para implementar con xito
una herramienta compleja, como Insight Maker en un entorno basado en web. Por ltimo, dado
que la herramienta ha sido objeto de mltiples aos de iteracin y el desarrollo basado en la
retroalimentacin de los usuarios y los puntos de referencia de la adopcin del usuario, tambin
se presentan las conclusiones y las lecciones aprendidas de esta evolucin.
2. Principios rectores
Se puede argumentar que los tres criterios bsicos deben ser utilizados en la evaluacin de
una herramienta o medio utilizado para desarrollar la simulacin y modelos: rendimiento,
caractersticas y accesibilidad. Un entorno de alto rendimiento es el que ejecuta simulaciones
rpidamente con los requisitos mnimos de recursos. Las caractersticas son las capacidades y
funcionalidades de alto nivel en la herramienta de simulacin y modelado. Accesibilidad indica
lo fcil que es aprender o utilizar un entorno. En general, existen soluciones de compromiso
entre estos criterios en la cara de una cantidad fija de recursos para el desarrollo:
Actuacin frente a las caractersticas: Adicin de funciones a la herramienta de simulacin a
menudo puede resultar en un impacto negativo en el rendimiento. Adems del software de
"hinchazn", ciertas caractersticas pueden producir una sobrecarga computacional durante las
simulaciones o hacer ms difcil la aplicacin de algunos tipos de optimizaciones.
Actuacin frente a la accesibilidad: Realizar un programa de simulacin accesible a los
usuarios a menudo requiere la utilizacin de conceptos de alto nivel divorciadas del hardware
de la mquina subyacente. La capacidad de un entorno para convertir conceptos de alto nivel a
cdigo mquina eficiente variar, pero en general, los entornos de mayor nivel de acceso se
habr reducido el rendimiento en comparacin con los ambientes menos accesibles, de bajo
nivel.
Accesibilidad frente a las caractersticas: una lnea de base de las caractersticas es importante
para hacer un programa de simulacin accesible para los usuarios (por ejemplo, una interfaz
grfica de usuario). Sin embargo, muchas caractersticas aadidas al software de simulacin
estn dirigidas a subconjuntos especficos de los usuarios y ofrecen poco valor para el usuario
medio. El exceso de funciones que llevan a "hinchar" puede resultar en la frustracin del
usuario o la sensacin de estar abrumado [12] .
Actuacin frente a la precisin: Una solucin de compromiso final es entre el rendimiento y la
precisin, ya que suelen ser inversamente correlacionados. Esta solucin de compromiso a
menudo puede estar expuesta directamente a los usuarios que les permite determinar cmo
equilibrar estos objetivos en competencia.
Aunque las compensaciones pueden ser mitigadas a travs de un mayor tiempo de desarrollo o
los recursos, los desarrolladores decisiones que tomen sobre estos intercambios son clave en
la definicin de sus programas y entornos (simulacin . Figura 1 ). A modo de ejemplo, los
modelos y las simulaciones pueden desarrollarse en el montaje en bruto como instrucciones de
procesador de la mquina. Estos modelos deben tener un rendimiento excelente, pero su
desarrollo sera muy difcil, ya que el montaje es inaccesible y tiene un conjunto de
caractersticas incorporadas mnima. A costa de algo de rendimiento, entornos de desarrollo de
alto nivel como C + + son alternativas. Herramientas de nivel superior ofrecen mayor
accesibilidad y caractersticas, pero a cambio a menudo no son capaces de igualar el
rendimiento de un altamente optimizado, alternativa de menor nivel.

Higo. 1.
Ilustracin conceptual de concesiones prioritarias de herramientas de simulacin y modelado.
Opciones Figura
Insight Maker prioriza soluciones de compromiso entre el rendimiento, accesibilidad y
caractersticas de la siguiente manera. La accesibilidad se dar prioridad principal, seguida de
caractersticas, con un rendimiento asignado la prioridad ms baja. La accesibilidad es el
objetivo principal de Insight Maker y es fundamental para el diseo de la herramienta desde el
punto de vista de la arquitectura del programa en general (es decir, la eleccin de la aplicacin
como una aplicacin web para aumentar la disponibilidad de la aplicacin), a las opciones de
diseo de idiomas pequeos (como el uso de maysculas y la insensibilidad en la lengua), a
las opciones cosmticas.
La inclusin de un rico conjunto de caractersticas es la segunda prioridad del Insight
Maker. Muchas de las herramientas y capacidades se incluyen en el programa como un
lenguaje de secuencias de comandos y optimizador incorporado. En la adicin de
caractersticas, se intenta no aumentar significativamente la aparente complejidad del
software; esto ha significado hacer esas funciones disponibles para los usuarios que ellos
desean, pero destacando un conjunto bsico de funcionalidades para los usuarios nuevos que
no son inmediatamente interesado o capaz de utilizar las funciones ms compleja. Un ejemplo
de este enfoque es el apoyo de Insight Maker para unidades de medida. El motor de simulacin
contiene la capacidad de asociar unidades con cada nmero en la simulacin que luego se
comprueba automticamente y se valida cuando la simulacin se ejecuta. Esta capacidad til
se puede coger una clase de errores de la ecuacin y mejorar la fiabilidad de los modelos. Sin
embargo, tambin puede disminuir la accesibilidad del software, ya que requiere que los
usuarios especificar las unidades adelantado en la construccin de un modelo, que puede ser
una carga innecesariamente compleja para muchas aplicaciones. Por lo tanto, el simulador
hace que las unidades una caracterstica puramente opcional en la construccin del modelo,
que el usuario puede ignorar o comprometerse con, dependiendo de su nivel de habilidad
individual y las necesidades plenamente.
La prioridad que se centr en menos de Insight Maker es el rendimiento. Una labor importante
ha entrado en la optimizacin de la aplicacin. Sin embargo, decisiones tomadas como
resultado de priorizar la accesibilidad primera y segunda caractersticas hacen que sea
imposible lograr una velocidad que sera posible si el rendimiento ha sido la prioridad
principal. Por ejemplo, la eleccin de una arquitectura de aplicaciones web impone limitaciones
significativas en el rendimiento de la aplicacin. Como una aplicacin web pura, el simulador
debe utilizar ECMAScript como lenguaje de programacin principal
2
que tiene una buena, pero
no excelente, caractersticas de funcionamiento, siendo aproximadamente 2-8 veces ms lento
que C + + para el trabajo numrico [13] . Del mismo modo, las caractersticas especficas
pueden tener un costo de rendimiento. Por ejemplo, el apoyo de las unidades de Insight Maker
requiere un objeto de datos agregados que se mantenga en representacin de los resultados
de los clculos. Este objeto de datos tiene costos de rendimiento significativas en comparacin
con el uso de nmeros genricos.
3. La aplicacin
Insight Maker como una aplicacin web significa que el usuario lo ejecuta mediante el acceso a
una URL a travs de su navegador web. La aplicacin ofrece una gran variedad de servicios
que tanto el espejo de lo que se encontrara en una aplicacin de escritorio tradicional -
construccin de modelo y modelo de simulacin - sino que tambin se extiende ms all en
reas ms especficas para un entorno web - gestin de cuentas de usuario, as como el
modelo de bsqueda y uso compartido. Aunque estos ltimos servicios son importantes para el
buen funcionamiento de la aplicacin, sirven un papel puramente contable y no son
intelectualmente interesantes en el contexto de la modelizacin y la simulacin. En lugar de
ello, son los aspectos novedosos de simulacin y modelado de la aplicacin que son el foco de
esta seccin y el papel.
Higo. 2 ilustra la interfaz de modelo de construccin principal de Insight Maker ejecuta dentro
del navegador web Google Chrome. La interfaz se divide en tres componentes principales: el
diagrama de modelo, la barra de herramientas y el panel de configuracin. El diagrama de
modelo es una ilustracin interactiva de la estructura del modelo actual, junto con
caractersticas de interfaz de usuario adicionales, tales como descripciones textuales, fotos y
botones interactivos. Los usuarios pueden seleccionar, la posicin y el tamao de los
elementos en el diagrama de modelo utilizando un dispositivo de entrada como el ratn o, en
dispositivos tctiles como las tabletas, su dedo. Cada elemento en el diagrama de modelo tiene
un conjunto de atributos asociados que controlan sus conductas. Los atributos pueden ser
configurados en el panel de configuracin. La barra de herramientas en la parte superior de la
ventana proporciona una serie de funciones. Contiene un selector para aadir diferentes tipos
de objetos al diagrama de modelo (tanto para la simulacin y con fines descriptivos),
herramientas estndar para la edicin de documentos (deshacer / rehacer, copiar y pegar, etc),
las opciones de estilo para ajustar la apariencia de los objetos en el diagrama (caractersticas
de coloracin y de la fuente), herramientas para interactuar con la simulacin, y los botones
para guardar el modelo completo o empezar una simulacin del modelo.

Higo. 2.
La interfaz principal de la construccin del modelo se ejecuta dentro del navegador web Google
Chrome.
Opciones Figura
La construccin de modelos y simulacin aspecto entero de la aplicacin se ejecuta dentro de
una sola ventana de navegador web. Cuando una simulacin completa, los resultados se
muestran en la misma ventana del navegador. Un nmero de diferentes tipos de visualizacin
para los resultados estn disponibles, incluyendo grficos de series de tiempo, tablas,
histogramas, diagramas de dispersin, y mapas de dos dimensiones ( . Fig. 3 ). Para anlisis
fuera de lnea, los usuarios pueden exportar los resultados a archivos CSV. Adems de la
visualizacin de los resultados, un nmero de otras ventanas y dilogos configuracin abierta
dentro de esta ventana principal. A modo de ejemplo, los dilogos para configurar ecuacin
matemtica de un objeto, establecer los ajustes de tiempo de simulacin, y llevan a cabo
carreras de optimizacin o pruebas de sensibilidad todos abiertos dentro de esta ventana
primaria.Todo el contenido de esta ventana se definen utilizando tecnologas web estndar
como Hypertext Markup Language (HTML) y hojas de estilo en cascada (CSS).

Higo. 3.
Ejemplo de salida muestra la simulacin. Las agujas del reloj desde arriba a la izquierda: la simulacin
de la propagacin de la enfermedad en una comunidad, la distribucin de los dos atributos de los
agentes individuales en una simulacin, una simulacin de crecimiento de la poblacin mundial, la
simulacin de la ubicacin y las conexiones entre los agentes individuales en un modelo.
Opciones Figura
4. Arquitectura del sistema
La aplicacin utiliza una arquitectura cliente-servidor ( . Fig. 4 ), donde los clientes (dispositivos
de computacin del usuario) estn conectados al servidor a travs de Internet. Los usuarios
pueden utilizar el navegador web en su mquina para conectarse al servidor y cargar el entorno
de la construccin y la simulacin del modelo. Los componentes de servidor son los
responsables de la gestin de cuentas de usuario, el almacenamiento de datos de usuario y
modelos, y la provisin de infraestructura de bsqueda.Los componentes del cliente
proporcionan capacidades modelo de edicin junto con el modelo de simulacin y anlisis
funcionalidades. Los clientes no se comunican entre s directamente y en lugar de toda la
comunicacin pasa a travs del servidor centralizado.

Higo. 4.
Descripcin general de la arquitectura cliente-servidor de la herramienta.
Opciones Figura
Es importante tener en cuenta que el cdigo del lado del cliente se ejecuta la simulacin. Una
alternativa sera colocar la lgica de la simulacin y el cdigo en el servidor y slo tiene que
utilizar el cliente para la construccin del modelo y la informacin de los resultados. Esta ltima
estructura era, de hecho, cmo la aplicacin fue diseado originalmente. Hay soluciones de
compromiso entre estos dos enfoques. En general, las simulaciones de servidor optimizados
deberan ser ms rpido que el lado del cliente, simulaciones ECMAScript potencia. Para los
modelos pequeos, sin embargo, la latencia de envo de datos de ida y vuelta al servidor puede
dar lugar a una simulacin en el servidor siendo efectivamente ms lento que las simulaciones
del lado del cliente. Otras soluciones de compromiso entre el lado del servidor y del lado del
cliente simulaciones implican problemas con modelos propios (simulacin del lado del cliente
da al cliente el acceso al modelo, lo que hace imposible lanzar un modelo sin liberando tambin
el acceso a los detalles del modelo) y los efectos de la popularidad del software (simulaciones
en el servidor puedan ser costoso y requerir la compra de servidores adicionales, si el software
experimenta una demanda significativa; simulacin del lado del cliente reduce esta
presin). Idealmente, tanto del lado del servidor y opciones de simulacin del lado del cliente
estaran disponibles para el usuario para elegir entre.Desafortunadamente, esto lo ms
probable es necesario mantener dos bases de cdigo de simulacin, que es en la actualidad
ms all del alcance de los recursos disponibles para este proyecto.
En cuanto a las opciones tecnolgicas, la herramienta utiliza las tecnologas de cdigo abierto
estndar y se ejecuta en un servidor genrico Linux / Unix. En lo posible, se han utilizado las
tecnologas y soluciones de cdigo abierto existentes para minimizar los costos y aumentar la
portabilidad del sistema. Los datos se almacenan en el servidor de la base de datos MySQL de
cdigo abierto, mientras que el lenguaje PHP de cdigo abierto y el sistema de gestin de
contenido de cdigo abierto Drupal se utilizan para almacenar datos y ejecutar lgica de la
aplicacin en el servidor. La aplicacin de fuente abierta Lighttpd se utiliza como el software del
servidor real.
5. Arquitectura y capacidades Simulador
La parte de simulador de Insight fabricante est diseada de forma modular de mltiples capas,
donde las capas de nivel superior dependen de la funcionalidad proporcionada por los niveles
ms bajos ( . Fig. 5 ). Las capas pueden ser agrupados en niveles separados que representan
amplias clases de funcionalidad. Nivel 0, el nivel ms bajo nivel que proporciona la base para el
simulador, es el lenguaje de programacin ECMAScript (coloquialmente conocido como
"JavaScript"). ECMAScript es un lenguaje de programacin dinmico con implementaciones de
alto rendimiento disponibles en todos los navegadores modernos. El simulador utiliza
ECMAScript 5 o superior y es compatible con todos los navegadores modernos.

Higo. 5.
Descripcin general de la arquitectura del simulador.
Opciones Figura
5.1. Tier 1
Nivel 1 proporciona las matemticas y los motores de idiomas ecuacin para evaluar las
ecuaciones introducidas por los usuarios. Los motores en s son, herramientas
computacionales genricos y no proporcionan la simulacin y el modelado de caractersticas
especficas. Tales caractersticas son proporcionados por los niveles ms altos que se basarn
en este nivel.
5.1.1. Motor de Matemticas
El motor de la matemtica se analiza y evala los enunciados matemticos. Hay dos
bibliotecas numricas subyacentes distintos que el simulador puede utilizar. Un motor de
clculo genrico es proporcionada por el entorno de ECMAScript s. Se trata de una precisin
biblioteca puramente doble punto flotante sin nmero entero, los tipos de datos fraccionarios o
decimales. La segunda biblioteca es una arbitraria biblioteca matemtica precisin
implementado en ECMAScript. Esta segunda biblioteca es compatible con las matemticas y
los nmeros decimales exactos de tamao arbitrario sin errores o imprecisiones numricas.El
equilibrio entre las dos bibliotecas es uno de rendimiento frente a la precisin. La biblioteca de
precisin arbitraria requiere una gran penalizacin en el rendimiento sobre la matemtica de
ECMAScript nativas. Por otro lado, la biblioteca nativa tendr pequeos errores debido a las
inexactitudes inherentes en los nmeros de punto flotante.
3
El simulador de cdigo abierto
puede ser configurado para utilizar cualquiera de biblioteca. Para el despliegue de la base de
cdigo de fabricante de Insight en InsightMaker.com , slo la biblioteca numrica ECMAScript
nativa est disponible para los usuarios con el fin de maximizar el rendimiento de los modelos
de usuario (a costa de un poco de precisin).
Adems, el motor de la matemtica admite los nmeros de marcado con las unidades de
medida arbitrarias (por ejemplo, en lugar de decir la longitud de un objeto en el modelo como
"5", que se puede declarar como "5 metros"). El motor permite la conversin transparente entre
unidades equivalentes y tambin la resurreccin de excepciones cuando se intentan
operaciones unitarias incompatibles. Esto es especialmente til para los usuarios finales, ya
que proporciona una comprobacin adicional de que las ecuaciones se han introducido
correctamente.
5.1.2. Lenguaje motor Ecuacin
El simulador incluye un lenguaje de motor ecuacin general que se encuentra por encima del
motor matemtico. Este lenguaje motor ecuacin es un lenguaje de programacin de propsito
general con las caractersticas especficas de dominio orientados hacia el modelado y la
simulacin de la utilizacin. Las caractersticas del lenguaje son: el uso y creacin de variables
de mbito de bloque; el uso y la creacin de funciones; control de flujo, incluyendo las
declaraciones If-Then-Else, Mientras bucles y bucles For; y la construccin de vectores
(arrays).
Aunque el motor ecuacin tiene un rico conjunto de caractersticas, en los casos ms prcticos
que sirve como una capa delgada sobre el motor de las matemticas con el fin de permitir a los
usuarios introducir expresiones matemticas sencillas. Las caractersticas ms complejas
generalmente slo se requiere en la construccin de complicados modelos Agent-Based. Un
ejemplo de la ecuacin de motor utilizado para un clculo recursivo simple se muestra en
la Tabla 1 y proporciona al lector una idea de las caractersticas del lenguaje. De nuevo, es
importante subrayar que el lenguaje del motor ecuacin se aplica exclusivamente en
ECMAScript (incluyendo tokenizer del lenguaje motor ecuacin, parser y el intrprete) y se
puede ejecutar en un navegador web.
Tabla 1.
Ejemplo de uso del motor de la ecuacin para definir y utilizar una funcin personalizada.
Funcin Fib ( n )
Si n = 1 o n = 0 Entonces
1
Ms
Fib (n - 1) + Fib (n - 2)
End If
End Function
# Calcula el dcimo nmero de Fibonacci
Fib (10)
Opciones de la tabla
5.2. Nivel 2
Nivel 2 del simulador es un entorno de modelado multi-paradigma que soporta varios enfoques
diferentes para el modelado ( Tabla 2 ). Cada mtodo tiene una desventaja distinta entre la
flexibilidad y la facilidad de uso. Dinmica de Sistemas es muy abstracto y global. Modelado
Basado en Agentes es a menudo mucho ms granular, lo que permite un mayor control sobre
el sistema, pero al costo potencial de la disminucin del rendimiento y un mayor esfuerzo de
modelado. Programacin imperativa, por otro lado, no tiene restricciones de modelado
especfico y puede ser flexible para hacer frente a cualquier tarea de modelado, pero
potencialmente a un alto costo en tiempo de desarrollo. El simulador permite la perfecta
integracin de los tres enfoques dentro de un mismo modelo, lo que permite diferentes
resoluciones y mtodos para las diferentes partes del modelo segn sea necesario.
Tabla 2.
Paradigmas de modelado admitidas por el simulador.
Principio bsico Fortalezas Debilidades
Dinmica de
Sistemas
Sistema de modelos en un
nivel altamente agregado
utilizando las tasas de
cambio y las variables de
estado
Los resultados son
generalmente fciles de
interpretar. Los modelos
pueden ser simulados con
rapidez
No es apropiado para
modelar la
heterogeneidad
Modelado
Basado en
Agentes
Modelos individuos, cada
uno con sus propias
caractersticas y las
interacciones entre los
individuos
Resultados altamente
relacionables tiles para la
comunicacin. Puede modelar
sistemas con gran detalle
Potencialmente lento y
puede ser difcil de
interpretar los resultados,
debido a la estocasticidad
Programacin
imperativa
Desarrollar la lgica
utilizando conceptos de
programacin estndar
Altamente flexible. La ejecucin
del modelo potencialmente muy
rpido
Abstraccin
Limited. Puede requerir
un esfuerzo significativo
desarrollo
Opciones de la tabla
5.2.1. Entorno de la Dinmica de Sistemas
Dinmica de Sistemas es un paradigma de modelado desarrollado en la dcada de 1950 para
estudiar los sistemas industriales [15] . La tcnica es general y desde entonces se ha aplicado
a una variedad de diferentes sistemas, incluyendo, en particular, el desarrollo de los sistemas
urbanos [16] y la previsin de las tendencias mundiales [17] . Matemticamente, los modelos
de dinmica de sistemas son a menudo sistemas de ecuaciones diferenciales no lineales. Lo
que diferencia a la Dinmica de Sistemas, aparte del anlisis analtico estndar de ecuaciones
diferenciales es que la comunidad de la Dinmica de Sistemas se centra en herramientas
grficas fciles de usar y el anlisis numrico de los resultados de la simulacin.Dinmica de
Sistemas modeladores tambin se centran principalmente en circuitos de retroalimentacin y
las funciones que desempean en la evolucin de un sistema.
5.2.1.1. Primitivas
Modelos de Dinmica de Sistemas se construyen grficamente de primitivas: bloques de
construccin, cada uno con una funcin nica. El paradigma bsico es el de un modelo de nivel
y caudal (denominado en algunos campos como un modelo de celdas), donde el material se
mueve por las primitivas de flujo entre las primitivas de acciones. Esto mapea conceptual y
directamente en la ecuacin diferencial estndar o modelos de sistemas dinmicos se utilizan
en muchos campos. En esta correspondencia, las existencias representan variables de estado
y los flujos representan los derivados (o tasas de variacin) de estas variables de estado. Las
primitivas claves proporcionadas por el simulador se describen en la Tabla 3 .
Tabla 3.
Panorama de los primitivos Dinmica de Sistemas en la herramienta.
Primitivo Uso Ejemplo usos
Valores Para almacenar un material. Equivalente a una
variable de estado en una ecuacin diferencial
Un lago que almacena agua. Una cuenta de
banco que almacena dinero. Una poblacin
que almacena personas
Flujo Para mover material entre las
poblaciones.Equivalente a un trmino
derivado de las ecuaciones diferenciales
Un ro en un lago. Los retiros de una cuenta
bancaria.Las muertes en una poblacin
Variable Para almacenar un valor de parmetro o
calcular dinmicamente una caracterstica del
modelo
El caudal de un ro. La tasa de inters de una
cuenta bancaria. La tasa de mortalidad de una
poblacin
Convertidor Para cargar los datos tabulares. Para llevar a
cabo una funcin de transformacin no
paramtrico
Un horario de caudales por poca del
ao. Una funcin no paramtrica relativa tasa
de mortalidad de la poblacin al tamao de la
poblacin
Opciones de la tabla
5.2.1.2. Funciones
Aunque no es estrictamente formal, la comunidad de la Dinmica de Sistemas ha desarrollado
convenios para las funciones y los patrones de la construccin del modelo. Estas numerosas
convenciones son generalmente compartidos entre diferentes herramientas de software de
simulacin de Dinmica de Sistemas, junto con Dinmica de Sistemas recursos educativos. Las
convenciones se siguen en el entorno de Dinmica de Sistemas del simulador incluyendo
funciones de Dinmica de Sistemas estndar, tales como los de la generacin de entradas
cannicas (rampa, funciones escaln y pulsos de entrada) y funciones para hacer que las
diversas formas de los retrasos y la retroalimentacin (por ejemplo Delay1 y Delay3 , siendo el
primero y segundo orden retrasos exponenciales respectivamente). Tales convenios facilitan el
movimiento de los modelos e ideas entre los entornos de software de Dinmica de Sistemas y
cuentan con el apoyo en la implementacin del simulador.
5.2.1.3. Numrico de resolucin de ecuaciones diferenciales
El simulador incluye dos solucionadores numricos para estimar soluciones a las ecuaciones
diferenciales definidas por el usuario que se basan los modelos de dinmica de sistemas: el
mtodo de Euler y un mtodo para la orden de Runge-Kutta de cuarto. Generalmente, el
mtodo Orden de Runge-Kutta de cuarto debera ser la opcin preferida sobre el mtodo de
Euler debido a su mayor precisin por unidad de esfuerzo computacional. No obstante, el
mtodo de Euler puede ser preferible en dos casos - en primer lugar, cuando hay una serie de
discontinuidades en las tasas de cambio de los sistemas variables de estado. En este caso, el
proceso de promediado del mtodo de Runge-Kutta podra no ser deseable. El segundo caso
de uso para el mtodo de Euler es para los ambientes de aprendizaje y educativos, ya que es
conceptualmente ms simple y fcil de entender, en comparacin con el mtodo de Runge-
Kutta Orden cuarto.
5.2.2. Ambiente Modelado Basado en Agentes
Modelado Basado en Agentes simula los actores individuales o agentes en un
modelo [18] . Cada agente tiene la capacidad potencial de modificar de forma independiente de
su estado, basado en reglas o algoritmos. Los agentes pueden modificar su estado en relacin
con otros agentes, los sistemas de formacin y desarrollo de complejos comportamientos a
nivel de sistema [19] y [20] . Esto representa una diferencia significativa de la dinmica de
sistemas, que se ocupa de la conducta agregada y resultados. La simulacin de los agentes
individuales permite que los modelos de grano ms fino y una mayor flexibilidad, pero tiene un
costo de un mayor esfuerzo computacional y potencialmente conduce a resultados que son
ms difciles de interpretar.
5.2.2.1. Primitivas
El simulador incluye una aproximacin a la construccin de modelos basados en agentes que,
en trminos de elementos de interfaz de usuario, es muy similar a la utilizada para construir
modelos de Dinmica de Sistemas. Al igual que en los modelos de dinmica de sistemas,
modelos basados en agentes se construyen grficamente utilizando un conjunto de primitivas,
cada una de las cuales cumple una funcin de modelado especfico. Mientras que en el
modelado de paradigma Dinmica de Sistemas el producto principal era el diagrama stock y
flujo, en el modelado basado en agentes es un diagrama de transicin de estado, donde un
agente puede ocupar uno o ms estados y transicin entre ellos en funcin de las reglas
mecanicistas o estocsticos. Tabla 4 resume las primitivas utilizadas para construir modelos
basados en agentes en el simulador.
Tabla 4.
Informacin general de las primitivas de modelado de agentes basados en claves en la herramienta.
Primitivo Uso Ejemplo usos
Poblacin
Agent
Una coleccin de agentes de un
tipo dado
Una poblacin de personas. Un bosque de rboles
Estado Definir el estado de un agente
determinado. Un atributo
binario
un

Teniendo en cuenta que una persona, son un hombre o
mujer? Dada una simulacin de la enfermedad, es la
persona en el estado sano o infectado?
Transicin Mueve agentes entre los estados El proceso de infeccin se mueve a una persona del estado
de salud de estado infectada
Accin Ejecuta las acciones arbitrarias
de un agente
Una accin para mover el agente alejado de agentes
infectados. Una accin para cambiar un estado basado en
una condicin global
un
Para las variables de estado continuo, las acciones pueden ser utilizados dentro de un agente.
Opciones de la tabla
Aunque Modelos basados en agentes puede ser concebida como algo distinto del paradigma
de la Dinmica de Sistemas, son, de hecho, completamente integrada en el simulador y se
hace la distincin entre ellos nicamente para facilitar el debate en cuanto a los paradigmas
existentes. Dinmica de Sistemas primitivas pueden ser fcilmente incluidos en principalmente
modelos basados en agentes (por ejemplo, un modelo de valores y el flujo se puede crear
dentro de un agente individual) y viceversa. Por lo tanto, mientras que los estados slo
representan valores binarios, las acciones pueden ser incluidos dentro de agentes para rastrear
variables de estado continuas.
5.2.2.2. Funciones
Una serie de funciones incluidas en el simulador estn dirigidos especficamente a la
construccin de modelos de agente basada en funciones. Una categora de funciones trata con
agentes que coincidan con determinados criterios de una poblacin de seleccionar. Por
ejemplo, la funcin FINDSTATE devolver un vector de todos los agentes en un modelo que
tiene activado un estado dado. Encuentra las declaraciones se pueden anidar permitiendo
binario y la lgica, y los resultados de find-estados separados pueden fusionarse permitiendo
binario OR lgica.
Modelado Basado en Agentes en el simulador soporta dos formas de relaciones geogrficas
entre agentes: la geografa de dos dimensiones y la geografa de la red. Los agentes pueden
dar una posicin fsica dentro del plano. Su posicin puede consultarse o utilizarse como un
selector (por ejemplo, las funciones FINDNEAREST o FINDFURTHEST para seleccionar
agentes que son, respectivamente, cerca o lejos de un objetivo determinado) y la posicin
tambin puede ser modificado (por ejemplo, movimiento o funciones MOVETOWARDS). Con
respecto a la geometra de la red, cada agente puede tener una o ms conexiones a otros
agentes. Cada conexin es binario y puede ser consultada o modificada como la simulacin
progresa (por ejemplo, con el CONNECT o funciones FINDCONNECTED).
5.2.2.3. Entorno de programacin imperativa
El lenguaje del motor ecuacin es un lenguaje de programacin imperativo. Este lenguaje se
usar generalmente para escribir ecuaciones matemticas elementales. Tambin puede ser
usado para implementar algoritmos o modelo lgico que no caben dentro de los paradigmas de
modelado basado en agentes de Dinmica de Sistemas o. Estas funciones personalizadas y
cdigo desarrollado utilizando el entorno imperativo pueden aumentar la Dinmica de Sistemas
o entornos de modelado basado en agentes, proporcionando una funcionalidad adicional
dentro de ellos. Por ejemplo, una funcin podra ser definida en el entorno imprescindible para
llevar a cabo algn algoritmo numrico y que la funcin se convertir automticamente
disponibles para uso por las ecuaciones en los otros entornos.
5.3. Tier 3
El tercer nivel consiste en el modelo en s, junto con las herramientas y servicios que operan en
un determinado modelo. Tres herramientas primarias son ofrecidos por el simulador: un
optimizador que maximiza o minimiza un objetivo, una herramienta de prueba de la
sensibilidad, y una API que se puede utilizar para el comportamiento del modelo de la escritura
o analizar los resultados del modelo.
5.3.1. Optimizer
El simulador incluye un optimizador para determinar el conjunto de valores de parmetros que
minimizar o maximizar una funcin objetivo. El usuario especifica la funcin objetivo, los
parmetros que deben ser ajustados y los intervalos respectivos de estos parmetros. El
optimizador explora el espacio de parmetros especificados en la bsqueda del conjunto de
parmetros que se logra el objetivo. El estudio de los mtodos de optimizacin es un amplio,
campo multidisciplinar con numerosas tcnicas y enfoques disponibles.Optimizaciones de los
modelos especificados por el usuario arbitrarias en el simulador son, sin embargo, limitado por
tres caractersticas principales:

Funciones objetivo no convexos: Aunque algunos modelos y optimizacin de tareas
asociadas pueden dar lugar a problemas de optimizacin convexa, en general, se debe
asumir que el espacio de parmetros para un modelo determinado tiene mnimos
locales mltiples.

No lisas funciones objetivo: Dado el uso de funciones lgicas en un modelo (por
ejemplo, las declaraciones if-then-else), es muy posible que la funcin objetivo de tener
discontinuidades agudas.Incluso sin el uso de tales funciones, los lmites numricos del
motor de matemticas de punto flotante podran crear discontinuidades en escala fina.

No se utilizan derivados de anlisis: Aunque los derivados o matriz hessiana en un
punto dado en el espacio de parmetros se pueden estimar numricamente,
generalmente es imposible calcular directamente.
Una amplia clase de tcnicas que se utilizan para tratar este tipo de problemas de optimizacin
que se conoce como "bsqueda directa" mtodos [21] , [22] y [23] . Esta categora comprende
los mtodos que no dependen de las diferencias, como la clsica bsqueda Nelder-Mead
simplex [24] , los algoritmos genticos[25] y el recocido simulado [26] . Existen comparaciones
publicadas entre las tcnicas (por ejemplo [27] );Sin embargo, los resultados suelen ser
dependiente del contexto y varan de una aplicacin. Para el simulador, una forma de
bsqueda directa basada en el mtodo de Powell [28] se lleva a cabo.
En pocas palabras, el mtodo de Powell toma un punto de partida inicial y un conjunto de
vectores de bsqueda que abarcan todo el espacio de parmetros. La funcin objetivo se
evala en el punto de partida.Luego, para cada vector de bsqueda el objetivo es, a su vez
evala en una nueva posicin que es un tamao de paso de bsqueda dado en la direccin
positiva a lo largo de ese vector y, si no se encuentra una solucin mejorada, posteriormente
en la direccin negativa. Tan pronto como se identifica una solucin mejorada, el centro de la
bsqueda se traslada a lo largo de dicho vector de bsqueda a una distancia dos veces el
tamao de paso de bsqueda (el supuesto optimista es que si una mejora se encuentra en una
direccin, la solucin continuar para mejorar si el optimizador contina en esa
direccin). Despus de que se complete una iteracin completa a travs de todos los vectores
de bsqueda, un vector de bsqueda combinada se construye como un compuesto a partir de
todos los movimientos que se tomaron en esa iteracin. Esta bsqueda de vectores de material
compuesto a continuacin, reemplaza uno de los vectores existentes en el conjunto de
vectores de la bsqueda. Si no se hizo ningn movimiento, el tamao de paso se reduce o la
bsqueda puede ser terminada de acuerdo con una condicin de parada.
Tenga en cuenta que el algoritmo de bsqueda como se describe es puramente
determinista. El algoritmo encontrar un solo valor mnimo que, si existen varios mnimos,
puede o no ser el mnimo global. Muchas de las tcnicas de optimizacin de abordar este
problema mediante la introduccin de la estocasticidad en el proceso de optimizacin (por
ejemplo, el recocido simulado o algoritmos genticos). Teniendo en cuenta los problemas
convexas, tales estocasticidad puede, sin embargo, reducir la eficiencia en la bsqueda de la
mnima. Como tal, el simulador utiliza el algoritmo determinista tal como se describe, pero se
ocupa de los mnimos locales ofreciendo ubicaciones de partida al azar para el patrn de
bsqueda. Por ejemplo, dado un problema de optimizacin donde los mnimos locales se
conocen ni esperan de existir, el optimizador podra ejecutar diez veces, cada vez a partir de
una ubicacin aleatoria diferente. Si todas las secuencias de diez optimizacin convergen a la
misma mnimo, es altamente probable que se haya encontrado el mnimo global. Si todas las
secuencias de diez optimizacin convergen hasta los mnimos por separado, y luego poca
evidencia hay que concluir que el mnimo global ha sido localizado.
5.3.2. Las pruebas de sensibilidad
Herramienta de prueba de sensibilidad del simulador se ejecuta repetidamente una simulacin
y agregados resultados. Puede mostrar el resultado agregado por el trazado de los resultados
de cada carrera o un promedio de las carreras y el clculo de su distribucin. La herramienta
de sensibilidad de la prueba tiene varios casos de uso general:

Promedio de las respuestas y las varianzas de los modelos estocsticos: Dada una
modificacin en los valores de los parmetros de un modelo, la mayora de los modelos
se exhiben una trayectoria cambiante de los resultados. Para los modelos estocsticos,
puede ser difcil determinar cuando los cambios en la trayectoria fueron causadas por
las modificaciones de los parmetros y cuando los cambios fueron causados por la
estocasticidad inherente del modelo. La herramienta de pruebas de sensibilidad
permite la simulacin para ejecutar muchas veces y se promediaron los resultados de
estimar numricamente una respuesta independiente de las variaciones estocsticas.

Barridos de parmetros: Parmetros barridos pueden determinar la respuesta del
modelo a una gama de diferentes valores de los parmetros. Pueden ser tiles para
explorar el comportamiento del modelo, y la herramienta de la sensibilidad de pruebas
pueden automatizar el proceso de esta exploracin.

Incertidumbre en los valores de los parmetros: valores de los parmetros del modelo
son a menudo conocidos con certeza limitada. Los datos utilizados para estimar las
mismas pueden ser limitados o en algunos casos inexistente. Herramienta de la
sensibilidad de pruebas del simulador permite la formulacin de un modelo de
probabilidad para definir la incertidumbre para uno o ms parmetros y luego obtener
una estimacin numrica de la distribucin resultante de los resultados dada esta
incertidumbre. Esta forma de anlisis se recomienda como parte del proceso de
validacin de modelos y la verificacin para determinar si los resultados del modelo y
las conclusiones son robustas a la incertidumbre paramtrica [29] y [30] . El simulador
incluye un conjunto de funciones para generar nmeros aleatorios de acuerdo con una
gama de distribuciones comunes (por ejemplo, la distribucin normal, la distribucin
uniforme, y la distribucin logartmica normal, entre otros) para modelar la
incertidumbre de conocimiento acerca de un parmetro. La simulacin se repite
entonces, cada vez que el muestreo de un conjunto de unos valores de los parmetros
de sus distribuciones. Este mtodo de Monte Carlo permite la propagacin de la
incertidumbre de los valores de los parmetros para los resultados.
5.3.3. API / scripting
El simulador incluye una API que se puede utilizar para construir modelos de programacin y
analizar sus resultados. El API se implementa en ECMAScript y hay varios mecanismos por los
que se puede acceder.La ms bsica es a travs de una primitiva especial llamado Button que
se puede agregar al modelo. Cuando un usuario pulsa un botn primitiva, se ejecutan el cdigo
asociado y comandos API. Otro mecanismo que se puede utilizar para acceder a la API es la
consola del navegador que permite a los usuarios introducir directamente los comandos de la
API de una manera interactiva.
La gama de funciones de la API incluye las de la construccin del modelo (por ejemplo
CREATEPRIMITIVE o SetValue), que para el estilo del modelo (por ejemplo SETLINECOLOR
o SetSize), los de la ejecucin del modelo (RUNMODEL), y los comandos de entrada y salida
(por ejemplo showData o PROMPT ). Como los comandos se ejecutan en ECMAScript,
cualquiera de las funciones de anlisis de datos de ECMAScript o de comunicacin estndar
puede, por supuesto, tambin ser utilizado. Estas capacidades permiten a los modelos de
guiones a, por ejemplo, datos de parmetros descarga desde un servidor externo sobre la
marcha, correr el modelo, analizar los resultados y / o cargar el resumen de resultados a otro
servidor.
6. Integracin y portabilidad
Dado el uso de tecnologas web estndar (HTML, CSS y ECMAScript) por las interfaces de
construccin del simulador y de modelo, estos aspectos de la aplicacin son porttiles y se
pueden instalar en cualquier entorno compatible con renderizado y visualizacin de pginas
web. El uso ms comn de esta capacidad es el despliegue de contenido dentro de otras
pginas web. Modelos construidos dentro de Insight Maker puede ser embebido dentro de las
pginas web externas y pueden conservar la plena interactividad dentro de estos ambientes
externos. Usuarios incrustacin modelos tambin pueden aprovechar la API del simulador para
desarrollar una interfaz de usuario personalizada para un modelo y simulacin. Estas interfaces
de usuario personalizadas se pueden utilizar para desarrollar "juegos serios" (por
ejemplo, [31] , un juego de explorar el conflicto entre Israel y Palestina) o "simuladores de
vuelo" (por ejemplo, [32] y [33] para los debates de los simuladores de vuelo en relacin con
gestin de la educacin y la formacin).
7. Validacin y verificacin
Aunque el proceso de desarrollo de la aplicacin no se sigue el ensayo de enfoques tales como
Test Driven Development [34] , un conjunto automatizado de pruebas internas tiene un papel
clave para asegurar el comportamiento de simulacin adecuado y la prevencin de las
regresiones. Una extensa gama de ms de 1.000 pruebas individuales es parte del simulador
que evala exhaustivamente la correccin de todos los aspectos de la conducta del
simulador. Las pruebas van desde lo trivial (no el motor ecuacin evala correctamente que 2 +
2 es igual a 4?) Para las pruebas agregadas a nivel superior (no un modelo dado que contiene
mltiples ecuaciones primitivas y evaluar el resultado correcto?). Las pruebas se escriben
como una nueva funcionalidad se aade al programa y tambin en respuesta a los informes de
problemas de los usuarios. Cuando se encuentra un problema, el problema se ha corregido
primero y luego una prueba de la emisin est escrito para asegurarse de que no vuelve a
aparecer en una regresin despus. El desarrollo de este conjunto de pruebas ha demostrado
ser invaluable para asegurar el buen funcionamiento de la herramienta.
8. Estudio de caso
8.1. Visin de conjunto
Para ilustrar el uso aplicado de la herramienta, un estudio de caso se presenta en el cual
Insight Maker fue utilizado por un grupo de laicos, como parte de un proceso de desarrollo de
modelos de colaboracin para explorar el impacto de las polticas econmicas. Teniendo en
cuenta el objetivo principal de Insight Maker en la accesibilidad y la colaboracin -
especialmente entre los laicos - este ejemplo es muy adecuado para ilustrar las fortalezas y
debilidades en el logro de este objetivo principal de Insight Maker. El caso de estudio es una
revisin del trabajo realizado por un grupo ad-hoc formado bajo los auspicios del Pensamiento
Sistmico Mundial [35] , una organizacin sin fines de lucro enfocada en la exploracin de la
aplicacin prctica y la realizacin de sistemas de pensamiento, un enfoque holstico para el
anlisis y la la resolucin de problemas que se centra en la comprensin de las relaciones e
interacciones entre los componentes de un sistema. Fuera de la organizacin ms grande,
quince laicos organizados para comprender mejor la crisis financiera 2007-2008 y sus
consecuencias mediante un enfoque basado en el modelado.
El grupo utiliza Insight Maker para este modelado debido a su conjunto de caractersticas y la
naturaleza basada en la web, que les permite compartir modelos fcilmente. Esta ltima
capacidad era crtica para el grupo en que estaban dispersos geogrficamente y toda su
comunicacin y coordinacin se produjeron a travs de Internet. En las siguientes secciones
del estudio de caso, presentamos en primer lugar el proceso del grupo de modelado, a
continuacin, los detalles de su modelo final, y el ltimo, explorar los resultados y
conclusiones. Mientras que el estudio de caso slo utiliza una parte de las caractersticas de
Insight Maker (que no hace uso de las caractersticas de modelado basado en agentes, el
optimizador, o la herramienta de prueba de sensibilidad, por ejemplo), que habla de la
accesibilidad y las posibilidades de colaboracin de Insight Hacedor que , como se subray
anteriormente, es el propsito principal de la herramienta.
8.2. Proceso de modelado
El grupo se organiz no jerrquicamente. Despus de la formacin, el progreso del grupo
sigui un "divergente / convergente" patrn. Los miembros del grupo podran
independientemente investigar o estudiar un tema antes de regresar y compartir sus
conclusiones con el resto del grupo, a su vez, hacer frente a lo que el resto del grupo se haba
producido en ese perodo. El grupo encontr que este protocolo sea altamente efectiva; tanto
es as que en el perodo de casi siete meses de su trabajo tuvo, no haba ni una sola reunin
del grupo entre los miembros. Despus de haber desarrollado algunos modelos docena, el
grupo descubri un modelo del sector de la economa desarrollada por Stephanie Kelton,
director del Departamento de Economa de la Universidad de Missouri-Kansas City [36] . Este
modelo tena un impacto profundo en el pensamiento del grupo y en los tres meses restantes
de la labor del grupo, que tom este modelo base y experiment con las modificaciones a la
misma.
8.3. Detalles del modelo
La versin final de la inversin del Grupo en comparacin con el modelo de austeridad se
presenta en la figura. 6 .
4
Esta cifra representa un modelo de valores y el flujo combinado con
una serie de botones que los usuarios pueden utilizar para ejecutar diferentes escenarios o
desplegar el modelo en un revelador estructurada de los componentes clave del modelo. El
modelo es una representacin conceptual de la economa de una nacin. Debido a que la
mayora de los miembros del grupo se encontraban en los Estados Unidos de Amrica, el
grupo utiliz el trmino "dlares" para representar unidades monetarias. Sin embargo, el
modelo no fue calibrado para representar una economa especfica y en cambio se centra en
las dinmicas generalizadas. No hay ni una moneda especfica asociada con el modelo y, por
tanto, el trmino "dlares" como se usa aqu se refiere a dlares nominales. Las primitivas
rectangulares en el diagrama de modelo representan las existencias. Por ejemplo, la firma de
dlares social representa la cantidad de dinero actualmente en manos de las empresas de la
economa. Las lneas continuas son los flujos y en este modelo de caso el movimiento de
dlares entre las distintas poblaciones de la economa. La direccin de la flecha indica la
direccin del flujo. Los valos son variables que en este modelo se utiliza principalmente para
representar los parmetros del modelo.

Higo. 6.
Diagrama esquemtico de la versin final de la inversin frente al modelo de austeridad. Las acciones
estn representadas por rectngulos; las variables de valos; y fluye por las lneas slidas. Los
rectngulos sombreados de la izquierda son botones interactivos aadidos por los modelistas.
Opciones Figura
Tabla 5 muestra el despliegue del modelo, junto con las descripciones de las conexiones
principales del modelo y la lgica detrs de estas conexiones.
Tabla 5.
Despliegue de la inversin en comparacin con el modelo de austeridad.

Esta primera conexin se basa en la perspectiva
simplificada que el gasto del gobierno inyecta
dinero en la economa a travs de las compras de
las empresas.Mientras que el gobierno inyecta
dinero en la economa a travs de otras corrientes,
tales como Medicare, Medicaid y el Seguro
Social; las compras de las empresas fueron
utilizadas como una primera aproximacin a cmo
el dinero entra en la economa por parte del
Gobierno

Este segundo flujo representa el hecho de que las
empresas emplean a los miembros del hogar para
producir los bienes y servicios adquiridos por las
empresas. Las empresas no compran servicios con
la totalidad de sus fondos como algunos se utilizan
para pagar los impuestos y otras se guardan y se
distribuyen a los accionistas cuando sea apropiado

Esta parte del modelo representa el hecho de que
las familias crean la demanda para las empresas,
aunque los fondos que tienen para las compras
son menos de sus ingresos como parte de los
fondos se guardan ( hsave ), algunos se utilizan
para pagar los impuestos ( htax ) y algunos de sus
los fondos se utilizan para comprar las
importaciones ( mpmt ), que crea una demanda en
dlares del comercio

Estos flujos representan el hecho de que algunos
de los dlares de los hogares se utilizan para hacer
las compras al exterior resultantes de las
importaciones ( pmt importacin ). Al mismo
tiempo, los gobiernos extranjeros, las empresas y
los individuos compran a las empresas del pas, lo
que se traduce en la exportacin pagados con los
pagos por exportacin

Estos flujos agregados representan 'el pago de
impuestos (empresas f-impositivos ) en sus
beneficios y de los hogares los pagos de impuestos
( htax ). Ambos de estos impuestos representan
ingresos para el gobierno y se utilizan para apoyar
el gasto del gobierno ( G-gasto ).Cuando los
ingresos del gobierno es menor que el gasto del
gobierno, se produce un dficit. La acumulacin de
este gasto deficitario con el tiempo se representa
como la deuda nacional

Estos flujos indican que los hogares tienden a
ahorrar una parte de sus ingresos ( hsave ) para su
uso futuro. Esto reduce los fondos que gastan en
compras de empresas.Tambin cuando las
empresas mantienen ganancias acumuladas
( FSAVE ), reduce los fondos que tienen
disponibles para comprar mano de obra de los
hogares

Este segmento final del modelo representa el
hecho de que si los hogares requieren fondos
adicionales, que toman prestado de sus ahorros o
de las instituciones financieras (hborrow ). Cuando
las empresas requieren fondos adicionales que les
piden prestado a sus ahorros o de las instituciones
financieras ( fborrow )
Opciones de la tabla
Primitivas de modelo y las ecuaciones se dan en el Apndice A . Un desafo en la aplicacin de
este modelo en Insight Creador era que Insight Hacedor no incluye soporte para guardar
distintas combinaciones de valores de parmetros. Para emular este apoyo, la inversin en
comparacin con el modelo de austeridad hace uso de las capacidades API / scripting de
Insight Maker para desarrollar escenarios y experimentos que se puede cambiar entre los
usuarios finales. Por ejemplo, el cdigo se ilustra en la Tabla 6 se ejecuta cuando un usuario
hace clic en el botn de escenario de "Economa de Semillas" en el modelo. Este cdigo
configura el valor de la gspend variable y luego ejecuta el modelo.
Tabla 6.
Script para configurar un escenario y luego ejecutar el modelo. El findName funcin toma un nombre
primitivo y devuelve una referencia al objeto primitivo con ese nombre. El setValue funcin toma un
objeto primitivo y establece su ecuacin a un valor dado. El runModel funcin inicia una simulacin y
muestra los resultados para el usuario. La ecuacin pasa a setValueresultados en una salida de
impulsos que es 0 hasta t = 1 ao y luego es de 0,5 para los prximos 3 aos antes de convertirse 0
nuevo despus de t = 4 aos.
setValue ( findName ("gspend"), "Pulso (1, 0.5, 3)");
runModel ();
Opciones de la tabla
8.4. Simulaciones y resultados
Una serie de experimentos de simulacin y escenarios fueron manejadas por el grupo con
diferentes valores y configuraciones de parmetros con el fin de comprender mejor el
comportamiento de la economa de modelado. Tabla 7 se enumeran los escenarios principales
desarrolladas por el grupo. Cada escenario se defini por un modelo de parametrizacin que se
diferenciaba de los otros escenarios, lo que conduce a comportamientos diferentes. La
comparacin de los comportamientos entre estos escenarios mayor comprensin modeladores
'de la economa simulada. La columna de la izquierda muestra el nombre del escenario y la
motivacin, la segunda columna indica la ecuacin cambia que se hicieron para el modelo para
implementar el escenario, y la tercera columna se enumeran los principales resultados de
ejecutar el escenario. Las sustituciones en cada escenario de nuevas ecuaciones para un
primitivo que se utilizan en lugar de la ecuacin del modelo inicial para ese primitivo.
5
Los
reemplazos en cada escenario en la tabla son acumulativos con los escenarios mencionados
anteriormente l. As, por ejemplo, el escenario Econ Recovery tambin incluye las anulaciones
desde el escenario y Ganancias de ahorros.
Tabla 7.
Escenarios principales desarrolladas por el grupo. Las sustituciones en la segunda columna de
implementar los cambios necesarios para explorar las preguntas de la primera columna.
Guin Anulaciones de ecuaciones Principales resultados
Economa Seed - Escenario
Base
gspend = Pulso (1, 0.5, 3)
Gasto deficitario Sets
gobierno para sembrar la
economa con recursos
para cebar la simulacin
Gasto Sets gobierno
(gspend) a un valor distinto
de cero a partir de un ao y
de proceder durante 3
aos.
Para que la economa funcione, el gobierno tiene
que realizar inicialmente el gasto del dficit que se
acumula como la deuda nacional
Ganancias y Ahorros FSAVE = Paso (6, 0,05) Las empresas y los hogares tienden a ahorrar una
parte de sus ingresos, lo que a su vez toma el
dinero de la circulacin lo que resulta en una
disminucin constante en la economa
Cul es la implicacin de
las empresas que se sienta
en los beneficios y el
ahorro de los hogares los
fondos?
hsave = Paso (7, 0.1)
A partir de 6 y 7 aos,
tienen ambas empresas
(FSAVE) y los hogares
(hsave) ahorrar una
fraccin de su capital
Recuperacin Econ gspend = Pulso (1, 0.5, 3) +
Paso (7, 0.15)
Para compensar el ahorro de las empresas y los
hogares, el gobierno debe continuar el gasto de
dficit a un nivel equivalente a lo que las
empresas y los hogares estn sacando de la
economa. El problema es que el gasto deficitario
tambin aumenta la deuda nacional
De qu manera el gasto
deficitario a compensar los
ahorros por las empresas y
los hogares?
Aumentar el gasto pblico
(gspend) ms all del pulso
inicial por el gasto de una
cantidad constante a partir
de 7 aos
Impuestos ftax = Paso (6, 0,05) El gobierno de exigir el pago de los impuestos
reduce el nivel de gasto deficitario, en igualdad de
circunstancias, sino que tambin reduce los
fondos en circulacin bajando de este modo la
economa
Qu efecto tiene el cobro
de impuestos del gobierno
tienen en la economa?
htax = Paso (7, 0.1)
Aadir una carga fiscal
diferente a cero para
ambas empresas (ftax) y los
hogares (htax) de partida
en los aos 6 y 7
Recuperacin Econ 2 gspend = Pulso (1, 0.5, 3) +
Paso (7, 0.2)

Guin Anulaciones de ecuaciones Principales resultados
Cul es el efecto de un
mayor gasto de dficit,
dada la presencia de los
impuestos?
Aumente el nivel de gasto
del gobierno (gspend) ms
all de la del primer nivel
de escenario de
recuperacin Econ
Este escenario aumenta la larga el gasto
deficitario del gobierno en un 33% para corregir el
deterioro econmico creado a partir de la
percepcin de impuestos
Opciones de la tabla
Ejemplo resultados de simulacin para dos de los escenarios se presentan en la figura. 7 . El
panel izquierdo muestra el escenario de Economa de Semillas, donde el gobierno se
compromete gasto deficitario durante unos aos para cebar la economa. La lnea de color
negro slido muestra el gasto adicional del gobierno en funcin de pulso largo de tres aos,
que se traduce en los fondos que circulan entre empresas (lnea discontinua) y los hogares
(lnea de puntos) en un estado de equilibrio. El gasto pblico deficitario acumulado (lnea gris
slido) refleja la deuda nacional. Si nada cambia, el gobierno no tendra que inyectar fondos
adicionales en la economa y los dlares que circulan entre las empresas y los hogares sera
mantener a la economa en un estado de equilibrio. El panel derecho muestra el escenario de
recuperacin Econ ms realista que los ahorros no son cero. Cuando las empresas y los
hogares ahorran una parte de sus ingresos, que en esencia restarlo de la economa. Esta
extraccin reduce los fondos disponibles para las empresas y los hogares para hacer circular
en la economa (de trazos y lneas de puntos). A menos que el gobierno lleva a cabo a
continuacin, el gasto deficitario, la economa se reducir, por definicin, en una recesin y
luego en una depresin. La recuperacin econmica requiere el gasto continuo dficit por parte
del gobierno para compensar los fondos obtenidos por las empresas y los hogares, en igualdad
de circunstancias (por ejemplo, se supone aumentos exgenos en el factor de productividad se
estn produciendo). El dinero puesto en circulacin para garantizar la recuperacin ms se
suma a la deuda nacional (lnea gris slido).

Higo. 7.
Del panel izquierdo, resultados del escenario Economa Semilla; Haga panel, los resultados de los
escenarios de recuperacin Econ. Dlares nocionales es la unidad abstracta de la moneda utilizada
por el grupo en su modelo de una economa general. En consonancia con la Dinmica de Sistemas
comn la prctica de modelado, el grupo se centr en la dinmica y tendencias ms que magnitudes y
valores cuantitativos especficos.
Opciones Figura
Estos hallazgos, junto con todo el proceso de modelado se reunieron con entusiasmo entre los
miembros del grupo. Gene Bellinger, el organizador del grupo, informa que los miembros del
grupo consideraron que ahora entienden mejor cmo funciona la economa. Uno puede
especular que el aumento de la comprensin de la modelo facilitado entre los participantes del
grupo se debi directamente al hecho de que fueron ellos los que construyen en lugar de que
sea un modelo dictada contra ellos por los expertos en la materia.
9. Discusin y conclusiones
Este estudio ha sido complejo y de larga duracin que logra cuatro objetivos principales a la
fecha:
1.
Una herramienta de simulacin y modelado de propsito general fue construido
utilizando tecnologas basadas en web que soporta el modelado multi-paradigma
mediante una interfaz grfica de construccin de modelos.
2.
La herramienta de simulacin y modelado combina ambas caractersticas dirigidas a
los laicos y las personas nuevas en el campo de modelado (por ejemplo, una interfaz
grfica) con los destinados a los usuarios ms avanzados (por ejemplo, la API de
scripting y el conjunto de herramientas de optimizacin) dentro de una interfaz
unificada.
3.
La herramienta fue reiterado basado en la retroalimentacin del usuario y su direccin
fue formada por las necesidades y los problemas que enfrentan los usuarios. Esto
condujo a una evolucin del software que, aunque ahora un poco diferente de la visin
original, mejor responda a las necesidades de la mayora de los usuarios interesados
en el uso de una herramienta general de modelado basado en web.
4.
Uso de la herramienta sigue creciendo, lo que indica la existencia de una necesidad y
el deseo de una herramienta general de modelado basado en la web y la validacin de
la web como una plataforma para el desarrollo de la simulacin compleja y
herramientas de modelado. En febrero de 2014, el software tiene unos 20.000 usuarios
registrados, con ms de 12.000 modelos construidos y guardados en su base de datos.
En el camino, se encontraron con dificultades y puntos de resistencia por parte de los usuarios
en el desarrollo de la aplicacin que se deriva de su naturaleza utilizando tecnologas basadas
en Internet. Cuatro desafos claves han sido:
1.
Seguridad de la propiedad intelectual: Los modelos se almacenan en un servidor
centralizado que no est controlado por los usuarios.
6
Para la mayora de los usuarios
esto es aceptable (y ellos tienen la capacidad de copia de seguridad del modelo de su
mquina local). Sin embargo, para ciertos usuarios - especialmente aquellos dentro de
un entorno corporativo - la falta de control sobre el modelo puede ser visto como un
riesgo de seguridad. Aunque Insight Hacedor incorpora ajustes de grano fino para
controlar el acceso de modelo, el hecho de que el modelo se almacena en un servidor
externo hizo inadecuado para algunos usuarios potenciales.
2.
Rendimiento: tecnologas basadas en la Web estn fundamentalmente limitados en el
rendimiento que pueden obtener en comparacin con sus homlogos desarrollados en
lenguajes ms tradicionales.Dicho esto, el rendimiento de Insight Maker es bastante
bueno en la prctica y ms que adecuado para sus principales casos de uso de
destino.
3.
La falta de familiaridad de los ambientes basados en la Web: Muchos usuarios en la
actualidad no se siente cmodo usando una simulacin y una herramienta de
modelado dentro de su navegador web. Se espera que esto cambie ya que la gente se
familiarice con el uso de aplicaciones ricas en navegadores.Esta tendencia se vio
histricamente con clientes de correo electrnico donde los clientes una vez Escritorio
eran la norma, pero ahora los clientes basados en web son ubicuos.
4.
Percepcin de calidad de las aplicaciones: Un ltimo reto se centra en la percepcin de
que las aplicaciones basadas en la Web son inferiores a sus contrapartes de
escritorio. En el caso de la herramienta de modelado y simulacin presentada aqu, es
en algunos aspectos superior en las capacidades y caractersticas para incluso
homlogos comerciales. Sin embargo, el estigma y la experiencia de las aplicaciones
web restrictivos que los usuarios puedan haber estado en contacto con en el pasado es
difcil de superar. De nuevo, esto es una dificultad que se espera que disminuya con el
tiempo ya que los usuarios se familiaricen con las aplicaciones basadas en web
interactivas de alta calidad.
A pesar de los desafos, herramientas de modelado y simulacin desarrollados utilizando
tecnologas basadas en Internet tienen un futuro claramente positivo. La solicitud se presenta
en este documento demuestra las posibilidades de crear amplias herramientas de modelado y
simulacin en un entorno basado en la Web. Dada la mejora constante de las tecnologas web,
las posibilidades disponibles para construir este tipo de aplicaciones no har sino crecer con el
tiempo. Los beneficios que se ofrecen a los desarrolladores el uso de tecnologas basadas en
la web - aumentaron la accesibilidad, la capacidad de impulsar cambios a los usuarios de forma
inmediata, un rico conjunto de herramientas de las bibliotecas de cdigo abierto, etc - estn
empezando a ser mayores que los costos de las tecnologas basadas en la Web, en casos
distintos de los donde el rendimiento es el factor clave. No es difcil imaginar un futuro en el que
las tecnologas basadas en la Web son la plataforma principal para el desarrollo de
herramientas de simulacin y fuera de la de las aplicaciones crticas de desempeo modelar.
Agradecimientos
Este trabajo fue apoyado por un nmero de Ciencia Nacional de los Estados Unidos Beca de la
FundacinDGE 1.106.400 . Los dos revisores annimos se les agradece por sus comentarios y
numerosas sugerencias que mejoraron en gran medida este papel. Un reconocimiento especial
se debe dar a los usuarios de Insight Maker y la retroalimentacin invaluable que han aportado
que ha dado forma a su evolucin, en particular, Gene Bellinger y Geoff McDonnell. Grandes
gracias se le da al grupo que desarroll la inversin en comparacin con el modelo de
austeridad se describe en el estudio de caso, y para Gene Bellinger para organizar y animar al
grupo.
Apndice A
Este apndice presenta el conjunto completo de ecuaciones utilizadas en la inversin en
comparacin con el modelo de austeridad y sus valores teniendo en cuenta la aplicacin de los
escenarios. Nombres primitivos pueden aparecer dentro de mltiples ecuaciones, si la misma
primitiva est referenciada mltiples veces.Esto se ve, por ejemplo, cuando se aplica el efecto
de los impuestos. La fraccin del capital pagado en firme de impuestos - ftax - se utiliza para
calcular tanto cunto se paga al gobierno por las empresas y cunto es consecuencia
disponibles para el ahorro de las empresas. Las siguientes funciones y notaciones Maker
Insight se utilizaron en el modelo:
Paso (inicio, Altura) : Devuelve 0 hasta t = Start , despus de lo cual vuelve Altura .
Pulso (inicio, alto, ancho) : Devuelve 0 hasta t = Start y despus de t = Start + Ancho . En medio de estos
lmites, devuelve Altura .
INTEGRAR (Ecuacin) : Se integra la ecuacin diferencial por el mtodo de la integracin y el paso de tiempo
especificado para el modelo. Esto no est escrito dentro de Insight Maker, sin embargo, se incluye aqu para
dejar en claro el proceso de integracin se lleva a cabo durante la simulacin. Se aplica slo a las existencias.
Opciones de la tabla
Completo ecuaciones del modelo:
Nombre
primitivo
Descripcin Valor inicial / ecuacin (escenarios
pueden cambiar las ecuaciones)
fborrow Fraccin de f-finanzas dlares prestados 0
FSAVE Fraccin de dlares despus de impuestos firmes
guardan
Paso (6, 0,05)
ftax Fraccin del impuesto pagado por la firma Paso (6, 0,05)
gspend Variable utilizada para alterar el gasto
gubernamental durante la ejecucin de la
simulacin
Pulso (1, 0.5, 3) + Paso (7, 0.15)
hborrow Fraccin de las finanzas del hogar ( h-
finanzas dlares) prestados
0
hsave Fraccin de los ingresos del hogar guardado Paso (7, 0.1)
htax Fraccin del ingreso familiar pagado en impuestos Paso (7, 0.1)
mpmt Fraccin de dlares del hogar gastados en bienes y
servicios importados
0
XPMT Fraccin de dlares comerciales que se traducen
en dlares en firme de los bienes y servicios
exportados
0
pmt Los pagos de las exportaciones 0
Nombre
primitivo
Descripcin Valor inicial / ecuacin (escenarios
pueden cambiar las ecuaciones)
exportacin
dlares f-
finanzas
Equilibrio entre el ahorro menos firmes del hogar
y de las inversiones para el hogar y la empresa
INTEGRAR ([f-save] - [f-prstamo])
Valor t 0 = 0
dlares firmes Los fondos disponibles de los pagos a la
exportacin, los pagos de artculos del hogar, y las
inversiones que estn disponibles para el pago de
entrada y los ahorros
INTEGRAR ([f-prstamo] - [PMT f-
entrada] - [salvar f-] - [f de impuestos]
+ [g-gasto] + [pmt exportacin] + [PMT
h de bienes])
Valor t 0 = 0
dlares del
gobierno
Diferencia entre el gasto pblico y la recaudacin
fiscal
INTEGRAR ([f de impuestos] + [h de
impuestos] - [g-gasto])
Valor t 0 = 0
dlares h-
finanzas
Equilibrio entre el ahorro menos firmes del hogar
y de las inversiones para el hogar y la empresa
INTEGRAR ([h-save] - [h-prstamo])
Valor t 0 = 0
dlares para el
hogar
Los fondos disponibles para el gasto de los
hogares
INTEGRAR ([PMT f-entrada] + [h-
prstamo] - [h-save] - [h de impuestos]
- [PMT h de bienes] - [pmt
importacin])
Valor t 0 = 0
dlares de
comercio
Diferencia entre los pagos de importaciones y los
pagos a la exportacin
INTEGRAR ([pmt importacin] - [pmt
exportacin])
Valor t 0 = 0
f-Obtencin de
Prstamos
Los fondos prestados como inversin [dlares f-finanzas] * [fborrow]
PMT f-entrada Introducir pagos en firme. Se trata de insumos
menos ahorros en firme
[dlares firmes] * (1 - [FSAVE])
f-save Porcin de dlares de la firma utiliza para pagar la
deuda o de las utilidades retenidas
[dlares firmes] * [FSAVE] * (1 - [ftax])
f de impuestos Firma impuestos pagados sobre las utilidades
retenidas
[dlares firmes] * [FSAVE] * [ftax]
g-gasto Los fondos inyectados en la economa por parte
del gobierno. Esto es como las compras directas,
apoyo a los programas, y programas sociales
[Gspend]
Nombre
primitivo
Descripcin Valor inicial / ecuacin (escenarios
pueden cambiar las ecuaciones)
h-Obtencin
de Prstamos
Los fondos prestados para complementar dlares
de gasto de los hogares
[dlares h-finanzas] * [hborrow]
PMT h de
bienes
Gasto de los hogares productores de la
demanda. Este es el hogar de dlares menos
impuestos para el hogar y ahorro
[Dlares domsticos] * (1 - [hsave] -
[htax] - [mpmt])
h-save Porcin de dlares de los hogares utiliza para
pagar la deuda o se guarda
[Dlares del hogar] * [hsave]
h de impuestos Impuestos para el hogar [Dlares del hogar] * [htax]
pmt
importacin
Los pagos de las importaciones 0
Opciones de la tabla
Referencias