Proposta de Comunicación + Demostración para o 3º Simposium de Evora.

 

Título: Desarrollo de una herramienta software de modelado matemático.

 

AUTORES:

Emilio Garcia Rosello, Dpt. Linguaxes e Sist. Informáticos, Univ. De Vigo

Rosa Barciela Fernández, Dpt. Ecoloxía e Bioloxía animal, Univ. De Vigo

Emilio Fernández Suárez, Dpt. Ecoloxía e Bioloxía animal, Univ. De Vigo

 

INSTITUCIÓN: UNIVERSIDADE DE VIGO

 

Desarrollo de una herramienta software de modelado matemático.

Autores:

Emilio García Roselló, Dpt. Linguaxes e Sistemas Informáticos, Univ. De Vigo

Rosa Barciela Fernández, Dpt. Ecoloxía e Bioloxía animal, Univ. De Vigo

Emilio Fernández Suarez, Dpt. Ecoloxía e Bioloxía animal, Univ. De Vigo

 

Tipo de traballo: Comunicación + demostración de software

 

  1. RESUMO

El desarrollo de modelos matemáticos es una aproximación ampliamente utilizada con el fin de analizar, comprender y predecir el funcionamiento de cualquier sistema en función de las condiciones que rigen su dinámica. En las últimas décadas, el nivel de desarrollo de estos modelos ha evolucionado de forma paralela al nivel de conocimiento de los procesos que los rigen y sobre todo, han alcanzado una gran popularidad en disciplinas tales como la biología, la ecología, la física, la química y la economía.

Debido al creciente interés en el desarrollo de este tipo de modelos se planteó la realización de un software orientado al modelado práctico en el campo de la ecología, aunque potencialmente aplicable a cualquier otra disciplina.

Existen precedentes en el desarrollo de software dedicado al modelado de procesos ecológicos tanto a nivel científico y de investigación, por ejemplo el paquete Ecowin (Ferreira, 1995) como a nivel académico (Ewell, 1989).

Nuestro software, que denominaremos Model-Lab, se basa en un interfaz gráfico que permite definir los componentes del modelo y los flujos entre ellos (nivel conceptual); se soporta además la definición de modelos jerarquizados, cuyos componentes se presentan como una unidad que a un nivel inferior se subdivide, a su vez, en varios subcomponentes. Posteriormente, se refinará esta implementación conceptual, introduciendo en cada componente las ecuaciones que definen su funcionamiento dentro del sistema (modelo funcional). Model-Lab permite evaluar este modelo para obtener así una serie temporal de datos, representable gráficamente, que muestra el funcionamiento del modelo, y ofrece también una serie de facilidades para analizar el modelo, mediante la modificación de parámetros, comparación de varias salidas sucesivas, introducción de condiciones a detectar, etc...

Las primeras experiencias prácticas y docentes con Model-Lab permiten concluir que esta herramienta se podría encuadrar como una herramienta de modelado polivalente, especialmente amigable, y útil tanto en el campo académico como investigador.

 

 

Referencias

Evans, G. T y Fasham, M. J. R. (eds.) (1993). Towards a Model of Ocean Biogeochemical Processes. NATO ASI SERIES, Vol 1 10. Springer-Verlag, Berlin.

 

Ewell, K. C. (1989). Learning to simulate ecological models on a microcomputer. Ecol. Model. 47: 7-17.

 

Ferreira, J. G. (1995). ECOWIN – an object-oriented ecological model for aquiatic ecosystems. Ecol. Model. 79: 21-34.

 

Odum, E. P. (1985). Fundamentos de ecología. Editorial Interamericana, México.

 

Sequeira, R. A., Olson, R. L. y McKinion, J. M. (1997). Implementing generic, object-oriented models in biology. Ecol. Model. 94: 17-31.

 

Sequeira, R. A., Sharpe, P. J. H., Stone, N. D., El-Zik, K. M. y Makela, M. E. (1991). Object.oriented simulation: plant growth and discrete organ to organ interactions. Ecol. Model. 58: 55-89.

 

 

Comunicación:

Desarrollo de una herramienta software de modelado matemático.

Emilio Garcia Rosello, Dpt. Linguaxes e Sist. Informáticos, Univ. De Vigo

Rosa Barciela Fernández, Dpt. Ecoloxía e Bioloxía animal, Univ. De Vigo

