introducción - microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales...

20
En este libro se va a ilustrar mediante ejemplos cómo modelar y simular sistemas empleando la metodología de Modelado Orientado a Objetos (MOO) mediante la herramienta Eco- simPro. El concepto sistema tiene múltiples acepciones, aunque en el contexto de este libro se va a utilizar para denotar un objeto o una colección de objetos cuyas propiedades se quie- ren estudiar, con la finalidad de utilizarlo para análisis, diseño, control, mejora de su ren- dimiento y/o de su conocimiento, etc. Con esta definición tan amplia, la mayoría de los objetos, o colecciones de ellos, en nuestro entorno serían sistemas: una población de indivi- duos que compiten por la comida, una pelota rebotando, un circuito eléctrico, un intercam- biador de calor, dos depósitos acoplados, etc. La mayoría de las propiedades de los sistemas sólo puede inferirse mediante la experimen- tación, que además permitirá responder a preguntas sobre el comportamiento dinámico y está- tico de los mismos. La anterior definición de sistema conduce a la del término experimento: EcosimPro y los lenguajes de MOO Capítulo 1 1.1 Introducción Un experimento es el proceso de extraer datos de un sistema mediante excitación de sus entradas. Por lo tanto, experimentar con un sistema consiste en aplicar un conjunto de condiciones externas a sus entradas y observar la reacción que éstas producen en sus salidas. Sin embargo, no siempre es posible realizar experimentos con sistemas reales, por diversos motivos, por lo que hay que recurrir a otras técnicas. Con el fin de poder evitar algunos de estos problemas, se recurre al modelado. Por modelado se entiende el estudio de los mecanismos internos de los sistemas, que

Upload: others

Post on 21-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

En este libro se va a ilustrar mediante ejemplos cómo modelar y simular sistemas empleando la metodología de Modelado Orientado a Objetos (MOO) mediante la herramienta Eco-simPro. El concepto sistema tiene múltiples acepciones, aunque en el contexto de este libro se va a utilizar para denotar un objeto o una colección de objetos cuyas propiedades se quie-ren estudiar, con la finalidad de utilizarlo para análisis, diseño, control, mejora de su ren-dimiento y/o de su conocimiento, etc. Con esta definición tan amplia, la mayoría de los objetos, o colecciones de ellos, en nuestro entorno serían sistemas: una población de indivi-duos que compiten por la comida, una pelota rebotando, un circuito eléctrico, un intercam-biador de calor, dos depósitos acoplados, etc.

La mayoría de las propiedades de los sistemas sólo puede inferirse mediante la experimen-tación, que además permitirá responder a preguntas sobre el comportamiento dinámico y está-tico de los mismos. La anterior definición de sistema conduce a la del término experimento:

EcosimPro y los lenguajes

de MOO

Capítulo

1

1.1 Introducción

Un experimento es el proceso de extraer datos de un sistema mediante excitación de sus entradas.

Por lo tanto, experimentar con un sistema consiste en aplicar un conjunto de condiciones externas a sus entradas y observar la reacción que éstas producen en sus salidas. Sin embargo, no siempre es posible realizar experimentos con sistemas reales, por diversos motivos, por lo que hay que recurrir a otras técnicas. Con el fin de poder evitar algunos de estos problemas, se recurre al modelado. Por modelado se entiende el estudio de los mecanismos internos de los sistemas, que

Page 2: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

2 Introducción al modelado y simulación con EcosimPro

se obtiene mediante la utilización de leyes físicas y sus relaciones. A partir de las definiciones pre-vias de sistema y experimento, se puede definir ahora lo que significa el término modelo:

Un modelo (M) para un sistema (S) y un experimento (E) es todo a lo que puede aplicarse E para obtener respuestas de S.

Una simulación es un experimento (E) realizado sobre un modelo (M).

Como puede verse, la anterior definición no implica que un modelo tenga que codifi-carse necesariamente en un ordenador, aunque en este libro será la forma habitual en la que aparecerán los modelos.

Por otra parte, la simulación es el proceso por el que el conocimiento del comportamiento de un sistema físico es obtenido a partir de la observación de la conducta de un modelo que lo representa. Teniendo en cuenta las definiciones anteriores, se puede decir que:

Al igual que anteriormente, esta definición no implica que la simulación se lleve a cabo necesariamente mediante una computadora (ejemplos de esto son un túnel de viento o una maqueta de madera de un barco), aunque serán este subconjunto de simulaciones (las simulaciones matemáticas) las únicas que se tratarán en las siguiente líneas. Debe quedar clara la separación existente entre los conceptos de simulación y de modelado, tratados como si fuesen un solo concepto en el lenguaje profano. La simulación es una forma poco costosa y segura de experimentar con el sistema, pero cuyos resultados dependen de la bondad del modelo, es decir, de su dominio de validez, que indica el conjunto de experimentos para los que el modelo es útil. Se verá posteriormente que EcosimPro hace uso perfectamente de esta separación de conceptos.

