Documente Academic
Documente Profesional
Documente Cultură
Peter Fritzson
4 Peter Fritzson
Para ms informacin, visite la pgina web del libro www.mathmodelica.es/secciones/libro, la pgina web de la Modelica Association http://www.modelica.org, la pgina de investigacin del autor http://www.ida.liu.se/labs/pelab/modelica o el e-mail del autor petfr@ida.liu.se Traduccin Este libro ha sido traducido de la versin original en ingls al espaol por: Sebastin Dormido Bencomo Catedrtico de Universidad de Ingeniera de Sistemas y Automtica Universidad Nacional de Educacin a Distancia Alfonso Urqua Moraleda Profesor Titular de Universidad de Ingeniera de Sistemas y Automtica Universidad Nacional de Educacin a Distancia Derechos reservados De la edicin en ingls: Copyright 2003 Wiley-IEEE Press De la edicin traducida al espaol: Copyright 2006 Addlink Software Cientfico Quedan reservados todos los derechos. Queda prohibida cualquier forma de reproduccin o uso de esta obra sin contar con la autorizacin de los titulares de la propiedad intelectual. No se supone ninguna responsabilidad de patente con respecto al uso de la informacin aqu contenida. Aunque se han tomado todas las precauciones en la preparacin de este libro, el editor no asume responsabilidad alguna por los errores u omisiones. Tampoco se asume ninguna responsabilidad por los daos que puedan resultar del uso de la informacin aqu contenida. Diseo de cubierta Copyright 2006 Addlink Software Cientfico Se ha reproducido en este libro cierto material de los documentos Modelica Tutorial y Modelica Language Specification, disponibles en http://www.modelica.org, con la autorizacin de la Modelica Association. La documentacin de las libreras comerciales HyLib y PneuLib ha sido reproducida con el permiso del autor. Se dispone de autorizacin para reproducir en este libro la documentacin y el cdigo de las libreras escritas en Modelica disponibles en http://www.modelica.org, de acuerdo con la licencia siguiente:
La Licencia de Modelica (Versin 1.1, 30 de junio de 2000) Se permite la redistribucin y uso en formatos fuente y binario, realizando o no modificaciones, siempre que se cumplan las condiciones siguientes: 1. Los avisos de autora y de copyright contenidos en los ficheros fuente, estas condiciones de licencia y el aviso de que no se asumen responsabilidades mostrado ms abajo son (a) mantenidos y (b) reproducidos en la documentacin proporcionada con la distribucin. 2. Se permite realizar modificaciones en los ficheros fuente originales si se inserta una nota claramente visible en cada uno de los ficheros modificados y en la documentacin asociada, indicando cmo y cundo fue modificado el fichero, y supuesto que se cumplan las condiciones expuestas en (1). 3. No se permite cobrar por la versin original o una versin modificada del software, salvo un pago razonable por la distribucin y soporte. Se permite la distribucin en forma agregada con otros programas (posiblemente comerciales) como parte de una distribucin de software ms grande (posiblemente comercial), siempre que no se anuncie como un producto propio. No Asuncin de Responsabilidades de la Licencia de Modelica El software (fuentes, binarios, etc.) en su forma original o modificada se proporciona tal como est y los propietarios de los derechos de autor no asumen ninguna responsabilidad por su contenido cualquiera que sea. No se asume ninguna garanta expresa o implcita, incluidas entre otras, las garantas implcitas de comercializacin y de adecuacin a un fin en particular. En ningn caso los propietarios de los derechos de autor, o cualquiera que modifique y/o redistribuya el paquete, es responsable de dao alguno directo, indirecto, incidental, especial, ejemplar, o consiguiente, que surjan de cualquier forma de uso de este software, incluso si se indica la posibilidad de tal dao. Nombres de marcas registradas Modelica es un nombre registrado de la Modelica Association. MathModelica y MathCode son nombres registrados de MathCore Engineering AB. Dymola es un nombre registrado de Dynasim AB. MATLAB y Simulink son nombres registrados de MathWorks Inc. Java es un nombre registrado de Sun MicroSystems AB. Mathematica es un nombre registrado de Wolfram Research Inc. ISBN 84-611-2094-9
Prlogo
Sin ningn gnero de dudas puede considerarse la Tesis Doctoral Dymola: A structured model language for large continuous systems leda en 1978 por Hilding Elmqvist y realizada en el Lund Institute of Tecnology (Sweden) bajo la supervisin del Prof. K. J. strm el punto de partida del posterior nacimiento de Modelica. Las ideas fundamentales que incorporaba el lenguaje de modelado Dymola fue la utilizacin de ecuaciones en general (no sentencias de asignacin), una metodologa orientada a objetos y un esquema nuevo de conexionado entre componentes. Esto permiti por primera vez que los desarrolladores de modelos contemplasen el proceso de modelado desde una perspectiva fsica y no matemtica. Una consecuencia de todo lo dicho es que el lenguaje de modelado es acausal es decir la causalidad computacional se establece cuando se traduce el modelo completo y es una propiedad global de todo el modelo y no de los componentes que lo constituyen. Esta propiedad de acausalidad es un requisito esencial para la reusabilidad de los componentes y es una de las grandes ventajas de este nuevo paradigma de modelado. Sin embargo uno de los grandes problemas con todas las herramientas de modelado que iban surgiendo tomando como base estas ideas era la falta de transportabilidad de los modelos desarrollados que eran dependientes del entorno utilizado. A mediado de la dcada de los noventa Hilding Elmqvist reconociendo este hecho inicia un esfuerzo unificador que va a dar como resultado el desarrollo del lenguaje de modelado Modelica. La definicin de Modelica se hace con la participacin de muchos expertos de diferentes dominios de la ingeniera as como de la gran mayora de desarrolladores de los lenguajes de modelado orientado a objetos que haban ido surgiendo.
El objetivo de Modelica fue crear un lenguaje de modelado capaz de expresar la conducta de modelos de un amplio abanico de campos de la ingeniera y sin limitar a los modelos a una herramienta comercial en particular. Se puede pues considerar a Modelica no solo como un lenguaje de modelado sino como una especificacin de dominio pblico que permite el intercambio de modelos. Modelica es as un lenguaje de modelado que no tiene propietario y su nombre es una marca registrada de la Modelica Association que es la responsable de la publicacin de la especificacin del lenguaje Modelica que entre otras ofrece a los desarrolladores de modelos las siguientes caractersticas: Encapsulacin del conocimiento. El modelador debe ser capaz de codificar todo el conocimiento relacionado a un objeto particular en una forma compacta y con puntos de interfaz bien definidos con el exterior. Capacidad de interconexin topolgica. El modelador debe ser capaz de interconectar objetos de una forma topolgica, poniendo juntos modelos de componentes mediante un proceso similar a como un experimentador conecta equipos reales en un laboratorio. Este requisito entraa que las ecuaciones que describen los modelos deben tener una naturaleza declarativa o lo que es equivalente deben ser acausales. Modelado jerrquico. El modelador debe ser capaz de declarar a los modelos interconectados como nuevos objetos, hacindolos indistinguibles desde el exterior de los modelos basados en ecuaciones. Se puede as construir modelos con una estructura jerrquica bien definida. Instanciacin de objetos. El modelador debe tener la posibilidad para describir clases de objetos genricos e instanciar objetos actuales de
8 Peter Fritzson
estas definiciones de clases mediante un mecanismo de invocacin de modelos. Herencia de clases. Una caracterstica muy til es la herencia de clases ya que permite el encapsulamiento del conocimiento incluso por debajo del nivel de los objetos fsicos. El conocimiento as encapsulado puede entonces distribuirse a travs del modelo por un mecanismo de herencia que asegura que el mismo conocimiento no tendr que ser codificado separadamente algunas veces en lugares diferentes del modelo. Capacidad de interconexin generalizada. Una caracterstica til de un entorno de modelado es su capacidad de interconectar modelos a travs de sus puertos en la interfaz. Los puertos son diferentes de los modelos regulares (objetos) ya que ofrecen a los modelos un nmero variable de conexiones.
Introduccin al Modelado y Simulacin de Sistemas Tcnicos y Fsicos con Modelica escrito por Peter Fritzon profesor en la Universidad de Linkping (Suecia) trata de mostrar a sus lectores los fundamentos del modelado y la simulacin y servir al mismo tiempo como una introduccin bsica al lenguaje Modelica. Es de destacar el papel desempeado por el grupo del Prof. Fritzson en la definicin y divulgacin del lenguaje Modelica y el esfuerzo que est haciendo con su grupo PELAB por desarrollar un compilador de Modelica de cdigo abierto. Estamos seguros que esta traduccin de su texto al espaol ser bienvenida por la cada vez ms creciente comunidad de usuarios que han adoptado la metodologa orientada a objetos en sus trabajos de modelado y simulacin. Madrid, julio de 2006 Sebastin Dormido
Contenido
Captulo 1 Conceptos Bsicos ........................................................................................................... 15 1.1 Sistemas y Experimentos....................................................................................................... 16 1.1.1 Sistemas Naturales y Artificiales ...................................................................................... 16 1.1.2 Experimentos .................................................................................................................... 18 1.2 El Concepto de Modelo......................................................................................................... 19 1.3 Simulacin............................................................................................................................. 20 1.3.1 Razones para la Simulacin .............................................................................................. 21 1.3.2 Peligros de la Simulacin ................................................................................................. 22 1.4 Construccin de Modelos...................................................................................................... 23 1.5 Anlisis de Modelos .............................................................................................................. 24 1.5.1 Anlisis de la Sensibilidad................................................................................................ 24 1.5.2 Diagnstico Basado en Modelos....................................................................................... 25 1.5.3 Verificacin y Validacin de Modelos ............................................................................. 25 1.6 Clases de Modelos Matemticos ........................................................................................... 26 1.6.1 Clases de Ecuaciones ........................................................................................................ 27 1.6.2 Modelos Dinmicos vs. Estticos ..................................................................................... 28 1.6.3 Modelos Dinmicos de Tiempo Continuo vs. de Tiempo Discreto .................................. 29 1.6.4 Modelos Cuantitativos vs. Cualitativos ............................................................................ 30 1.7 Utilizacin del Modelado y la Simulacin en el Diseo de Productos.................................. 31 1.8 Ejemplos de Modelos de Sistemas ........................................................................................ 33 1.9 Resumen ................................................................................................................................ 37 1.10 Referencias ............................................................................................................................ 37 Captulo 2 Un recorrido rpido por Modelica ................................................................................ 39 2.1 Comenzando con Modelica ................................................................................................... 40 2.1.1 Variables ........................................................................................................................... 44 2.1.2 Comentarios...................................................................................................................... 46 2.1.3 Constantes......................................................................................................................... 47 2.1.4 Valores Iniciales por Defecto............................................................................................ 47 2.2 Modelado Matemtico Orientado a Objetos.......................................................................... 48 2.3 Clases e Instancias................................................................................................................. 49 2.3.1 Creacin de Instancias ...................................................................................................... 50 2.3.2 Inicializacin..................................................................................................................... 51 2.3.3 Clases Restringidas ........................................................................................................... 52 2.3.4 Reutilizacin de Clases Modificadas ................................................................................ 53 2.3.5 Clases Predefinidas ........................................................................................................... 54 2.4 Herencia ................................................................................................................................ 54 2.5 Clases Genricas ................................................................................................................... 55 2.5.1 Parmetros de Clase que son Instancias............................................................................ 56
10 Peter Fritzson
2.5.2 Parmetros de Clase que son Tipos .................................................................................. 57 2.6 Ecuaciones............................................................................................................................. 58 2.6.1 Estructuras de Ecuaciones Repetitivas.............................................................................. 60 2.6.2 Ecuaciones en Derivadas Parciales................................................................................... 61 2.7 Modelado Fsico Acausal ...................................................................................................... 61 2.7.1 Modelado Fsico vs. Modelado Orientado a Bloques ....................................................... 62 2.8 El Modelo de Componentes Software de Modelica .............................................................. 64 2.8.1 Componentes .................................................................................................................... 65 2.8.2 Diagramas de Conexiones ................................................................................................ 65 2.8.3 Conectores y Clases connector ......................................................................................... 67 2.8.4 Conexiones ....................................................................................................................... 67 2.9 Clases Parciales ..................................................................................................................... 68 2.9.1 Reutilizacin de las Clases Parciales ................................................................................ 69 2.10 Diseo y Uso de una Librera de Componentes .................................................................... 71 2.11 Ejemplo: Librera de Componentes Elctricos...................................................................... 71 2.11.1 Resistencia ........................................................................................................................ 71 2.11.2 Condensador ..................................................................................................................... 72 2.11.3 Inductor............................................................................................................................. 72 2.11.4 Fuente de tensin .............................................................................................................. 73 2.11.5 Tierra ................................................................................................................................ 73 2.12 El Modelo de un Circuito Sencillo ........................................................................................ 74 2.13 Arrays .................................................................................................................................... 75 2.14 Construcciones algortmicas.................................................................................................. 78 2.14.1 Algoritmos ........................................................................................................................ 78 2.14.2 Sentencias ......................................................................................................................... 79 2.14.3 Funciones.......................................................................................................................... 80 2.14.4 Sobrecarga de Funciones y Operadores............................................................................ 82 2.14.5 Funciones Externas ........................................................................................................... 82 2.14.6 Algoritmos Vistos como Funciones.................................................................................. 83 2.15 Eventos Discretos y Modelado Hbrido ................................................................................ 84 2.16 Packages ................................................................................................................................ 88 2.17 Annotations ........................................................................................................................... 91 2.18 Convenios de Nombres ......................................................................................................... 92 2.19 Librera Estndar de Modelica .............................................................................................. 92 2.20 Implementacin y Ejecucin de Modelica ............................................................................ 95 2.20.1 Traduccin Manual del Modelo del Circuito Sencillo...................................................... 97 2.20.2 Transformacin al Formato de Espacio de Estados ........................................................ 100 2.20.3 Mtodo de Solucin ........................................................................................................ 101 2.21 Historia................................................................................................................................ 104 2.22 Resumen .............................................................................................................................. 108 2.23 Bibliografa.......................................................................................................................... 108 2.24 Ejercicios............................................................................................................................. 110
11
Captulo 3
3.1 Contrato Entre el Diseador y el Usuario de la Clase ......................................................... 115 3.2 Ejemplo de una Clase .......................................................................................................... 116 3.3 Variables.............................................................................................................................. 117 3.3.1 Nombres de Variables Duplicados.................................................................................. 117 3.3.2 Nombres de Variables Idnticos a Nombres de Tipos.................................................... 118 3.3.3 Inicializacin de Variables.............................................................................................. 118 3.4 Comportamiento como Ecuaciones..................................................................................... 119 3.5 Control del Acceso .............................................................................................................. 121 3.6 Simulacin del Ejemplo del Alunizaje ................................................................................ 122 3.7 Herencia .............................................................................................................................. 125 3.7.1 Herencia de Ecuaciones .................................................................................................. 126 3.7.2 Herencia Mltiple ........................................................................................................... 127 3.7.3 Procesado de los Elementos de la Declaracin y Uso Previo a la Declaracin .............. 128 3.7.4 Orden de la Declaracin de las Clusulas extends.......................................................... 129 3.7.5 El Ejemplo del Alunizaje Usando Herencia ................................................................... 130 Captulo 4 Metodologa para el Modelado de Sistemas ............................................................... 133 4.1 Construccin de Modelos de un Sistema............................................................................. 133 4.1.1 Modelado Deductivo vs. Modelado Inductivo................................................................ 134 4.1.2 Enfoque Tradicional ....................................................................................................... 135 4.1.3 Enfoque Basado en Componentes Orientados a Objetos................................................ 136 4.1.4 Modelado Descendente vs. Modelado Ascendente......................................................... 137 4.1.5 Simplificacin de Modelos ............................................................................................. 138 4.2 Modelado de un Sistema con un Tanque............................................................................. 139 4.2.1 Aplicacin del Enfoque Tradicional ............................................................................... 139 4.2.1.1 Modelo Plano del Sistema de Tanque.................................................................... 139 4.2.2 Aplicacin del Enfoque Basado en Componentes Orientados a Objetos........................ 141 4.2.3 Sistema de un Tanque con un Controlador PI Continuo................................................. 142 4.2.4 Tanque con Controlador PID Continuo .......................................................................... 145 4.2.5 Dos Tanques Conectados................................................................................................ 148 Apndice A Diseador de Sistemas de MathModelica ............................................................ 151 A.1. El Editor de Modelos ................................................................................................................ 151 A.2. Creando un Pndulo Invertido .................................................................................................. 153 A.2.1. Motor DC........................................................................................................................... 154 A.2.1.1. Aadiendo las Interfaces ............................................................................................ 155 A.2.2. Carro con el Pndulo ......................................................................................................... 156 A.2.3. Diseo del Sistema de Control .......................................................................................... 158 A.2.4. El Sistema Completo ......................................................................................................... 159
12
13
Prefacio
Este libro ensea los conceptos bsicos del modelado y la simulacin, y proporciona una introduccin al lenguaje Modelica que es adecuada para personas familiarizadas con los conceptos bsicos de la programacin. Da una introduccin bsica acerca de los conceptos del modelado y la simulacin, as como de los fundamentos del modelado orientado a objetos basado en componentes adecuada para profanos en la materia. El libro tiene los objetivos siguientes: Ser un libro de texto til en cursos de introduccin sobre modelado y simulacin. Ser fcilmente accesible a personas que no han tenido previamente una formacin en modelado, simulacin y orientacin a objetos. Introduccin bsica de los conceptos de modelado fsico, modelado orientado a objetos y modelado basado en componentes. Demostrar ejemplos de modelado de algunas reas de aplicacin seleccionadas.
El libro contiene ejemplos de modelos en algunos dominios de aplicacin diferentes, as como ejemplos que combinan varios dominios. Todos los ejemplos y ejercicios estn disponibles en un material electrnico de autoenseanza llamado DrModelica, que se basa en este libro, y que guan al lector de forma gradual desde ejemplos y ejercicios introductorios hasta los ms avanzados. Parte de este material de aprendizaje se puede descargar libremente del sitio web del libro, www.mathmodelica.es/secciones/libro, donde se puede encontrar material (docente) adicional relacionado con este libro.
Agradecimientos
Los miembros de la Modelica Association crearon el lenguaje Modelica y han contribuido con muchos ejemplos de cdigo Modelica en los documentos Modelica Language Rationale y Modelica Language Specification (ver http://www.modelica.org), algunos de los cuales se usan en este libro. Los miembros que contribuyeron a las diferentes versiones de Modelica se mencionan posteriormente. En primer lugar, agradezco a mi esposa, Anita, que me ha apoyado y animado durante la escritura de este libro. Un agradecimiento muy especial a Peter Bunus por la ayuda con los ejemplos de modelos, algunas figuras, el formateado con MicroSoft Word y por las muchas charlas estimulantes. Muchas gracias a Hilding Elmqvist por compartir la visin respecto de un lenguaje de modelado declarativo, por iniciar el esfuerzo de diseo de Modelica, por invitar a personas a formar un grupo de diseo, por servir como primer coordinador de la Modelica Association, y
14 Peter Fritzson
por su entusiasmo y sus numerosas contribuciones de diseo, incluyendo su impulso al concepto de una clase unificada. Tambin le agradezco por su inspiracin en la presentacin del material, incluyendo que me haya proporcionado ejemplos histricos de ecuaciones. Muchas gracias tambin a Martin Otter por servir como segundo coordinador de la Modelica Association, por su entusiasmo y energa, sus contribuciones al diseo y a la librera de Modelica, as como su inspiracin en la presentacin del material. Muchas gracias a Eva-Lena Lengquist Sandelin y Susanna Monemar por la ayuda con los ejercicios, y por preparar la primera versin del material de enseanza del libro interactivo DrModelica que hacen ms accesibles los ejemplos de este libro para un aprendizaje y experimentacin interactiva. Gracias a Peter Aronsson, Jan Brugrd, Hilding Elmqvist, Vadim Engelson, Dag Fritzson, Torkel Glad, Pavel Grozman, Emma Larsdotter Nilsson, Hkan Lundvall y Sven-Erik Mattsson por sus comentarios constructivos sobre determinadas partes del libro. Gracias a Hans Olsson y Dag Brck, quienes editaron algunas versiones del documento Modelica Specification. Gracias a todos los miembros de PELAB y empleados de MathCore Engineering, quienes me han proporcionado comentarios y realimentacin.
Peter Fritzson
15
Con frecuencia se dice que los ordenadores estn revolucionando la ciencia y la ingeniera. Utilizando ordenadores somos capaces de construir complejos diseos de ingeniera, tales como lanzaderas espaciales. Podemos calcular las propiedades de cmo era el universo una fraccin de segundo despus del big bang. Nuestros retos son cada vez ms exigentes. Queremos crear diseos aun ms complejos, tales como mejores vehculos espaciales, automviles, medicinas, telfonos mviles computarizados, etc. Deseamos comprender aspectos ms profundos de la naturaleza. Estos son simplemente unos pocos ejemplos de modelado y simulacin asistidos por ordenador. Se necesitan herramientas y conceptos ms potentes para ayudarnos a manejar esta complejidad creciente, que es precisamente de lo que trata este libro. Este texto presenta un enfoque basado en componentes orientados a objetos para el modelado matemtico y la simulacin asistidos por ordenador, mediante el potente lenguaje Modelica y su tecnologa asociada. Puede considerarse que Modelica es un enfoque casi universal para el modelado y simulacin computacional de alto nivel, al ser capaz de representar un abanico de reas de aplicacin y proporcionar una notacin general, as como abstracciones poderosas e implementaciones eficientes. La parte introductoria de este libro, compuesta por los dos primeros captulos, da una visin panormica de los dos temas principales de este texto: Modelado y simulacin. El lenguaje Modelica.
Los dos temas se presentan juntos porque forman un todo. A travs del texto, Modelica se utiliza como un vehculo para explicar diferentes aspectos del modelado y la simulacin. Inversamente, una serie de conceptos del lenguaje Modelica son presentados mediante ejemplos de modelado y simulacin. Este primer captulo introduce conceptos bsicos tales como sistema, modelo, y simulacin. El segundo captulo constituye un rpido recorrido por el lenguaje Modelica. Contiene una serie de ejemplos, entremezclados con presentaciones de
16 Peter Fritzson
temas tales como el modelado matemtico orientado a objetos, los formalismos declarativos, los mtodos para la compilacin de modelos basados en ecuaciones, etc. Los captulos siguientes contienen presentaciones detalladas de los principios del modelado orientado a objetos y de las caractersticas especficas de Modelica, introducciones a la metodologa de modelado para sistemas continuos, discretos, e hbridos, as como una revisin completa de una serie de libreras de modelos de Modelica para diferentes dominios de aplicacin. Finalmente, en el ltimo captulo, se presentan algunos de los entornos de simulacin que soportan Modelica que estn actualmente disponibles.
Nuestro deseo de estudiar ciertas propiedades seleccionadas de los objetos es central en esta definicin. El aspecto de estudio es importante, a pesar del hecho de que es subjetivo. La seleccin y definicin de lo que constituye un sistema es algo arbitrario y debe estar guiado por el uso que se va a hacer del sistema. Qu razones puede haber para estudiar un sistema? Hay muchas respuestas a esta pregunta, pero cabe destacar dos grandes motivaciones: Estudiar un sistema para comprenderlo, con la finalidad de construirlo. Este es el punto de vista de la ingeniera. Satisfacer la curiosidad humana, por ejemplo, para comprender ms acerca de la naturalezael punto de vista de la ciencia natural.
Colector
Figura 1-1. Un sistema: una casa con un sistema de agua caliente por radiacin solar, junto con las nubes y el sol.
Incluso si un sistema ocurre naturalmente, su definicin es siempre fuertemente selectiva. Esto se hace muy aparente en la siguiente cita de Ross Ashby [Ashby-56]: Llegado este punto, debemos tener claro cmo se define un sistema. Nuestro primer impulso es apuntar al pndulo y decir el sistema es aquella cosa que est all. Este mtodo, sin embargo, tiene una desventaja fundamental: cada objeto material contiene no menos de una infinidad de variables, y por lo tanto, de posibles sistemas. El pndulo real, por ejemplo, no tiene solo longitud y posicin; tambin tiene masa, temperatura, conductividad elctrica, estructura cristalina, impurezas qumicas, algo de radioactividad, velocidad, potencia reflejada, estrs estructural, una capa superficial de humedad, contaminacin de bacterias, absorcin ptica, elasticidad, forma, gravedad, etc. Pretender estudiar todos estos hechos no es realista, y de hecho nunca se hace. Lo necesario es que escojamos y estudiemos los hechos que son relevantes para nuestro propsito especfico. Incluso si el sistema es completamente artificial, tal como el sistema de telefona mvil representado en la Figura 1-2, debemos ser altamente selectivos en su definicin, dependiendo de qu aspectos en concreto deseamos estudiar en ese momento.
18 Peter Fritzson
Procesador regional
Procesador regional
Procesador regional
llamadas entrantes
Figura 1-2. Un sistema de telefona mvil, que contiene un procesador central y procesadores regionales para manejar llamadas entrantes.
Una propiedad importante de los sistemas es que deberan ser observables. Algunos sistemas, en los que no se incluyen los grandes sistemas naturales como el universo, son tambin controlables ya que podemos influir en su comportamiento a travs de ciertas entradas. Es decir: Las entradas de un sistema son las variables del entorno que influyen sobre el comportamiento del sistema. Estas entradas pueden o no ser controlables por nosotros. Las salidas de un sistema son las variables determinadas por el sistema y que pueden influir sobre el entorno que le rodea.
En muchos sistemas, las mismas variables actan como entradas y salidas. Hablamos de conducta acausal si las relaciones o influencias entre las variables no tienen una direccin causal, que es el caso para las relaciones descritas por ecuaciones. Por ejemplo, en un sistema mecnico las fuerzas del entorno influyen sobre el desplazamiento de un objeto, pero por otra parte el desplazamiento del objeto afecta a las fuerzas entre el objeto y el entorno. En este caso, la decisin de qu es entrada y qu es salida es fundamentalmente una eleccin del observador, que est guiada por el objetivo en particular del estudio, en lugar de ser una propiedad del propio sistema.
1.1.2 Experimentos
De acuerdo a nuestra definicin de sistema, la observabilidad es esencial si se desea estudiar un sistema. Debemos al menos ser capaces de observar algunas de las salidas del sistema. Podremos aprender ms acerca del sistema si somos capaces de excitarlo controlando sus entradas. Este proceso se llama experimentacin. Es decir: Un experimento es el proceso de extraer informacin de un sistema excitando sus entradas.
Para poder realizar un experimento sobre un sistema, ste debe de ser controlable y observable. Aplicamos un conjunto de condiciones externas a las entradas accesibles y observamos la reaccin del sistema al medir aquellas de sus salidas que son accesibles. Una de las desventajas del mtodo experimental es que para un gran nmero de sistemas muchas entradas no son ni accesibles y controlables. Estos sistemas estn bajo la influencia de entradas inaccesibles, algunas veces llamadas entradas de perturbacin. Igualmente, a menudo muchas de las salidas que son realmente tiles no estn accesibles, con lo que no pueden ser medidas. stas suelen denominarse estados internos del sistema. Surgen tambin una serie de problemas prcticos asociados con la realizacin de un experimento, por ejemplo: El experimento podra ser demasiado costoso: investigar la resistencia de los barcos construyndolos y hacindolos colisionar es un mtodo muy caro de obtener informacin. El experimento podra ser demasiado peligroso: no es aconsejable entrenar a los operarios de las plantas nucleares acerca de cmo solventar situaciones peligrosas, poniendo para ello el reactor en estados de funcionamiento de riesgo. El sistema sobre el que se desea experimentar podra no existir an. Esto sucede tpicamente con sistemas que estn aun por disear o fabricar.
Las desventajas del mtodo experimental nos llevan al concepto de modelo. Si hacemos un modelo de un sistema y el modelo es lo suficientemente realista, entonces podemos emplear este modelo para investigar y responder a muchas preguntas referentes al sistema real.
Esto implica que puede usarse un modelo, para responder preguntas acerca de un sistema, sin realizar experimentos sobre el sistema real. En su lugar, realizamos experimentos simplificados sobre el modelo. El modelo, a su vez, puede considerarse como un sistema simplificado que refleja las propiedades del sistema real. En el caso ms simple, el modelo puede ser simplemente cierta informacin que se usa para responder a preguntas acerca del sistema. Dada esta definicin, cualquier modelo tambin constituye un sistema. Los modelos, al igual que los sistemas, son por naturaleza jerrquicos. Si se separa una parte del modelo, se obtiene un nuevo modelo, que es vlido para un subconjunto de los experimentos para los que a su vez el modelo original tambin es vlido. Un modelo est siempre relacionado con el sistema al que representa y con los experimentos a los que puede estar sujeto. Una afirmacin
20 Peter Fritzson
del tipo el modelo del sistema no es vlido carece de sentido si no se indica cul es el sistema asociado y el experimento. Un modelo de un sistema podra ser vlido para un cierto experimento y no serlo para otro. El trmino validacin del modelo (ver la Seccin 1.5.3) siempre se refiere a un experimento o a una clase de experimento a realizar. Hablamos de diferentes clases de modelos dependiendo de cmo se representa: Modelo mentaluna sentencia como esta persona es fiable nos ayuda a responder a preguntas acerca de la conducta de esa persona en diversas situaciones. Modelo verbalesta clase de modelo se expresa mediante palabras. Por ejemplo, la frase si se aumenta el lmite de velocidad, entonces ocurrirn ms accidentes es un ejemplo de un modelo verbal. Los sistemas expertos es una tcnica que formaliza modelos verbales. Modelo fsicose trata de un objeto fsico que reproduce algunas propiedades de un sistema real, para ayudarnos a responder preguntas del sistema. Por ejemplo, en la fase de diseo de edificios, aeroplanos, etc., frecuentemente se construyen pequeos modelos fsicos con la misma forma y apariencia que los objetos reales a estudiar, por ejemplo con respecto a sus propiedades aerodinmicas y estticas. Modelo matemtico es una descripcin de un sistema donde las relaciones entre las variables del sistema se expresan de forma matemtica. Las variables pueden ser cantidades medibles, tales como el tamao, la longitud, el peso, la temperatura, el nivel de desempleo, el flujo de informacin, la velocidad medida en bits por segundo, etc. La mayora de las leyes de la naturaleza son modelos matemticos. Por ejemplo, la Ley de Ohm describe la relacin entre la corriente y la cada de tensin en una resistencia; las Leyes de Newton describen relaciones entre la velocidad, la aceleracin, la masa, la fuerza, etc.
Fundamentalmente, las clases de modelos que trataremos en este libro son modelos matemticos representados de diversas formas, tales como ecuaciones, funciones, programas de ordenador, etc. Los sistemas representados mediante modelos matemticos en un ordenador se denominan a menudo prototipos virtuales. El proceso de construir e investigar tales modelos es el prototipado virtual. Algunas veces, el trmino modelado fsico se emplea tambin para el proceso de construir modelos matemticos de sistemas fsicos en el ordenador. Esto es as cuando el proceso de estructuracin y sntesis del modelo matemtico es el mismo que el usado para la construccin de los modelos fsicos reales.
1.3 Simulacin
En la seccin previa mencionamos la posibilidad de efectuar experimentos sobre modelos, en lugar de sobre los sistemas reales que corresponden a los modelos. Este es realmente uno de los usos principales de los modelos, y se denota por el trmino simulacin, del Latn simulare, que significa fingir. Definimos el trmino simulacin como sigue:
En analoga con nuestra definicin previa de modelo, esta definicin de simulacin no impone que el modelo deba ser representado matemticamente o mediante un programa de ordenador. Sin embargo, en el resto de este texto nos concentraremos en los modelos matemticos, fundamentalmente en aquellos que tienen una forma representable en un ordenador. Lo que sigue son algunos ejemplos de tales experimentos o simulaciones: Una simulacin de un proceso industrial, tal como la fabricacin de acero o de pulpa en la industria papelera, cuya finalidad es aprender acerca del comportamiento del proceso bajo diferentes condiciones de operacin, con el objetivo final de mejorar el proceso. Una simulacin del comportamiento de un vehculo, por ejemplo de un automvil o un avin, con la finalidad de proporcionar entrenamiento realista a los pilotos. Una simulacin de un modelo simplificado de una red de comunicacin, para conocer su comportamiento para diferentes cargas, con el objetivo de mejorar su rendimiento.
Es importante darse cuenta de que las dos partes de la simulacin, es decir, la descripcin del experimento y del modelo, son entidades conceptualmente separadas. Por otra parte, si bien estos dos aspectos de una simulacin son independientes, van unidos. Por ejemplo, un modelo es vlido slo para una cierta clase de experimentos. Puede ser til definir un marco experimental asociado con el modelo, que defina qu condiciones debe satisfacer un experimento para ser vlido. Si el modelo matemtico se representa en forma ejecutable en un ordenador, las simulaciones se pueden realizar mediante experimentos numricos, o en casos no numricos mediante experimentos computados. Esta es una forma simple y segura de efectuar experimentos, con la ventaja aadida de que esencialmente todas las variables del modelo son observables y controlables. Sin embargo, el resultado de la simulacin es completamente dependiente de cuan bien el modelo representa al sistema real con respecto a las cuestiones a las que la simulacin tiene que responder. Excepto la experimentacin, la simulacin es la nica tcnica que es aplicable de forma general para el anlisis del comportamiento de sistemas arbitrarios. Las tcnicas analticas son mejores que la simulacin, pero normalmente se aplican slo bajo un conjunto de hiptesis simplificadoras. Por otra parte, es bastante usual combinar tcnicas analticas con simulaciones. Es decir, la simulacin no se usa sola, sino combinada con tcnicas analticas o semianalticas.
22 Peter Fritzson
Los experimentos son demasiado costosos, demasiado peligrosos, o el sistema que se desea investigar no existe an. stas son las dificultades de la experimentacin con sistemas reales, mencionadas previamente en la Seccin 1.1.2. La escala de tiempos de la dinmica del sistema no es compatible con la del experimentador. Por ejemplo, lleva millones de aos observar pequeos cambios en el desarrollo del universo, mientras que cambios similares se pueden observar rpidamente en una simulacin por ordenador del universo. Las variables pueden ser inaccesibles. En una simulacin todas las variables pueden ser estudiadas y controladas, incluso aquellos que son inaccesibles en el sistema real. Fcil manipulacin de modelos. Utilizando simulacin, es fcil manipular los parmetros del modelo de un sistema, incluso fuera del rango admisible de un sistema fsico particular. Por ejemplo, la masa de un cuerpo en un modelo de simulacin basado en ordenador se puede aumentar de 40 a 500 Kg. pulsando una tecla, mientras que este cambio podra ser difcil de realizar en el sistema fsico. Supresin de perturbaciones. En una simulacin de un modelo es posible suprimir perturbaciones que podran ser inevitables en las medidas del sistema real. Esto puede permitirnos aislar determinados efectos en particular y, por lo tanto, mejorar nuestra comprensin acerca de dichos efectos. Supresin de efectos de segundo-orden. A menudo, las simulaciones se realizan porque permiten la supresin de efectos de segundo orden, tales como no linealidades u otros detalles de ciertos componentes del sistema. La supresin de los efectos de segundo orden puede ayudarnos a comprender mejor los efectos principales.
Pygmalion fue un rey mtico de Chipre, que era tambin escultor. El rey se enamor de una de sus obras, una escultura de una mujer joven, y pidi a los dioses que convirtieran su escultura en un ser vivo.
verdad en muchas otras partes del mundo. Desgraciadamente, los zorros encontraron que la fauna indgena era mucho ms fcil de cazar y en gran medida ignoraron a los conejos. Forzar a que la realidad encaje dentro de las restricciones del modeloel efecto Procrustes2. Un ejemplo es la conformacin de nuestras sociedades siguiendo ciertas teoras econmicas de moda, que tienen una visin simplista de la realidad, e ignoran muchos otros aspectos importantes de la conducta humana, de la sociedad y la naturaleza. Olvidar el nivel de precisin del modelo. Todos los modelos tienen hiptesis simplificadoras y, para interpretar los resultados correctamente, hay que tenerlas en cuenta.
Por estas razones, aunque las tcnicas analticas son en general ms restrictivas, ya que tienen un dominio de aplicacin ms estrecho, tales tcnicas son ms potentes cuando se aplican. Un resultado de simulacin es vlido slo para un conjunto particular de datos de entrada. Se necesitan muchas simulaciones para llegar a comprender el sistema aun de manera aproximada. Si las tcnicas analticas son aplicables, deberan usarse en lugar de la simulacin o como un complemento a sta.
Procrustes es un conocido ladrn de la mitologa Griega. Se conoce por la cama donde torturaba a los viajeros que caan en sus manos: si las vctimas eran demasiado pequeas, les estiraba los brazos y las piernas hasta que se ajustaban a la longitud de la cama y si eran demasiado altas, les cortaba la cabeza y parte de las piernas.
24 Peter Fritzson
Adems del conocimiento anterior referente al sistema, existe tambin un conocimiento especializado acerca de la construccin de modelos en dominios y aplicaciones especficos, as como mecanismos genricos para manejar hechos y modelos. Por ejemplo: Experiencia en la aplicacindominar el rea y las tcnicas de la aplicacin, lo cual permite usar todos los hechos relativos a una aplicacin de modelado especfica. Ingeniera del software y del conocimiento conocimiento genrico acerca de cmo definir, manejar, usar, y representar modelos y software. Por ejemplo, la orientacin a objetos, las tcnicas de componentes de sistemas, la tecnologa de los sistemas expertos, etc.
Cul es entonces el proceso de anlisis y sntesis apropiado que se debe usar para aplicar estas fuentes de informacin para construir modelos de los sistemas? Generalmente, primero intentamos identificar los componentes principales de un sistema, y las clases de interaccin existentes entre estos componentes. Cada componente se divide en subcomponentes hasta que cada parte se ajusta a la descripcin de un modelo existente en alguna librera de modelos, o podemos usar leyes apropiadas de la naturaleza u otras relaciones para describir la conducta de ese componente. A continuacin, se definen las interfases del componente y una formulacin matemtica de las interacciones entre los componentes del modelo. Ciertos componentes podran tener parmetros del modelo y coeficientes desconocidos o parcialmente conocidos. A menudo, stos pueden estimarse ajustando datos de medidas experimentales del sistema real al modelo matemtico usando identificacin de sistemas, que en casos simples se reduce a tcnicas bsicas como ajuste de curvas y anlisis de regresin. Sin embargo, versiones ms avanzadas de identificacin de sistemas pueden incluso determinar la forma del modelo matemtico, que se escoge entre un conjunto de estructuras bsicas de modelos.
como los sistemas elctricos, los valores de una resistencia en un circuito son tpicamente conocidos con una precisin de slo entre el 5% y el 10%. Si hay una gran sensibilidad en los resultados de las simulaciones a pequeas variaciones en los parmetros del modelo, se debera sospechar de la validez del modelo. En tales casos, pequeas variaciones aleatorias en los parmetros del modelo puede conducir a grandes variaciones aleatorias en su comportamiento. Por otra parte, si la conducta simulada no es muy sensible a pequeas variaciones en los parmetros del modelo, hay una gran probabilidad de que el modelo refleje de forma bastante precisa la conducta del sistema real. Tal robustez en la conducta es una propiedad deseable cuando se disean nuevos productos, porque de otra forma podra ser costoso de fabricar, puesto que ciertas tolerancias debern mantenerse muy pequeas. Sin embargo, hay tambin una serie de ejemplos de sistemas reales que son muy sensibles a variaciones de determinados parmetros especficos del modelo. En esos casos, esta sensibilidad debera tambin reflejarse en los modelos de aquellos sistemas.
26 Peter Fritzson
Revisar crticamente las hiptesis y aproximaciones que hay detrs del modelo, incluyendo la informacin disponible sobre el dominio de validez de estas hiptesis. Comparar, en casos especiales, simplificaciones del modelo con soluciones analticas. Comparar con resultados experimentales, en los casos donde esto sea posible. Efectuar anlisis de sensibilidad del modelo. Si los resultados de la simulacin son relativamente insensibles a pequeas variaciones de los parmetros del modelo, entonces tenemos fundadas razones para confiar en la validez del modelo. Comprobar la consistencia interna del modelo. Por ejemplo, verificar que las dimensiones o unidades son compatibles en las ecuaciones. As, en la ecuacin de Newton F = m a, la unidad [N] en el lado izquierdo es consistente con [kg m s2] en el lado derecho.
En el ltimo caso, las herramientas pueden verificar automticamente que las dimensiones son consistentes, siempre que estn disponibles los atributos de unidades para las magnitudes del modelo. Esta funcionalidad aun no est disponible en la mayora de las herramientas de modelado actuales.
nivel son abstrados o promediados en el nivel superior. Por ejemplo, considere el modelado de gases con diferentes niveles de detalles, comenzando por el nivel de partculas elementales de la mecnica cuntica, donde las posiciones de las partculas son descritas mediante distribuciones de probabilidad: Partculas elementales (orbitales) modelos estocsticos. tomos (modelo del gas ideal) modelos deterministas. Grupos de tomos (mecnica estadstica) modelos estocsticos. Volmenes de gas (presin y temperatura) modelos deterministas. Gases reales (turbulencia) modelos estocsticos. Mezclador ideal (concentraciones) modelos deterministas.
Es interesante observar que el tipo de modelo cambia entre estocstico y determinista, en funcin de qu aspectos necesitamos estudiar. Los modelos estocsticos detallados se pueden promediar como modelos deterministas cuando son aproximados en el nivel inmediatamente superior de la jerarqua. Por otra parte, conductas estocsticas, tales como la turbulencia, se puede introducir a niveles macroscpicos como resultado de fenmenos caticos causados por partes deterministas que interactan.
1.6.1
Clases de Ecuaciones
Los modelos matemticos normalmente contienen ecuaciones. Hay bsicamente cuatro clases principales de ecuaciones, de cada una de las cuales damos un ejemplo a continuacin. & Las ecuaciones diferenciales contienen derivadas tales como dx , denotada por x . Por dt ejemplo:
& x = ax+3
Las ecuaciones algebraicas no incluyen ninguna variable diferenciada:
(1-1)
x 2 + y 2 = L2
Las ecuaciones en derivadas parciales contienen tambin derivadas con respecto a otras variables distintas del tiempo:
(1-2)
a 2 a = t z 2
(1-3)
Las ecuaciones en diferencias expresan relaciones entre variables, por ejemplo en diferentes instantes de tiempo:
x (t + 1) = 3x (t ) + 2
(1-4)
151
En los captulos anteriores se ha presentado una introduccin al lenguaje Modelica. En este captulo se mostrar cmo puede emplearse el Diseador de Sistemas de MathModelica para desarrollar y estudiar los modelos escritos en Modelica. El Diseador de Sistemas de MathModelica es un banco de trabajo para el modelado fsico basado en componentes, la simulacin, el anlisis y la documentacin de sistemas dinmicos usando Modelica. La interfaz de usuario consta del Editor de Modelos y del Centro de Simulacin. El Editor de Modelos es una interfaz grfica de usuario en la cual pueden componerse rpidamente modelos, usando componentes pertenecientes a cierto nmero de libreras estndar de modelos pertenecientes a diferentes dominios fsicos y disciplinas, tales como el dominio elctrico, mecnico y los diagramas de bloques. Estos modelos pueden ser simulados usando el Centro de Simulacin. Las caractersticas clave del Diseador de Sistemas de MathModelica son las siguientes:
Modelado fsico acausal, multi dominio y basado en componentes. Entorno grfico con drag & drop, zoom y navegacin jerrquica. Acceso sencillo a libreras de modelos. Generacin de cdigo C eficiente, que permite trabajar con modelos de grandes dimensiones (>100 000 ecuaciones).
Empleando el Diseador de Sistemas de MathModelica resulta sencillo componer y analizar modelos, y emplearlos para comprender y mejorar tus sistemas.
en la que se construye el modelo. Es posible acceder a modelos navegando por las libreras disponibles y seleccionando el package correspondiente. Las clases de componentes contenidos en los packages seleccionados aparecen en una ventana situada en la parte izquierda. En el ejemplo mostrado en la Figura A-1 estn abiertos los tres packages siguientes:
Modelica.Electrical.Analog.Basic Modelica.Electrical.Analog.Sources Modelica.Mechanics.Rotational
Finalmente, debajo del rea de dibujo se encuentra una ventana en la cual puede asignarse valor de los parmetros del modelo.
Para modelar el sistema, desarrollaremos tres nuevos objetos/componentes: un motor DC, un carro con un pndulo y un sistema de control. A continuacin, usaremos estos componentes para componer el sistema completo.
A.2.1. Motor DC
R L
emf SignalVoltage1 J
Ground
Es posible componer un motor DC sencillo empleando componentes de las libreras Electrical y Mechanical, pertenecientes a la Librera Estndar de Modelica. Se emplean los componentes siguientes: 1. Resistor 2. Inductance 3. Ground 4. EMF 5. Voltage Source 6. Inertia Puesto que el objetivo en este ejemplo es emplear el motor DC para mover el carro, se necesita usar una fuente de tensin controlable. sta se encuentra en la librera Modelica.Electrical.Analog.Sources. Esta fuente tiene la ventaja de tener un conector InPort (vea la Figura A-4), al cual puede conectarse una seal de control para el valor de la tensin de salida. Tanto la fuente como los dems componentes pueden aadirse al modelo mediante drag & drop.
SignalVoltage
ConstantVoltage
Input connector
Negative pin
SignalVoltage
Positive pin
Figura A-4. Izquierda: Panel que contiene las fuentes que van a emplearse. Derecha: Componente SignalVoltage. Observe que el pin positivo es el que est relleno. A.2.1.1. Aadiendo las Interfaces
Como ocurre en todo diseo de un sistema, la definicin de las interfaces de los componentes del modelo del sistema es una de las tareas de diseo ms importantes, puesto que sienta las bases de la comunicacin entre los componentes y por ello influye decisivamente en cmo se realiza la descomposicin del modelo. Todas las Libreras Estndar de Modelica contienen interfaces predefinidas, adecuadas a sus respectivos dominios (vea la Figura A-5).
Figura A-5. Vista de las clases que componen la librera Modelica.Blocks y paneles con los componentes de las libreras Modelica.Blocks.Interfaces y Modelica.Mechanics.Rotational.Interfaces.
En el caso del motor DC, se necesitan interfaces para la seal de entrada de las fuentes de tensin y para la inercia en el eje. Pueden aadirse estas interfaces al modelo tal como se muestra en la Figura A-6, de forma anloga a como se aaden los componentes para disear un modelo.
Una vez se han aadido los conectores y se han realizado las conexiones, el motor DC est listo para ser usado. Sin embargo, para facilitar su uso, aadiremos adems un icono, tal como se muestra en la Figura A-7.
Figura A-7. Representacin grfica de las capas Model e Icon, e icono resultante para el modelo del motor DC.
Primeramente, plantearemos las ecuaciones del movimiento. A partir del diagrama del cuerpo libre del carro, mostrado en la Figura A-8, se obtienen la primera y segunda ecuacin del movimiento del sistema:
(M + m)x'' + bx' + ml''cos() ml2sin() = F (I + ml2)' mglsin() = -mlxcos()
Estas ecuaciones pueden usarse para definir el modelo, lo cual se hace mediante el cdigo mostrado a continuacin. Obsrvese que se han aadido interfaces con el fin de poder conectar el pndulo al resto del sistema.
model PenduloInvertido Modelica.Mechanics.Translational.Interfaces.Flange_a flange_a1; Modelica.Blocks.Interfaces.RealOutput phiOut flange_b1; constant Real g=Modelica.Constants.g_n; parameter Modelica.SIunits.Mass M=1 "Masa del carro"; parameter Modelica.SIunits.Mass m=1 "Masa del pndulo"; parameter Modelica.SIunits.Length L=1 "Longitud del pndulo"; parameter Modelica.SIunits.Inertia I=1/12*m*L^2 "Inercia del pndulo"; parameter Real b=0.2 "Friccin constante"; Modelica.SIunits.Position s "Posicin del carro"; Modelica.SIunits.Velocity v "Velocidad del carro"; Modelica.SIunits.Acceleration a "Aceleracin del carro"; Modelica.SIunits.Angle phi "ngulo del pndulo"; Modelica.SIunits.AngularVelocity omega "Velocidad angular"; Modelica.SIunits.AngularAcceleration alpha "Aceleracin angular"; Modelica.SIunits.Force F "Force acting on wagon"; equation flange_a1.s=s; flange_a1.f=F; phiOut=phi; v=der(s); a=der(v); omega=der(phi); alpha=der(omega); (M + m)*a + b*v + m*I*alpha*cos(phi) - m*I*omega^2*sin(phi)=F; (I + m*I^2)*alpha - m*g*I*sin(phi)=-m*I*a*cos(phi); end PenduloInvertido;
feedback
OutPort1
ConstantZero
*K
L
B A D C
observer Mux3 InPort_xPos
source
ConstantQ
Switch1
L__r
Pulse1
InPort_Angle
ControlSystem1
DCMotor1
IdealGear1
Ground1
PositionSensor1
phi
AngleSensor1
Finalmente, es posible representar los resultados usando el Centro de Simulacin, donde puede simularse el modelo usando diferentes configuraciones de los parmetros y tambin pueden compararse los resultados obtenidos de diferentes experimentos.