martes, 6 de diciembre de 2011

Manual práctico de Stella


Stella


Stella es un programa de simulación por computadora, que proporciona un marco de referencia y una interfase gráfica de usuario para la observación e interacción cuantitativa de las variables de un sistema.
La interfase se puede utilizar para describir y analizar sistemas biológicos, físicos, químicos o sociales muy complejos. Complejidad que se puede representar muy bien, con sólo 4 elementos o bloques de construcción: stock, flujo, conector y convertidor


Stock: Es un símbolo genérico para cualquier cosa que acumula o consume recursos. Por ejemplo. Agua acumulada en una tina de baño. En cualquier tiempo, la cantidad de agua en la tina refleja la acumulación del agua que fluye desde la llave, menos lo que fluye hacía el drenaje. La cantidad de agua es una medida del stock de agua.
Flujo: Un flujo es la tasa de cambio de un stock. En el ejemplo de la tina de baño, los flujos son el agua que entra y el agua que sale
Convertidor: Un convertidor se utiliza para tomar datos de entrada y manipularlos para convertir esa entrada en alguna señal de salida. En el ejemplo de la tina de baño, si se toma el control de la llave que vierte el agua al interior, el convertidor toma como entrada esta acción en la llave y convierte la señal en una salida que se refleja en la salida de agua.
Conector: Un conector es una flecha que le permite a la información pasar entre: convertidores; stocks y convertidores; stocks, flujos y convertidores. Un conector cuya dirección va de un convertidor 1 a un convertidor 2 significa que el convertidor 2 es función del convertidor 1. En otras palabras, el convertidor 1 afecta al convertidor 2

El cuadro 1 proporciona ejemplos de variables que se pueden clasificar como stock’s y flujos (entre muchas otras).

STELLA. El entorno de trabajo


Esta herramienta de modelación presenta tres grandes capas:

1. La de “mapeo”, que permite definir valores iniciales de stock’s, flujos o conectores, donde también se muestra una elegante presentación del modelo ya terminado. Se podría considerar la fase de “dibujo” del sistema, donde se definen la estructura y el aspecto que presenta cada componente.

2. La capa de construcción del modelo, que en conjunto con la capa anterior constituyen la verdadera área de trabajo, ya que aquí se definen los valores iniciales de las variables y de las tasas de cambio.



3. La capa de ecuaciones matemáticas utilizadas en el modelo, que el usuario puede evitar si no le interesa mucho la parte matemática del modelo.


Los bloques de construcción son los 4 íconos con los que se construye los diagramas de un sistema.
Las herramientas y objetos permiten posicionar, definir, duplicar y eliminar bloques de construcción en el diagrama.



Para mostrar como se trabaja en el entorno Stella: “navegar” entre las diferentes capas y el uso de cada una de ellas, se desarrolla un ejemplo de ecología.

3.1. Representar la variable población, mediante un bloque de construcción “stock”. Este tipo de variables representa cualquier cosa que se acumula o declina y que puede ser física o conceptual (cuadro 1).               
Para esto, seleccionar el icono de stock ([_]) y hacer un arrastre hacía el centro de la pantallaEl bloque stock tiene el nombre Noname 1, el cual se puede cambiar al dar un clic sobre el nombre y como en cualquier procesador de palabras dar el nombre población. En este momento la población no cambia, ya que no presenta flujos de entrada o salida.

3.2. Agregar un bloque de flujo, en este caso de entrada. Seleccionar el icono de flujo ( ===> ) dando un clic sobre él. Posicionar el “mouse” a la izquierda del bloque que ya se tiene y hacer un arrastre hasta hacer contacto con dicho bloque (asegurarse que el stock se coloree al contacto).
Si no se hace contacto los dos bloques quedan desconectados, en cuyo caso se recomienda eliminar el flujo con la herramienta “cartucho de dinamita”. Para esto dar un clic sobre esta herramienta (la tercera), después ir al centro del bloque a eliminar y dar un clic, presionado el Mouse hasta que desaparezca.Ponerle el nombre de nacimientos a este flujo.


El flujo consiste de un tubo hueco con una flecha en un extremo y una nube en el otro. El tubo es para representar el acarreo del flujo de materia o de información, estos son regulados por las pequeñas espitas en la parte superior de cada tubo (simbolizado por una estructura en forma de “T”). El círculo colgado al fondo de la espita es el receptáculo para especificar la lógica que deberá regular la posición de la espita y de ahí el volumen del flujo. De manera conjunta, el círculo y la espita controlan la tasa de flujo.
Con respecto a las nubes que se presentan, estas se utilizan para indicar que nada viene o va a parar a las nubes, es una forma de indicarle al modelador que debecuidar los orígenes o destinos del flujo. También sirven para delimitar las fronteras del sistema.
Faltan dos bloques de construcción, el círculo al que se le llama convertidor ya que comúnmente se utiliza para “convertir” cosas que van a entrar de alguna forma. Dependiendo de la señal generada por el convertidor, una espita se puede abrir o cerrar. Y la otra es el conector, que se platicaran conforme aparezcan en la modelación.