El uso de técnicas de modelado y simulación puede justificarse para comprobar y opti-mizar el diseño de un sistema antes de su construcción, ayudar a evitar costosos errores de diseño, garantizar la seguridad, aumentar la calidad, reducir el coste del producto, etc. Ejem-plos cotidianos de áreas de aplicación son:

•   Técnica e ingeniería: diseño de coches, diseño de aviones, comunicaciones, energía, procesos químicos, procesos productivos, control, robótica, CAD, diagnósticos de fallos, electrónica, etc.

•   Ciencia: procesos biológicos, crecimiento celular, sistema nervioso, evolución de los medicamentos en el organismo, propagación y control de enfermedades, física de la atmósfera, astronomía, hidrodinámica, etc.

•   Humanidades y ciencias sociales: economía, agricultura y alimentación, recursos natu-rales, banca, política, dinámica de poblaciones, procesos de aprendizaje, movimientos migratorios, comportamiento humano, etc.

Una caracterización de la confianza de la simulación se puede representar mediante una especie de arco iris (de Karplus) como el de la Figura 1.1. En él se muestran varias de las aplicaciones del modelado y simulación de sistemas. Las áreas más oscuras indicarían los sistemas más difíciles de modelar. Otras áreas de conocimiento que no se representan, como termología, hidráulica neumática, etc., estarían entre los sistemas mecánicos y los químicos.

Page 3: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

Capítulo 1 • EcosimPro y los lenguajes de MOO 3

A lo largo de los siguientes capítulos se describirán algunos ejemplos de modelado y simulación con sistemas de los diferentes ámbitos mostrados en el arco iris anterior. Lógica-mente, se elegirán ejemplos de la derecha del arco iris.

Arco iris de Karplus.

Circuito caótico con diodo tipo Chua, simulado con EcosimPro.

Figura 1.1

Figura 1.2

A continuación se indican algunas situaciones en las que el modelado y la simulación son herramientas muy útiles para resolver problemas en ciencia e ingeniería:

•   El sistema físico no está disponible. La simulación se realiza para determinar si se debe construir un sistema proyectado. Esta aplicación se usa mucho en ingeniería: diseño de circuitos electrónicos, motores, estructuras, etc.

Page 4: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

4 Introducción al modelado y simulación con EcosimPro

•   El experimento puede ser peligroso como, por ejemplo, los llevados a cabo en el pilo-taje de prototipos de aviones, cohetes, etc.

Dinámicas peligrosas (fotos cortesía de es.wikipedia.org).

Planta de tratamiento de aguas. La Golondrina (Córdoba, España).

Modelo de la planta de tratamiento de aguas de La Golondrina (Córdoba, España) realizado con EcosimPro.

Figura 1.3

Figura 1.4

Figura 1.5

•   El coste de la experimentación es muy alto, ya sea por el alto coste de los equipos de medición o porque, simplemente, el sistema no pueda detenerse, como el caso de las plantas energéticas, las de tratamiento de aguas, los procesos biológicos, etc.

Page 5: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

Capítulo 1 • EcosimPro y los lenguajes de MOO 5

•   Las constantes de tiempo del sistema son incompatibles con las del experimentador. Mediante simulación se puede acelerar (proceso astronómicos) o retardar (explosio-nes) los experimentos según convenga.

Dinámicas muy rápidas (combustiones) o muy lentas (dinámicas astronómicas). Imágenes de es.wikipedia.org.

Principales componentes del sistema de propulsión eléctrica del SMART-1.

Figura 1.6

Figura 1.7

•   Las variables de control, variables de estado o parámetros del sistema pueden no ser accesibles. En estos casos la simulación permite acceder a todas las variables que tiene en cuenta del modelo, incluso fuera del rango admisible por el sistema físico.

•   Otras razones pueden ser la supresión de las perturbaciones, inevitables en los sistemas reales, la supresión de efectos de segundo orden, como no linealidades, etc. En estos ca-sos la simulación permite aislar los efectos particulares y tener una mejor comprensión del sistema.

Un ejemplo de modelado de sistemas reales en EcosimPro es la simulación de la sonda lunar SMART-1, el primer vehículo espacial europeo que empleó un sistema primario de propulsión eléctrica (EPS). En la siguiente figura se muestra un esquema de los componen-tes reales que forman este proceso: propulsor, unidad de procesamiento de energía, panel de control de presión y tanque de Xenón.

Page 6: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

6 Introducción al modelado y simulación con EcosimPro