Emilio Fernández Suárez, Dpt. Ecoloxía e Bioloxía animal, Univ. De Vigo

 

  1. Introducción
  2. El desarrollo de modelos matemáticos es una aproximación ampliamente utilizada con el fin de analizar, comprender y predecir el funcionamiento de cualquier sistema en función de las condiciones que rigen su dinámica. En las últimas décadas, el nivel de desarrollo de estos modelos ha evolucionado de forma paralela al nivel de conocimiento de los procesos que los rigen y sobre todo, han alcanzado una gran popularidad en disciplinas tales como la biología, la ecología, la física, la química y la economía.

    Debido al creciente interés en el desarrollo de este tipo de modelos se planteó la realización de un software orientado al modelado práctico en el campo de la ecología, aunque potencialmente aplicable a cualquier otra disciplina. Dada la facilidad de manejo del software desarrollado, esta herramienta no se encuentra exclusivamente limitada al uso científico sino que también puede ser utilizada en el desarrollo de prácticas de modelado integradas en cursos avanzados de licenciatura, puesto que no es necesario tener experiencia previa en el campo de la informática.

    La herramienta, que denominaremos Model-Lab, nació orientada a la realización de prácticas de modelado ecológico en la licenciatura de Ciencias del mar. Esta necesidad surge del hecho de que en las últimas décadas, el nivel de conocimiento sobre los procesos ecológicos que suceden en el medio marino ha avanzado notablemente, y paralelo a éste ha surgido el interés por el desarrollo de modelos matemáticos como herramienta para describir y predecir el efecto de los cambios ambientales sobre, por ejemplo, las concentraciones y flujos de elementos biogeoquímicamente importantes en el océano, especialmente el carbono (Evans y Fasham, 1993). Son numerosos los modelos construidos con la finalidad de analizar la dinámica del sistema planctónico en el océano. A menudo, los sistemas planctónicos se describen mediante modelos conceptuales de compartimentos, donde cada uno de estos compartimentos representa un nivel trófico o un grupo taxonómico y las interacciones entre ellos se expresan mediante los flujos establecidos entre los mismos (Odum, 1985). Existen precedentes en el desarrollo de software dedicado al modelado de procesos ecológicos tanto a nivel científico y de investigación, por ejemplo el paquete Ecowin (Ferreira, 1995) como a nivel académico (Ewell, 1989).

    Por otro lado, y dado el extensivo uso de modelos matemáticos en esta y otras ramas de la ciencia, como la física, la química, etc..., existen también algunas herramientas de modelado más o menos polivalentes, como StelaÔ o Simulink-MatlabÔ .

    Model-Lab se podría encuadrar como una herramienta de modelado polivalente, especialmente pensada para resultar sencilla de utilizar, y útil tanto en el campo académico como investigador.

     

  3. Objetivos

Los objetivos que se plantearon fueron los siguientes:

 

  1. Características o propiedades de Model-Lab

Se tuvieron muy en cuenta los trabajos que apuntan al uso de técnicas orientadas a objetos en el diseño e implementación de modelos matemáticos en ordenador, sobre todo, en lo que se refiere a modelos relacionados con la biología y la ecología. Sequeira et al. (1991, 1997) describieron una serie de pasos que deben seguirse para el desarrollo de modelos orientados a objetos. A continuación se describe como la herramienta desarrollada cubre las fases descritas por dichos autores:

 

  1. Identificación de los componentes del sistema.

Una vez identificados dichos componentes, Model-Lab permite el desarrollo conceptual del modelo mediante la creación de los componentes correspondientes y de las relaciones y flujos que se establecen entre ellos. Model-Lab permite la creación de tres tipos básicos de componentes:

 

  1. Fuentes

Representaran elementos, normalmente externos al modelo, que proporcionan información pero en los que el modelo no va influir. Típicamente en modelos biológicos, estos compartimentos representarán el entorno fisico, o en los modelos físico-químicos las condiciones iniciales del modelo.

  1. Elementos de proceso
  2. Representarán todo elemento del modelo involucrado en algún proceso de almacenamiento o transformación, por ejemplo, un organismo vivo o un reactor químico.

  3. Módulos

