5APORTACIONES Y LÍNEAS FUTURAS

Anuncio
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
Descargar