La representación de este sistema en EcosimPro es la siguiente:

Programa de simulación del EPS que incluye el modelo de funcionamiento de la unidad de control de presión así como otros componentes de EcosimPro.

Resultados de la simulación del SMART-1

Figura 1.8

Figura 1.9

La siguiente figura muestra el comportamiento del sistema:

Page 7: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

Capítulo 1 • EcosimPro y los lenguajes de MOO 7

La mayor parte de este libro trata de cómo construir modelos de sistemas físicos reales me-diante EcosimPro. Antes de empezar la construcción de un modelo hay que recurrir a una de las dos fuentes de conocimiento de las propiedades de los sistemas. Una es la recopila-ción de la experiencia de los expertos y de la literatura del área en cuestión. La otra fuente es el sistema en sí mismo. Observaciones del sistema y experimentos con él son la base de todas las descripciones de sus propiedades. Por tanto, existen dos principios básicos y bastan-te diferentes para la construcción de modelos:

•   Modelado físico: consiste en descomponer el sistema en subsistemas con propieda-des conocidas. Para sistemas técnicos se utilizan las leyes naturales que los describen, obtenidas de la experiencia y de la literatura del área en cuestión, teniendo que in-troducir, en muchas ocasiones, hipótesis que los simplifiquen. Como características fundamentales de los modelos obtenidos de esta forma se pueden citar su amplio dominio de validez, la posibilidad de incorporación de los mecanismos básicos de funcionamiento, la dificultad de su obtención y la necesidad de la experiencia y el co-nocimiento de los sistemas bajo estudio. La mayoría de los ejemplos de los siguientes capítulos se basan en esta fuente de obtención de modelos.

•   Identificación: el otro principio básico consiste en usar las observaciones de los sistemas para conseguir fijar las propiedades del modelo a las del sistema. En general se usa como complemento del método anterior. Entre sus características generales se encuentran las siguientes: generan normalmente modelos lineales, no se hacen hipó-tesis previas, no se tienen en cuenta los mecanismos internos del sistema y se basan solamente en datos experimentales de entrada-salida (el sistema es considerado una caja negra).

Identificación de un intercambiador de calor.

Figura 1.10

1.2 Tipos de modelos

Page 8: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

8 Introducción al modelado y simulación con EcosimPro

Se pueden establecer distintos criterios a la hora de clasificar los diferentes tipos de modelos matemáticos. Sin embargo, el criterio de clasificación más útil, para los fines que persigue este libro, es el que distingue las cuatro categorías siguientes:

1) Modelos de tiempo continuo: la Figura 1.11 muestra cómo una variable cambia a lo largo del tiempo en un modelo de tiempo continuo.

Respuesta de un modelo en tiempo continuo.

Figura 1.11

De esta forma, los modelos de este tipo están representados por conjuntos de ecuaciones diferenciales. De entre los modelos de tiempo continuo se pueden distinguir dos categorías distintas:

•   Modelos de parámetros concentrados. Están descritos por ecuaciones diferenciales ordinarias (EDO u ODE, según acrónimo del castellano o del inglés), en general de la forma

x f (x, u, t) (1.1)

y con el caso especial para sistemas lineales de

x Ax Bu (1.2)

o también mediante ecuaciones diferenciales algebraicas (EDA o DAE)

f (x, x’,u, t) 0 (1.3)

g(x, u, t) 0

•   Modelos de parámetros distribuidos. Están descritos por ecuaciones en derivadas par-ciales (EDP) tales como la ecuación de difusión

∂∂

∂∂

ut

u

x s

2

2 (1.4)

Los modelos de tiempo continuo se caracterizan porque en intervalos finitos de tiempo, las va-riables de estado cambian sus valores infinitas veces.

Page 9: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

Capítulo 1 • EcosimPro y los lenguajes de MOO 9

2) Modelos de tiempo discreto: la Figura 1.12 muestra la trayectoria exhibida por un modelo de tiempo discreto.

Los modelos de tiempo discreto se caracterizan porque las variables sólo pueden cambiar en determinados instantes de tiempo.

Respuesta de un modelo en tiempo discreto.

Figura 1.12

En estos modelos, por tanto, el eje temporal se discretiza. Se representan común-mente por ecuaciones en diferencias (EDif), al menos cuando la discretización está espaciada de forma equidistante, tales como la siguiente:

xk1 f (xk, uk, tk) (1.5)

Los modelos de tiempo discreto se utilizan frecuentemente en ingeniería, sobre todo en sistemas controlados por computadora. Si una computadora se utiliza en un lazo de control, este último no puede llevarse a cabo de forma continua, porque la generación de la señal de control precisa de un tiempo determinado. De esta forma se discretiza el eje temporal, normalmente en intervalos equidistantes. Si este método se utiliza para controlar un sistema que es por sí mismo continuo (como es normal-mente el caso) se habla de sistemas de control muestreados.