Este componente permite diseñar un modelo a distintos niveles de complejidad, ya que un módulo aparece a un nivel superior como un solo componente pero a un nivel inferior se descompone en una serie de componentes. Esto permite reducir la complejidad del diseño al poder estructurar el modelo jerárquicamente.

 

  1. Inclusion de estos componentes en una jerarquia logica
  2. Esta fase será cubierta con la inclusión en el diseño del modelo de módulos que permitan jerarquizar el diseño, del modo explicado anteriormente.

     

  3. Determinacion de las respuestas fundamentales de los componentes a su entorno y a otros componentes.
  4. Esta fase supondrá la introdución de la funcionalidad que rige el comportamiento de cada componente dentro del modelo, lo que se hace mediante la definición de los parámetros y ecuaciones como parte de cada uno de los componentes. Cada componente puede contener cualquier número de parámetros y ecuaciones. Cualquier variable perteneciente a un componente puede ser utilizada como parte de una ecuación de otro componente si en el modelo conceptual se ha establecido relación entre ambos y si dicha variable se ha declarado como visible desde otros componentes del modelo. Esta última característica permite la ocultación de variables que deben ser internas a un componente impidiendo el acceso desde otros.

     

  5. Definir los estados en el que los componentes (objetos) pueden existir y como los estados pueden cambiar.
  6. Esta fase estaría cubierta parcialmente por la definición de las ecuaciones, aunque no se soporta la creación o destrucción dinámica de componentes.

     

  7. Determinar como y cuando se comunican los componentes entre sí.
  8. Esta fase se cubre parcialmente con la implementación de las ecuaciones y con la ya descrita la posibilidad de incluir las variables de unos componentes dentro de las ecuaciones que rigen el funcionamiento de los otros componentes.

     

  9. Codificación del modelo en un lenguaje de ordenador.
  10. Esta fase se obvia puesto que una vez diseñado el modelo e incluidas las ecuaciones, la herramienta ya es capaz de evaluar numéricamente la respuesta funcional del modelo sin necesidad de ningún tipo de codificación adicional.

     

    Tras estas fases que conducen al dieño de un modelo, podríamos añadir las siguentes fases, que también se cubren en buena parte con nuestra herramienta:

     

  11. Evaluación numérica del modelo
  12. Model-Lab realiza una interpretación matemática de las ecuaciones introducidas de forma iterativa permitiendo obtener así una salida numérica de la evolución temporal del modelo.

    También se proporciona una salida gráfica que permite observar de forma más rápida y efectiva el comportamiento de las variables del modelo.

     

  13. Ajuste de los parámetros del modelo.
  14. A menudo en un modelo se han de realizar variaciones de distintos párametros para conseguir un mejor ajuste de la respuesta del modelo. Para facilitar esta tarea se dispone de una pantalla que permite acceder directamente a todos los parámetros definidos dentro de los componentes del modelo, en vez de tener que localizarlos a través de los componentes.

    Para facilitar la evaluación de los cambios producidos en el modelo como respuesta a la modificación de algún parámetro, se permite la comparación de datos históricos con los datos actuales.

     

  15. Validación del modelo con datos reales.

En muchos casos se deseará comparar la salida del modelo con datos obtenidos de forma empírica o también la inclusión de datos empíricos como variables del modelo. Cualquiera de estas dos funcionalidades se cubre mediante la posibilidad de definir una variable asociada a un fichero de datos, de forma que esa variable tomará su valor de los datos almacenados en dicho fichero.

 

 

  1. Implementación de la herramienta.

Se establecieron dos directivas fundamentales que debían seguirse en el desarrollo de esta herramienta:

 

El análisis de la aplicación a diseñar se basó en el estudio de las fases de diseño de un modelo y de los elementos típicos que intervienen en un modelo, tal y como se detalló anteriormente.

Basándonos en este análisis de los pasos básicos del diseño y construcción de modelos, desarrollamos una especificación de la interfaz de usuario que debería tener nuestra herramienta:

Básicamente la herramienta se desarrolló en tres grandes módulos:

 

    1. Módulo de diseño.

El módulo de diseño del modelo se encarga de gestionar la interfaz de diseño gráfico. El usuario puede crear visualmente los componentes del modelo, así como establecer las conexiones entre ellos, que pueden ser unidireccionales o bidireccionales. Estas conexiones permitirán que un componente acceda a las variables de otro al que esté conectado.

Dentro de este módulo de diseño también existe un editor de componentes, que permite modificar las características de éstos (tipo, descripción...), y permite introducir las variables que definen su funcionamiento. Existen tres tipos básicos de variables:

La sintaxis de las expresiones matemáticas es similar a la empleada en otros productos como Lotus 1-2-3ä o Microsoft Excelä , reduciendo así la curva de aprendizaje para aquellos usuarios que ya conozcan alguno de estos sistemas.

También dentro del módulo de diseño se permite determinar de forma gráfica el orden de evaluación de los componentes, así como el de las ecuaciones dentro de un componente del modelo. Así mismo, se han implementado los procedimientos que permiten cargar y almacenar modelos en disco, y también una ventana que permite acceder de forma rápida a todos los y parámetros del modelo y modificar sus valores; esta es una funcionalidad muy empleada a la hora de ajustar los modelos o evaluar su sensibilidad.