3. Definir las relaciones algebraicas del modelo. Como ya se dijo, en STELLA hay dos formas de visualizar un modelo: en el modo de mapeo (dibujo) y en el de datos. Para cambiar de modo basta con dar un clic sobre el “globo” o sobre la χ2 como un “switch”. Arriba de estos símbolos se encuentran unas flechas (hacia arriba y hacia abajo), que permiten “navegar” entre las diferentes capas o niveles de Stella.
Al dar clic sobre el globo aparece la siguiente pantalla
Se debe notar el signo ? en el stock y en el flujo. Esto indica que no se han dado valores iniciales o que no se han definido las correspondientes relaciones matemáticas. Para esto se debe establecer el escenario a modelar. Para este ejemplo se propone una pequeña ciudad con 5000 habitantes, donde cada año, por lo menos en los últimos años, nacen unos 150 niños al año. La tarea es estimar que le sucede a esta población en los siguientes años.
Dar un doble-clic sobre el flujo nacimientos, con lo que aparece la siguiente caja de diálogo.
En la esquina superior izquierda se tiene el nombre del flujo, después aparece la opción para hacer el flujo bi-direccional (por default, estos son unidireccionales). Algunos autores consideran buena práctica manejar todos los flujos como bidireccionales, lo que garantiza que no se tomen valores negativos en el flujo (en este ejemplo, es absurdo pensar en nacimientos negativos).

En el lado izquierdo al centro se tiene una lista titulada Required Inputs. Que contiene una lista de los elementos que se pueden utilizar en la ecuación (en esta caso todavía esta vacía). Al centro se tiene una calculadora que permite ingresar números u operadores aritméticos para generar ecuaciones, aunque también se puede hacer con el teclado. A la derecha de la calculadora se tiene una lista de funciones (simples o complejas), Builtins, que se pueden utilizar en la definición de ecuaciones.
Al fondo se tiene una caja de diálogo para definir la ecuación de este flujo. En este ejemplo se “teclea” el valor de 150.

Dar un clic sobre el botón Document, para que aparezca un campo texto donde se puede documentar el flujo, de manera que otros puedan seguir la lógica de modelación.
Después de hacer esto desaparece el signo de interrogación, lo que indica que la variable o flujo están definidos.
Considerar, ahora, la variable población, para esto dar un doble clic sobre ella, para que aparezca la siguiente pantalla.Es importante notar la diferencia con relación al diálogo del flujo. En la parte superior hay una lista de los posibles tipos de stock, los tres últimos son variaciones del primer tipo. La opción Non-negative obliga a que la variable tome valores positivos o cero. Luego se tiene la lista Allowable Inputs que lista las variables que se pueden o no utilizar en la definición de los valores iniciales del stock.

Al fondo de la pantalla se tiene una caja de diálogo que solicita el valor inicial del stock (no se pide una ecuación como en el flujo). Los stocks solo pueden cambiar por flujos de entrada o salida. En este caso se tiene un valor inicial de 5000. Entonces hay que dar el valor de 5000, también se puede (o se debe) documentar la definición dando un clic sobre el Document.
Cuando ya no se tienen signos ? el modelo está listo para “correr”. Sin olvidarse de generar un bloque donde se “vean” los resultados, en este caso seleccionar el icono de gráficos y “ponerlo” en el área de trabajo. Una vez que se tiene el gráfico dar un doble clic sobre él para editar sus opciones, apareciendo la siguiente pantalla.

En la caja de la izquierda aparece una lista de todas las variables en el modelo. La caja de la derecha contiene todas las variables que se hayan seleccionado para incluir en el gráfico. Las variables se pueden mover fácilmente de Allowable a Selected, ya sea con un doble clic o seleccionando la variable y dando un clic sobre el botón de las flechas de dirección. También se le puede dar un título al gráfico, en la caja Title.
El modelo ahora está listo para “correr”. Para esto, dar un clic sobre el “corredor” de la esquina inferior izquierda de la ventana de trabajo y luego seleccionar el botón “play”.

Como resultado aparece la siguiente gráfica


Se observa que nacimientos es representados con el número 1 es constante, en un valor de 150, mientras que la población crece de manera constante, aparentemente sin límite. Entonces, hace falta una variable de salida, para lo cual se le agrega al modelo un flujo que salga del stock población.







No hay comentarios:

Publicar un comentario en la entrada