Los modelos de tiempo discreto pueden ser también versiones discretizadas de sistemas continuos. Este es un hecho bastante común. Por ejemplo, si se discretiza el eje temporal de un modelo en el espacio de variables de estado de la Ecuación (1.1) con un intervalo de discretización t, la derivada del estado será

x x

tf x u tk k

k k k

21 ( ), ,

o también xk1 xk t f (xk, uk, tk) (1.6)

que proporciona un modelo discreto. De hecho cuando se utiliza un ordenador para simular un modelo continuo, realmente se tiene que discretizar el eje de los tiempos para evitar el problema de los infinitos cambios antes comentados.

Page 10: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

10 Introducción al modelado y simulación con EcosimPro

3) Modelos cualitativos: son, en realidad, modelos discretos, aunque con la discreti-zación del eje temporal no necesariamente equidistante. La Figura 1.13 muestra una trayectoria seguida por un modelo de esta categoría.

Respuesta de un modelo cualitativo.

Respuesta de un modelo de eventos discretos.

Figura 1.13

Figura 1.14

4) Modelos de sucesos o eventos discretos: en éstos, tanto el eje temporal como el eje de estado son continuos, pero difieren de los modelos de tiempo continuo en que sólo puede ocurrir un número finito de cambios. La siguiente figura muestra una trayectoria típica.

Dentro de este tipo se incluyen los modelos de colas de cajas en grandes almacenes, determinados procesos de fabricación, la llegada de los coches a un peaje, etc. Este tipo de modelos requiere de grandes dosis de matemática estadística.

En capítulos posteriores se describirán modelos híbridos que incluyen comportamientos mixtos, ya que incluyen una parte continua, otra discreta, y además, sus variables pueden cambiar ante determinados eventos.

Page 11: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

Capítulo 1 • EcosimPro y los lenguajes de MOO 11

Los lenguajes de simulación han evolucionado desde la emulación de las calculadoras ana-lógicas hacia la simulación digital, que dio comienzo con la resolución numérica de con-juntos de ecuaciones diferenciales (EDO), como los de la Ecuación (1.1). La mayoría de los algoritmos de integración numérica se diseñaron para resolver este tipo de problema de variables de estado.

Posteriormente se reconoció que la misma ecuación podía reaparecer en varias ecua-ciones de estado, y que sería más eficiente, desde un punto de vista computacional, reasignar estas expresiones a variables (algebraicas) auxiliares. De esta forma, los modelos en variables de estado tomaron una nueva forma:

x f (x, z, u, t) (1.7)

z g(x, z, u, t)

siendo z el conjunto de variables auxiliares que implicaban una restricción adicional. A este conjunto se les denomina EDA en español o DAE en inglés, definidas en el apartado anterior.

Además, se dotó a algunos lenguajes de “ordenadores de ecuaciones” que permitían al usuario especificar el conjunto de ecuaciones en una secuencia arbitraria. Esto dio paso a una evolución de los entornos de simulación que trataron de incluir cierta “inteligencia” de forma que se evitara tener que escribir el modelo con un conjunto de ecuaciones con la causalidad asignada de antemano, y de forma que dichas ecuaciones sean lo más parecidas posible al plan-teamiento natural del problema. De esta forma surgió el paradigma del Modelado Orientado a Objetos (MOO). Esta metodología se apoyó, como se verá en el Capítulo 5, en avances de diferentes materias: el tratamiento simbólico de ecuaciones, la resolución numérica de DAE y, cómo no, en el desarrollo de los lenguajes de programación orientados a objetos.

El concepto del modelado orientado a objetos (MOO) es relativamente reciente, sur-giendo prácticamente en la década de los noventa. Las ventajas de utilizar esta metodología en la programación clásica para resolver problemas de media y alta complejidad están más que demostradas, como se tratará de justificar en capítulos posteriores, aunque para ello se elegirán ejemplos de muy baja complejidad. En estas páginas se comentarán las característi-cas comunes de estos ejemplos, particularizadas en una de las herramientas de programación orientada a objetos. Esta herramienta se llama EcosimPro y ha sido desarrollada por la em-presa Empresarios Agrupados Internacional S.A.

Los entornos orientados a objetos presentan ciertas características propias, debidas a su nueva filosofía de trabajo que se resumen a continuación, con ayuda de la Figura 1.15.