Existe la posibilidad de asociar una variable a un fichero de datos, posibilitando la integración de datos provenientes de otras fuentes (normalmente empíricos) en el modelo.

Cuando se crea un nuevo modelo, el sistema introduce automáticamente tres componentes en el modelo; ninguno de los tres es visible, a diferencia de los que añada el usuario, aunque sí son accesibles. Son:

 

Para facilitar un entendimiento visual de la estructura del modelo, éste se puede presentar en forma de árbol, desde el que se puede acceder a cualquier componente, y ver los niveles de detalle en los que se subdividen los módulos.

 

    1. El módulo de evaluación del modelo.
    2. Este módulo es el encargado de evaluar matemáticamente el modelo y de obtener resultados numéricos a partir de las ecuaciones que lo componen. Su lógica es relativamente sencilla: evalúa cada componente, y dentro de cada componente, cada una de las ecuaciones de éste. Una vez acaba de evaluar todos los componentes del modelo, si no se cumple ninguna de las condiciones de parada, vuelve a empezar de nuevo, iterando de esta forma el modelo hasta que se cumpla una condición de parada (el usuario también puede detener el proceso a voluntad).

       

    3. El módulo de salida de datos.

El módulo de salida de datos se compone de dos elementos diferenciados: la salida numérica y la salida gráfica. La primera presenta los datos en forma de tabla, permitiendo copiarlos y pegarlos en otra aplicación o volcarlos a un fichero en ASCII.

 

 

Con las prestaciones descritas, se han cubierto prácticamente todas las fases de la construcción de modelos desde el diseño conceptual de éste hasta la fase de análisis de sensibilidad y validación.

 

  1. CONCLUSIONES
  2. El desarrollo de este tipo de software presenta grandes ventajas en términos de construccion de modelos, extensibilidad de los mismos y adaptación a todo tipo de circunstancias. La primera de ellas está en el apoyo que proporciona en el modelado conceptual y en la facilidad para describir comportamientos tanto a nivel individual como jerárquico, a un mínimo coste en términos de diseño y sin necesidad de programación. Cada uno de los compartimentos se construye a medida del propio usuario y el enfoque del modelo puede modificarse simplemente añadiendo o adaptando los diferentes objetos de un modelo básico.

    Por tanto, este tipo de herramientas permite diversificar las distintas fuentes de los procesos de conocimiento involucrados en el modelado de ecosistemas reales, procesos que, por naturaleza, deben ser interdisciplinares.

    Además, ha demostrado ser una herramienta de gran utilidad en el ámbito académico, para facilitar la comprensión y la realización de prácticas por parte de los estudiantes de ciencias relacionadas con la biología y la ecología, disciplinas éstas donde está introduciéndose la modelización de sistemas como un conocimiento necesario, pero que hasta el momento adolece de herramientas útiles y asequibles para la realización de prácticas que ofrezcan a los estudiantes la posibilidad de conocer de forma más directa qué es y como funciona un modelo.

    Gracias a la posibilidad de jerarquizar su construcción, se salva de forma bastante eficaz la complejidad que alcanzaría un modelo si debiera construirse definiendo todos sus componentes a un mismo nivel.

     

  3. Agradecimientos

Este software ha sido desarrollado como parte de un proyecto de innovación educativa financiado por el Vicerrectorado de Innovación Educativa de la Universidad de Vigo.

 

Bibliografía

Evans, G. T y Fasham, M. J. R. (eds.) (1993). Towards a Model of Ocean Biogeochemical Processes. NATO ASI SERIES, Vol 1 10. Springer-Verlag, Berlin.

 

Ewell, K. C. (1989). Learning to simulate ecological models on a microcomputer. Ecol. Model. 47: 7-17.

 

Ferreira, J. G. (1995). ECOWIN – an object-oriented ecological model for aquiatic ecosystems. Ecol. Model. 79: 21-34.

 

Odum, E. P. (1985). Fundamentos de ecología. Editorial Interamericana, México.

 

Sequeira, R. A., Olson, R. L. y McKinion, J. M. (1997). Implementing generic, object-oriented models in biology. Ecol. Model. 94: 17-31.

 

Sequeira, R. A., Sharpe, P. J. H., Stone, N. D., El-Zik, K. M. y Makela, M. E. (1991). Object.oriented simulation: plant growth and discrete organ to organ interactions. Ecol. Model. 58: 55-89.