Simulacion de sistemas industriales usando Functional Mock-up Interface
Simulación de sistemas industriales usando
Functional Mock-up Interface
Luis JoséYebra Muñoz y Vicente González Ruiz
November 14, 2016
Trabajo monográfico
Introducción
Functional Mock-up Interface (FMI)[4, 5] es un estandar abierto
que define un interfase para comunicar entre sí simuladores de sistemas
(generalmente de carácter industrial) que se ejecutan concurrentemente (en
co-simulación, según la jerga FMI). Usando dicho estándar, los diseñadores y
fabricantes de estos sistemas pueden realizar simulaciones complejas en las que
interactuan entre sí simuladores de diferentes subsistemas que se comunican
mediante primitivas definidas en este estándar. Existen diferentes configuraciones
que se pueden utilizar, desde simulaciones distribuidas de diferentes unidades FMI
(Functional Mock-up Units – FMU) ejecutándose todas en uno o varios
computadores, hasta realizaciones híbridas donde se realiza la sustitución de
algún componente físico de un sistema por otro con interfase hardware replicando
el comportamiento de un subsistema equivalente “virtual” simulado en un
computador. Esta metodología permite abaratar los costes de desarrollo y minimiza
los tiempos de fabricación.
Objetivos y justificación
Este proyecto tiene como objetivo fundamental el de
poner en práctica el estándar FMI para construir un simulador distribuido de una
de las plantas experimentales de generación de energía a partir de energía
solar, situada en la Plataforma Solar de Almería: el Campo de captadores
Cilindro-Parabólicos TCP-100 [2].
Fases de desarrollo
El proyecto se realizará siguiendo los siguientes hitos y
temporización (suponiéndose una carga diaria de 2 horas/día):
Análisis del estándar FMI: Se trata de comprender su funcionamiento
y posibilidades. 1 mes.
Análisis de la plataforma OpenStack: Estudiar y aprender su
funcionamiento (como usuario y como administrador). 1 mes.
Análisis de la interfase FMI generada de cada uno de los simuladoresparciales ya desarrollados para el Campo TCP-100: Comprensión de
su uso y funcionamiento. 1/2 mes.
Co-simulación local: Generación de los scripts correspondientes
que permitan ejecutar el simulador en un host aprovechando la
multiprogramación de los sistemas operativos actuales. 1 mes.
Co-simulación distribuida: Generación de los scripts de
orquestación que permitan realizar la co-simulación en una plataforma
multiprocesadora controlada con OpenStack. 2 meses.
Testeo del simulador: Diseñar y ejecutar una serie de experimentos
que demuestren la efectividad de simulador desarrollado y los resultados
obtenidos respecto al simulador monolítico. 1 mes.
Escritura de la memoria: 1 mes.
Materiales y métodos
Actualmente, FMI es una herramienta usada por decenas
de compañias y centros de investigación, y existen por tanto, una conjunto
significativo de herramientas (simuladores, checkers, bibliotecas, ...) [3],
especificaciones [6], ejemplos [1], etc. Por tanto, la infraestructura software y
documental está disponible y es suficientemente rica como para abordar un
proyecto como el que se plantea. En particular, el alumno realizará un uso
frecuente de las herramientas de desarrollo en lenguaje C sobre plataforma
UNIX/Linux.
Por otra parte, se dispone de una plataforma computacional basada en OpenStack
que nos permitirá co-simular un número significativo de módulos FMU. La mayor
parte de dichos módulos (al menos, los más complejos) ya existen. Se trata
básicamente, por tanto, de comprobar su funcionamiento en un sistema más
complejo como es el Campo TCP-100.
Para la generación de la memoria, se usará LATEX, que también se trata de
una herramienta completamente libre y disponible para la mayoría de los sistemas
operativos. Se proporcionará una plantilla.
El proyecto se realizará usando la técnica de las “aproximaciones sucesivas”.
Dicha metodología se basa en ir realizando versiones cada vez más adecuadas y
precisas del proyecto, que se acerquen sucesivamente a la consecución de los
objetivos del proyecto.