En primer lugar, los MOO han heredado las características propias de los lenguajes de programación orientados a objetos (POO), en los cuales se basan, de forma que ha impuesto una nueva visión en la creación de modelos, con una sintaxis que les permite ser más es-tructurados, más flexibles, estar basados en los principios de parametrización, reutilización, instanciación, encapsulación... A esta nueva sintaxis se le dedicará el Capítulo 2, donde se incidirá en aquellos puntos que diferencian este tipo de entornos de los demás.

1.3 Lenguajes de modelado orientado a objetos (MOO)

Page 12: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

12 Introducción al modelado y simulación con EcosimPro

Una vez escrito un modelo, utilizando componentes nuevos, de librerías de texto, de librerías gráficas, heredando propiedades de otros ya implementados, o de cualquiera de las posibilidades que se comentan en el apartado citado en el punto anterior, es necesario ob-tener un conjunto de ecuaciones que representen la dinámica del sistema. En el Capítulo 2 se describirá la realización de modelos (componentes) básicos, en el 3 la creación de librerías de componentes y en el 4 la utilización de las librerías existentes.

Una vez obtenido dicho conjunto de ecuaciones, es necesario disponerlas de una forma secuencial, ya que de esta forma trabaja cualquier entorno de simulación. De esta forma, hay que definir en qué orden se establecen las diferentes ecuaciones, qué incógnita se va a despejar de cada una, cómo se resuelven los posibles lazos algebraicos, etc. Toda esta casuís-tica se revisa en el mismo Capítulo 5, que aborda el tratamiento del modelo, desde su ex-tracción desde la sintaxis del lenguaje de modelado, hasta su preparación para ser ejecutado en un software de simulación (EcosimPro lo incluye dentro del propio entorno de MOO). A este tratamiento, se le denomina generación de una partición.

Las anteriores serán, en general, un conjunto de ecuaciones diferenciales ordinarias, jun-to con una serie de ecuaciones algebraicas, que implican restricciones y relaciones entre va-riables. Éstas requieren de métodos matemáticos de simulación especiales, que se irán viendo a lo largo del Capítulo 5. Con estos métodos se ejecutará cada uno de los experimentos que se realicen con el modelo obtenido en los pasos previos.

Todos estos apartados en los que se descompone la tarea de modelado y simulación en un entorno de MOO no son independientes, por lo que se aclarará cómo cada una de ellos debe resolver la problemática propia y además “preparar el terreno” para resolver problemas de fases posteriores.

Figura 1.15

Diagrama de bloques del proceso de MOO.

Creación de una librería de componentes

Creación de una librería de componentes gráficos

Codificación de puertos, componentes, etc.

Generación de ecuaciones

Generación de una partición

Generación de un experimento

Ejecución de la simulación

Page 13: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

Capítulo 1 • EcosimPro y los lenguajes de MOO 13

La simulación y el modelado orientados a objetos proporcionan las suficientes caracte-rísticas para aumentar la complejidad (encapsulación), habilitan la reutilización de modelos (herencia y agregación), y permiten crear modelos independientes que sean fáciles de man-tener. El desarrollo modular permite a un sistema ser modelado desde abajo hacia arriba, es decir, programando primero los componentes más básicos para, a partir de ellos, ir desarro-llando otros más complejos. Las librerías básicas de componentes se pueden combinar para crear componentes cada vez más complejos utilizando dos métodos:

•   Extensión por herencia, a partir de componentes existentes.

•   Instanciación y conexión de componentes existentes.

Estas ideas se aplican para crear componentes que representen un sistema completo. Los componentes intermedios pueden ser también simulados. Esto reduce ampliamente los tiempos de mantenimiento y desarrollo.

1.3.1 Algunos conceptos de modelado orientado a objetos

Uno de los objetivos del modelado es encapsular la complejidad. Consiste en separar los aspectos externos de los objetos, a los cuales pueden acceder otros objetos, de los detalles internos de la implementación del mismo, que quedan ocultos a los demás. Por ejemplo, un ingeniero puede modelar un problema que consista en cientos de ecuaciones. Aunque el modelo funcione perfectamente, será probablemente difícil de seguir y comprender, e imposible de reutilizar para resolver problemas similares. El MOO (modelado orientado a objetos) hace más fácil la tarea del modelador gracias a la capacidad de abstracción y en-capsulación de datos y comportamientos. Sus elementos principales son los componentes y las librerías. Éstas encapsulan todos los elementos implicados en una disciplina particular, y pueden ser utilizadas por otras librerías. Entre la terminología habitual referida a los com-ponentes se encuentra la siguiente:

Una clase o componente (estas dos son las expresiones utilizadas comúnmente en la sintaxis de los diferentes lenguajes de MOO) es una descripción teórica de una estructura y un comportamiento de un componente físico. Sus ecuaciones dinámicas (en el caso de que existan) y sus eventos discretos (si los hay) son incluidos en esta descripción. Los parámetros, puertos y datos constituyen la parte pública, visible, de un componente. Las variables locales, su topología interna, la inicialización, la parte continua y discreta constituyen la parte pri-vada de un componente. A esta parte privada puede accederse desde un experimento, pero no desde otro componente.

