5 APORTACIONES Y LÍNEAS FUTURAS Aportaciones teóricas y prácticas de la tesis y líneas de trabajo futuras que se derivan de las mismas. 5.1 Aportaciones 5.2 Líneas Futuras Capítulo 5: Aportaciones y Líneas Futuras 55..11 A APPO OR RT TA AC CIIO ON NE ESS Confrontación de las motivaciones y objetivos iniciales con las aportaciones (teóricas y prácticas) finales. Como objetivo general del trabajo, el capítulo inicial de esta memoria planteaba: La definición de un entorno o marco de trabajo multidisciplinar en el que se integren herramientas propias de cada uno de los dominios particulares implicados en el desarrollo de SCDTR. Este objetivo se desglosaba en otros objetivos parciales: • Definición formal (con capacidades de validación) de un metamodelo por cada dominio implicado. • Coordinación formal de los metamodelos. • Búsqueda y desarrollo de soluciones técnicas para dar soporte a los metamodelos y su coordinación. • Definición de la metodología (Proceso SW) a seguir en el desarrollo de un SCDTR en el entorno. • Descripción de los mecanismos de extensión del entorno. El trabajo realizado responde a estos objetivos y abarca los diferentes dominios implicados en el desarrollo de SCDTR desde la perspectiva de formalizar las características propias de cada dominio, así como las partes comunes que permitan la colaboración entre los expertos de dominio a través de herramientas especializadas. La aportación principal del trabajo se materializa en el diseño general de la arquitectura de un entorno abierto, flexible y extensible que se adapta a las necesidades concretas de cada proyecto. Esta arquitectura permite la integración de aquellas herramientas más conocidas y utilizadas en cada dominio gracias al desacoplo entre la semántica de estas herramientas (MCH) y la de los modelos abstractos de dominio (MCM) que considera el entorno. La arquitectura presentada incluye las tecnologías a utilizar en cada módulo, tanto para su implementación como para la gestión del entorno. Esta arquitectura se fundamenta en el empleo de la programación declarativa y se caracteriza por el uso extensivo de pequeños lenguajes XML. Entre las ventajas que aportan estos lenguajes caben destacar: fáciles de usar y entender, ajustados a las Pág. 5-1 Capítulo 5: Aportaciones y Líneas Futuras necesidades de cada especialista (no solo para programadores), sencilla modificación y extensión (incluso dinámica porque no se requieren recompilación con cada cambio) y uso de APIs y analizadores estándar comunes para su manipulación y validación. Pero quizás su característica más importante sea la capacidad de convertirse en lenguajes formales (no en el sentido matemático, si no en cuanto a que se pueden validar las instancias). Los requisitos de cada lenguaje se pueden expresar en forma de gramáticas (schemas) y/o en forma de reglas (schematrones) y las transformaciones entre ellos se describen en hojas de estilo (XSLT). En el capítulo de Motivación se citaban algunos párrafos del sexto Programa Marco para ilustrar la actualidad del tema. Se recuperan aquí esas pinceladas sobre algunas prioridades estratégicas del Programa Marco para comprobar que, efectivamente, se ha trabajado y se han aportado soluciones en esas líneas. − SW intermedio (middleware) para la gestión, control y uso de recursos plenamente distribuidos. Se ha trabajado en este punto entendiendo las herramientas externas que se integran en el entorno como recursos y resolviendo su conexión con el servidor (MCH). − Entornos de creación de servicios multifuncionales […] para hacer frente al crecimiento y a la expansión esperada de las aplicaciones y servicios. El cuidado que se ha puesto en la flexibilidad y extensibilidad permite el crecimiento del entorno en aplicaciones y servicios. − Nuevos marcos de componentes para el desarrollo de la funcionalidad de los servicios, incluyendo la metainformación, semántica y taxonomía de los bloques elementales. La metainformación, semántica y taxonomía de los componentes se ha gestionado a través de XML en el entorno. − Nuevas estrategias, algoritmos e instrumentos para conseguir la sistematización y precisión en el diseño, creación de prototipos y control de sistemas distribuidos complejos. Precisamente el entorno multidisciplinar se concibe como un instrumento que sistematice el desarrollo de este tipo de sistemas. − Sistemas incorporados en red, detección distribuida, informática, recursos de almacenamiento y su intercomunicación. Mientras que las labores de coordinación y almacenamiento se centran en el MCH, las herramientas particulares de dominio se comunican con él a través de la red. − Optimización del ciclo de vida de los sistemas, productos y servicios industriales. Los productos y la producción deben orientarse cada vez en mayor medida hacia el servicio y el ciclo de vida. Se enfatiza la Arquitectura Orientada al Servicio en el entorno y se enmarcan todos los recursos de acuerdo al ciclo de vida que se ha definido. Pág. 5-2 Capítulo 5: Aportaciones y Líneas Futuras − Nuevos conceptos industriales basados en enfoques relativos al ciclo de vida que permitan […] la gestión eficiente de la información y su transformación en conocimiento utilizable dentro de la cadena del valor. El entorno intenta sistematizar la transmisión entre dominios de información relevante en un proyecto. Además, apunta hacia el uso de técnicas de gestión de conocimiento para sistematizar también la transmisión de información relevante entre diferentes proyectos, para sintetizar informaciones de dominio. Se enumeran a continuación, de forma más detallada, las aportaciones teóricas y prácticas de este trabajo, así como las publicaciones a las que ha dado lugar hasta el momento: Aportaciones teóricas: ○ Definición de una arquitectura del entorno adecuada para cumplir con los objetivos planteados. El desacoplo del Motor de Colaboración de Modelos (MCM) y el Motor de Colaboración de Herramientas (MCH) permite resolver la coordinación entre modelos de dominio y el enlace de éstos con las herramientas, respectivamente. ○ División del problema de la integración en diferentes partes: integración de gramáticas, de modelos de datos, de técnicas para el desarrollo de SW, de conocimiento y de aplicaciones finales. ○ Estudio del espectro de soluciones técnicas adecuadas para cada una de las secciones anteriores. ○ Diseño de un Proceso SW ó ciclo de vida para los SCDTR que se fundamenta en el empleo de especificaciones formales y en el uso de generadores automáticos de código. ○ Desarrollo de los conceptos de la metodología MDA a dos niveles: el del desarrollo de la propia aplicación final (PIM y PSM) y el de la problemática de integración de herramientas (TIM y TSM). ○ Concepción del entorno acorde a una arquitectura orientada a servicio (SOA) y a un interfaz basado en servicios web para las herramientas. Esta filosofía de aplicación distribuida rompe con el estilo clásico de aplicación aislada. Aportaciones prácticas. Se han creado diseños (basados en las tecnologías propuestas) que demuestran la viabilidad del desarrollo del entorno: ○ Desarrollo práctico de la arquitectura teórica definida en base a la separación de problemáticas y a la programación declarativa a través de pequeños lenguajes ó lenguajes de dominio. Pág. 5-3 Capítulo 5: Aportaciones y Líneas Futuras ○ Desarrollo de todo un conjunto de soluciones técnicas, basadas en tecnologías XML, para los componentes del entorno. Entre estas soluciones técnicas se incluyen: ∗ Definición formal de un posible metamodelo común (Schema Arch.xsd) para la descripción de arquitecturas. Se reutiliza para definir las arquitecturas particulares de cada dominio. ∗ Definición formal de posibles metamodelos de dominio (schemas con schematrones embebidos). ∗ Definición formal implicaciones entre (reglas los schematron) metamodelos de de las dominio interacciones. tomados o como ejemplo. ∗ Diseño de posibles lenguajes XML adecuados para cubrir todas las necesidades del Proceso SW (SADML, CTWML, SEPML). ∗ Descripción de las traducciones entre instancias o vistas de dominio (hojas de estilo XSLT). ○ Primera aproximación a la definición de lenguajes de dominio XML para cada una de las comunidades implicadas. Estos lenguajes, una vez perfeccionados, serán en sí mismos (e incluso fuera del entorno) de gran utilidad porque establecerán gramáticas estándar para los especialistas y aplicaciones del dominio. ○ Apertura de herramientas propietarias a través de un interfaz XML. Simulink, RTF y EdROOM se abren a la colaboración con otras aplicaciones gracias a la integración de un interfaz XML y al empleo de Chaperon para traducir texto estructurado en XML. ○ Desarrollo de prototipos parciales orientados a la creación del entorno: ∗ Editor gráfico SVG para los modelos de dominio. ∗ Prototipo básico de MCH con servicios web. ∗ Prototipo generador de código en formato de texto estructurado definido en el estándar IEC 61131 de programación de PLCs. ○ Documentación de los modelos XML para un caso de estudio real (robot móvil autónomo). Publicaciones. El trabajo realizado en los últimos años en el entorno de esta tesis doctoral ha dado lugar a las siguientes publicaciones: ○ An integrated framework for the development of real-time distributed control software based on CAN bus. M. Marcos, J. M. Bass, P. J. Fleming, J. Pág. 5-4 Capítulo 5: Aportaciones y Líneas Futuras Portillo. Proceedings of the 14th World Congress of IFAC, Beinjing, P. R. China, julio 1999. ISBN 0 08 043248 4, págs 447-452. ○ BERTA (Basic Environment for Real-Time System Analysis). M. Marcos, N. Martín, J. Portillo. Proceedings del III congreso de usuarios de Matlab, noviembre de 1999, Madrid. ISBN 84-699-1358-1, págs 393-402. ○ Basic Environment for Real Time Systems Analysis using CAN bus. M. Marcos, J. Portillo. Proceedings of the WRTP’2000, Palma de Mallorca (Spain), May 2000. ISBN: 0-08-043686-2, págs 197-202. ○ Matlab-Based Real-Time Framework For Distributed Control Systems. M. Marcos, J. Portillo, J. M. Bass. Proceedings of the AARTC’2000, Palma de Mallorca (Spain), May 2000. ISBN: 0-08-043685-4, págs 175-180. BEST STUDENT PAPER PRIZE. ○ Contributions to the design of real time distributed control systems. J. Portillo, M. Marcos. European Control Conference, septiembre de 2001, Oporto (Portugal). ISBN: 972-752-047-2, págs 99-100. ○ rtfCANopen: Una implementación modular y económica aplicada en el control de un móvil autónomo. J. Portillo, M. Marcos, A. Olarrra, I. Cabanes. Jornadas de Automática 2002. Tenerife, septiembre 2002. ○ Modelling of Distributed Control Systems using XML. J. Portillo, M. Marcos. Proceedings Work-In-Progress Session, 14th Euromicro Conference on RealTime Systems. Vienna, junio 2002. ○ Perfil uml para especificación y arquitectura hardware y software para sistemas de control basados en IEC1131-3. E. Estévez, U. Gangoiti, M. Marcos, J. Portillo, I. Cabanes, I. Sarachaga, D. Orive, S. Calvo, J. Barandiarán. Jornadas de Automática 2003. León, septiembre 2003. ○ A CORBA-based co-simulation framework for integrating COTS tools. M. Marcos, U. Gangoiti, E. Estévez, J. Portillo, I. Calvo. CONTROLO’04, Sixth Portuguese Conference on Automatic Control. Pendiente de aceptación. ○ Loose integration of Real Time tools on the basis of XML and Web Applications. J. Portillo, M. Marcos, O. Casquero. 15th Euromicro Conference on Real-Time Systems. Pendiente de aceptación. Pág. 5-5 Capítulo 5: Aportaciones y Líneas Futuras 55..22 L FU UT NE TU EA UR ASS F RA ASS LÍÍN Sobre las posibles líneas de evolución a partir de los resultados de la tesis. El trabajo realizado, dada la naturaleza de un entorno multidisciplinar, es bastante extenso y rico en abstracciones y conceptos genéricos. Se ha realizado un esfuerzo por acompañar todos los conceptos genéricos con técnicas concretas que permiten su implementación, sin embargo, el resultado obtenido no es un prototipo final cerrado. En realidad, más que dejar cosas zanjadas, esta tesis abre muchas puertas para el trabajo futuro. Es decir, esta tesis se concibe como el punto de partida de otros trabajos para refinar los modelos y mecanismos internos del entorno, para desarrollar prototipos cada vez más completos, y sobre todo, para ir expresando, a través de lenguajes formales XML y en los términos aquí propuestos, los avances que la investigación de dominios específicos vaya produciendo. Ya existen proyectos concretos en marcha en los que se irán desarrollando y perfeccionando las conclusiones de esta tesis. Concretamente, el proyecto MCYT DPI-2003-02399 (a desarrollar entre los años 2004 y 2006) permitirá completar y depurar los metamodelos de dominio y los lenguajes XML que permiten su expresión. Como ya se ha enfatizado en la documentación, el objetivo de este trabajo no era la definición completa y exhaustiva de unos metamodelos de dominio. Básicamente, se han definido unas primeras aproximaciones muy simples, y totalmente discutibles, para poder demostrar sobre ellas cómo las tecnologías XML permiten la expresión y transformación formal de metamodelos. Este proyecto definirá con mayor rigor, aunque utilizando la misma filosofía y técnicas, los metamodelos de dominio. Además, se construirá un prototipo completo del Motor de Colaboración de Herramientas integrando herramientas comerciales concretas y se utilizará en un caso de estudio con suficiente complejidad como para promover mejoras en los metamodelos. Otro proyecto en curso es FLEXICON-IST-2001-37269 (a desarrollar entre los años 2003 y 2005), subvencionado por la Comisión Europea. Algunos de los conceptos del trabajo de investigación que se presenta se están aplicando en este proyecto y otros se verán ampliados. Por ejemplo, uno de los objetivos de este proyecto es la Co-Simulación entre herramientas COTS. Se plantea ésta como un flujo de información horizontal entre herramientas, pero a diferencia del MCH en donde el intercambio de datos sólo se da antes ó después del uso de una herramienta, en FLEXICON el flujo de información entre herramientas se da durante el propio tiempo de trabajo de la herramienta. La colaboración tiene lugar en tiempo de ejecución en lugar de darse entre tiempos de ejecución. Pág. 5-6 Capítulo 5: Aportaciones y Líneas Futuras Por otra parte, se espera que varios de los proyectos de tesis doctoral que a medio plazo se van a desarrollar en el seno de GCIS (Grupo de Control e Integración de Sistemas) tengan como tronco común ó marco general los resultados del presente trabajo. De este modo, trabajos diversos del grupo como investigaciones sobre servicios CORBA, buses de campo con requisitos de tiempo real, algoritmos avanzados de control, modelado de sistemas en UML ó programación de autómatas, encontrarán en el entorno multidisciplinar y en los lenguajes de dominio la manera de complementarse y coordinarse. De manera más detallada, se listan a continuación algunos de los puntos en los que se podrían centrar estos trabajos futuros: Se espera poder profundizar en la identificación de las implicaciones cruzadas entre dominios y utilizar las técnicas que para capturarlas y expresarlas se han desarrollado en la tesis. Estandarización del uso de lenguajes específicos de dominio basados en XML, aunque con un núcleo expresivo común. Los desarrollados en la tesis son simples ejemplos, pero un adecuado trabajo de divulgación en las comunidades del control y del tiempo real debería permitir acordar entre los especialistas ciertas gramáticas que encaminarían sinergias dentro de cada campo y entre diferentes campos. Profundización en la normalización de las aplicaciones web. Realmente, parece que en poco tiempo todas las aplicaciones se concebirán mirando a la red. El avance en el punto anterior (normalización lenguajes de dominio en XML) es imprescindible para coordinar a través de internet diferentes aplicaciones de dominio. Adopción de las nuevas versiones de los estándares UML, MDA, MOF y XMI. En el presente trabajo de investigación se ha buscado la descripción desde la generalidad y el estándar pero adaptándose a lo particular exigido por cada dominio. A corto plazo se espera que UML, MDA, XMI permitan desarrollar este concepto en toda su extensión. En la medida en que se consiga se podrían ir agrupando en una estructura única y con el origen común de UML todos los desarrollos de este trabajo. Ya se vislumbran algunas de las analogías que entrarían en juego entre UML y el desarrollo XML: ○ Metaclases UML Æ elementos genéricos schema XML ○ Perfiles UML Æ extensiones de schemas genéricos XML Mayor protagonismo de los generadores automáticos de código. Los nuevos lenguajes de programación como Java se prestan mejor a técnicas de generación automática de código a partir de declaraciones de modelos genéricos (proceso SW en la presente memoria) porque en estos lenguajes se separa limpiamente la implementación a través de interfaces claros y tienen Pág. 5-7 Capítulo 5: Aportaciones y Líneas Futuras bastante redundancia declarativa. Son incómodos para programar a mano pero potentes en términos de portabilidad, flexibilidad y generación automática de código. Plataforma Eclipse. Merece un comentario especial por lo genérico de esta aproximación y por los paralelismos entre su concepción y el entorno multidisciplinar objeto de esta memoria. Eclipse tiene todas las funcionalidades necesarias para convertirse en el contexto en el que implementar el Motor de Colaboración de Herramientas y parece un candidato ideal para esta tarea. De hecho, conviene seguir la evolución del proyecto global, y especialmente de los subproyectos EMF (Eclipse Modelling Framework), XSD (XML Schema Infoset Model) y la plataforma de herramientas web para materializar en ese contexto las conclusiones y desarrollos del presente trabajo. Especificación formal de un lenguaje XML para definir las peculiaridades de buses de campo concretos como CAN. Referencias: ○ XML-based Management Framework for CANopen Systems. Martin Wollschlaeger. ICC 2000, Amsterdam ○ XML-based representation and monitoring of CAN devices. Dieter Büler, Gerhard Gruhler, ICC 2000, Amsterdam Expresión en el entorno de los resultados de las investigaciones de las tesis Balbastre (2002), Martí (2002), Alves (2003), Palencia (1999) y otras respecto a las sinergias entre dominios. Pág. 5-8