Un objeto es una instanciación de un componente. Se caracteriza por un nombre único (no puede haber dos instancias con el mismo nombre en el mismo ámbito), por algunos atributos (parámetros, puertos y variables) y por un comportamiento.

Un componente abstracto es aquél que no tiene significado real y se utiliza sólo para unir un conjunto de variables, ecuaciones y eventos discretos, que pueden ser heredados por otros. Ofrecen la ventaja de simplificar los componentes hijos utilizando un código ya verificado. En general serán componentes que no tienen instancias directas, pero cuyos componentes hijos sí las poseen.

Page 14: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

14 Introducción al modelado y simulación con EcosimPro

La interfaz de un componente está compuesta por los puertos, o conexiones, los pa-rámetros y los datos. Estos elementos son únicos y son visibles desde fuera, reforzando, de esta manera, la idea de la encapsulación y favoreciendo la reutilización de los componentes. Los componentes se conectan a través de sus puertos. La definición de un puerto incluye las variables de conexión y sus comportamientos y restricciones cuando se conectan a más de un puerto. Definiendo el comportamiento de los puertos, el sistema es capaz de insertar automáticamente varias ecuaciones de conexión, de forma que el usuario no tenga que preocuparse de ellas. Para añadir un nuevo componente, el modelador sólo tiene que pre-ocuparse del comportamiento interno de los componentes, pero no de las ecuaciones de conexión.

La herencia es lo que le da a los lenguajes de modelado orientado a bloques su capacidad para compartir interfaces y comportamientos. En todos los campos de la simulación, cuando se desarrollan muchos componentes, puede observarse que la mayoría comparte bastante de su comportamiento dinámico. Los lenguajes de MOO pueden reunir datos y ecuaciones comunes en unos componentes padres, que serán heredadas por los componentes hijos. Esto permite la creación de librerías basadas en componentes padres con un orden de compleji-dad creciente. Un componente nuevo, el hijo, basado en otro, su padre, incluirá los datos y los comportamientos dinámicos de éste. En los siguientes capítulos se verán varios ejemplos típicos.

La herencia es un mecanismo de compartición de información entre componentes (o clases) mediante la especialización. Un componente A puede definirse como un subcompo-nente del componente B, diciéndose que B es un supercomponente de A. El hijo hereda todos los atributos definidos en su supercomponente, con lo cual puede considerarse como un refinamiento o especialización del concepto general definido en su supercomponente, al cual se le añaden nuevas características propias del subcomponente.

Generalmente, los lenguajes de MOO consideran que si los valores de los atributos de un componente entran en contradicción con los heredados de su supercomponente, prevalecen en la clase los valores locales. Esta propiedad es una forma de parametrización, ya que supone la modificación de algunas de las propiedades para adaptar el modelo a sus diferentes aplica-ciones. Para facilitar este mecanismo en algunos entornos existen las denominadas ecuaciones virtuales, que pueden ser modificadas por la subclase sin que se produzcan conflictos.

Cuando un componente sólo puede tener un único supercomponente se habla de he-rencia simple. En caso de que puedan heredar de más de uno, se denomina herencia múltiple. La mayoría de los lenguajes de MOO permiten este último tipo, es decir que un componente puede heredar datos y comportamientos de uno o más componentes padres, diseñados y depurados previamente. Esta capacidad permite la creación de nuevos componentes reutili-zando partes de otros previamente creados.

El polimorfismo es un concepto ligado estrechamente a la reutilización de modelos. Mo-delos polimórficos son aquéllos que tienen interfaces con estructuras equivalentes y que, además, tienen los mismos grados de libertad, con lo cual pueden ser usados en el mismo contexto e intercambiados sin necesidad de alterar el resto del sistema. Por grados de libertad se entiende la diferencia entre el número de variables internas al modelo y el número de ecuaciones. Frecuentemente los modelos polimórficos poseen un mismo supercomponente en común: aquél en el que se define la interfaz.

Page 15: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

Capítulo 1 • EcosimPro y los lenguajes de MOO 15

La agregación es una forma fuerte de asociación, en la cual el objeto está formado por componentes. En los lenguajes de MOO todos los elementos de modelado son compo-nentes. Como se acaba de describir, un componente puede heredar de otro u otros y puede tener múltiples instancias o copias de otros internamente. Este hecho refuerza la caracte-rística de la reutilización, ya que permite a los componentes ser creados a partir de otros ya desarrollados. Este paradigma se aplica de forma iterativa y sin límites. La complejidad de un componente final puede estar oculta por esta agregación de instancias internas a otros componentes ya comprobados.

La abstracción consiste en centrarse en los aspectos esenciales inherentes a una entidad e ignorar sus propiedades accidentales. En el desarrollo de un modelo esto significa centrarse en sus características, lo que es y lo que hace, antes de decidir cómo debería implementar- se. La abstracción es un modo de afrontar el problema de la complejidad de los sistemas de grandes proporciones, al posibilitar que varios especialistas puedan trabajar independiente-mente en diferentes partes del modelo del sistema sin tener que conocer todos los detalles del resto del mismo. Una forma de facilitar la abstracción consiste en diferenciar, en cada parte del modelo, entre la interfaz y la descripción interna.

Las librerías son los elementos básicos con los que los lenguajes de MOO organizan la información que manipulan. El propósito básico de una librería es almacenar un conjunto de elementos relacionados entre sí. EcosimPro incluye varias librerías básicas que pueden ser modificadas por el usuario. La potencia de un entorno está en el número y la calidad de sus librerías. Además de mantener la tarea de modelado bien organizada, las librerías proporcio-nan al entorno de modelado otros servicios como:

•   Comprobar elementos obsoletos (componentes, puertos, datos, etc.) que deben re-compilarse.

•   Encapsular los elementos, permitiendo a diferentes librerías contener elementos con el mismo nombre.

En la Figura 1.17 aparece un ejemplo donde se muestra el esquema de una central hidroeléctrica, modelada con EcosimPro a partir del modelado previo de sus elementos individuales.

Así, en una primera fase, deben modelarse y validarse (es decir, contrastar su dominio de validez con el sistema real) los elementos individuales, hasta llegar a la elaboración de com-ponentes. Estos componentes pueden, como se verá en el capítulo siguiente, ser modelados a partir de sus ecuaciones constitutivas o a partir de sus curvas de comportamiento. El caso concreto que se muestra ha sido modelado de esta segunda forma, a partir de las curvas de rendimiento-caudal obtenidas experimentalmente.

Fotografías de centrales hidroeléctricas de la cuenca del Guadalquivir (España).

Figura 1.16

Page 16: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

16 Introducción al modelado y simulación con EcosimPro

Otro caso de utilización de librerías que ponen de manifiesto el carácter multidiscipli-nar de EcosimPro es el modelado de un ciclo combinado. Está constituido básicamente por cuatro elementos: una turbina de gas, una caldera de recuperación de calor, una turbina de vapor y la estructura de control (Figura 1.18).

Diagrama EcosimPro de la central completa.

Esquemático de una central de ciclo combinado.

Figura 1.17

Figura 1.18

Page 17: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

Capítulo 1 • EcosimPro y los lenguajes de MOO 17

En las siguientes figuras se muestra la evolución de los caudales y presiones del sistema para un modo de funcionamiento dado.

Evolución de los caudales del sistema.

Evolución de las presiones del sistema.

Figura 1.19

Figura 1.20

En las Figuras 1.21, 1.22 y 1.23 se muestra otro ejemplo de agregación. En la primera se muestran la fotografía y el símbolo EcosimPro de una turbina tipo Kaplan utilizada en este tipo de centrales hidroeléctricas.

En la Figura 1.22 al componente turbina Kaplan, creado y validado previamente, se le ha añadido sus elementos de control.

Todos estos elementos pueden agruparse en un único componente con el fin de sim-plificar el modelado posterior de la planta completa. Este nuevo componente, mostrado en la Figura 1.23, mantiene ocultas características específicas y mantiene como interfaces de conexión aquéllas necesarias para la configuración completa, como eran en este caso la cota del embalse y los caudales de entrada y salida de los grupos Kaplan.

Page 18: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

18 Introducción al modelado y simulación con EcosimPro

Turbina Kaplan: fotografía y esquema de librería.

Grupo Kaplan. Nuevo componente de EcosimPro.

Turbina Kaplan y sus elementos de control en EcosimPro.

Figura 1.21

Figura 1.23

Figura 1.22

Un último ejemplo que también se corresponde con un sistema real es el modelado de una librería de Sistemas de Control Ambiental y Soporte de Vida en Naves Tripuladas (ECLSS).

Los procesos que intervienen en la librería ECLSS son varios: flujo de fluidos, transfe-rencia de calor, reacciones químicas, procesos biológicos, etc. Este es un ejemplo claro del uso multidisciplinar y flexible de MOO, por ello puede emplearse fácilmente para simular sistemas de muy diversos tipos (Figura 1.24).

Page 19: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

Capítulo 1 • EcosimPro y los lenguajes de MOO 19

Los lenguajes de modelado orientados a objetos deben proporcionar sentencias que permitan modelar los dos mundos: el continuo y el discreto. Con el modelado continuo, el usuario expresa el modelo físico con unas ecuaciones matemáticas concretas. Estas ecuacio-nes pueden ser algebraicas o diferenciales con respecto al tiempo. Éstas deben ser procesadas y ordenadas, de forma que el modelo final calcule de manera óptima las variables descono-cidas del sistema. Para hacer esto los lenguajes de MOO recurren a numerosos algoritmos de preprocesado de ecuaciones que incluyen la comprobación de las singularidades del sistema, la elección de las condiciones de contorno y además, detectan si el problema es o no de “alto índice”. Además de descubrir estos problemas, el preprocesado de las ecuaciones debe inten-tar resolverlos por sí mismo. En ocasiones, los entornos de simulación solicitan al modelador cierta ayuda para resolver alguno de los problemas detectados. Todas estas características se describirán en los capítulos siguientes.

Pero no sólo deben permitir una formulación continua. Cualquier modelo físico que se construya con ecuaciones continuas en algún instante tendrá un comportamiento discreto. Por ejemplo, una bola rebotando en el suelo puede simularse con ecuaciones dinámicas, pero lo más importante es tener en cuenta qué ocurre cuando toca el suelo y cómo tratar este acontecimiento. De esta forma, los lenguajes de MOO deben proporcionar herramientas que traten este hecho. Cada tipo de comportamiento continuo está asociado a una serie de eventos que se están comprobando continuamente. Cuando ocurre uno de ellos se ejecuta una serie de acciones asociadas. Esto significa que los componentes se modelan utilizando ambos métodos de modelado: continuos y discretos. Debe ser tarea del entorno ocuparse de que ambas partes del modelo se ejecuten de forma coordinada.

Los lenguajes orientados a objetos permiten tres tipos de sentencias: las continuas, las discretas y las secuenciales, es decir, permiten realizar modelos de todos los tipos descritos en el apartado anterior. Se verá posteriormente que la sintaxis de EcosimPro permite secciones

Modelo en EcosimPro del sistema de control de humedad y temperatura del módulo espacial europeo Columbus (APM Cabin Loop).

Figura 1.25

Page 20: Introducción - Microsoftpearsonespana.blob.core.windows.net/books/9788483226810.pdf · ciales (EDP) tales como la ecuación de difusión ∂ ∂ ∂ ∂ u t u x s 2 2 (1.4) Los modelos

20 Introducción al modelado y simulación con EcosimPro

Existe una versión gratuita de EcosimPro cuya única limitación es el número máximo de ecuaciones que se puede modelar. Para descargarse la versión gratuita hay que visitar la web www.ecosimpro.com y seleccionar la opción download, allí seleccionar la opción Descarga de EcosimPro LE (requiere tener instalado un compilador C++ válido).

También se pueden descargar los ejemplos de este libro en la misma web.

para cada una de este tipo de sentencias. Las secuenciales son aquéllas que se ejecutan cada una a continuación de la precedente. Las discretas deberán estar en su propia sección y se ejecutan ante determinados eventos. Las continuas son las que se repiten en cada instante de integración y sufren la mayor parte del preprocesamiento, como la ordenación de las ecua-ciones, la detección de los lazos algebraicos, etc.

Las ventajas de la metodología de MOO parecen por tanto claras, y pueden resumirse en los siguientes puntos:

•   El modelador encapsula los datos y el comportamiento en componentes indivi-duales.

•   Un componente oculta la complejidad haciendo públicas sólo parte de sus caracte-rísticas.

•   La interfaz pública comprende parámetros, puertos y datos. Las variables locales, even-tos discretos y ecuaciones son privadas.

•   Los componentes pueden reutilizarse.•   Un componente puede contener ecuaciones que pueden insertarse en tiempo de 

simulación o no, dependiendo de los parámetros que se pasen al componente.•   El formato de una ecuación es declarativo: los algoritmos las transforman para resol-

verlas de la mejor forma posible.

Además, se puede añadir una consideración más a la revolución que supone el MOO: el modelado es no-causal, o acausal. En otras palabras, cuando se modela un componente, la causalidad de las ecuaciones no está dada. Esta causalidad tendrá que ser resuelta antes de pasar a la fase de simulación. EcosimPro se encarga de esto de forma automática. Las librerías de componentes reusables y genéricos pueden utilizarse por tanto en cualquier situación.

Todas estas características se recalcarán en capítulos siguientes. Además, en el Capítulo 6, se describirá cómo conectar EcosimPro con otras herramientas y programas. De hecho, ésta es una de sus principales cualidades.

1.4 Cómo descargarse EcosimPro y los ejemplos del libro