PROYECTO FIN DE CARRERA

Título: Uso de Tecnologías XML en la formalización de especificaciones multidisciplinares

Autor: Alicia Barrilero Martínez

Fecha: Agosto 2004

Ø     Introducción y descripción general

Ø     Verificaciones

Ø       Características de la Aplicación

Ø       Tecnologías XML

 

INTRODUCCIÓN Y DESCRIPCIÓN GENERAL

El presente proyecto se sitúa en el escenario de Sistemas de Control Distribuido con requisitos de Dominios de conocimiento que actúan sobre el sistema en estudioTiempo Real (SCDTR).

La construcción de Sistemas de Control Distribuido con requisitos de Tiempo Real aúna un conjunto de disciplinas que abordan el análisis y el diseño de dicho tipo de sistemas desde puntos de vista diferentes. Aunque estas disciplinas tienen objetivos claramente diferenciados, todas ellas son necesarias para superar satisfactoriamente la complejidad que supone el desarrollo de un SCDTR.

Los campos de conocimiento involucrados son: Ingeniería de Control (IC), Sistemas Distribuidos (SD) y Sistemas de Tiempo Real (STR). A grandes rasgos:

·         CONTROL à Es preciso diseñar algoritmos de control para satisfacer los requerimientos funcionales.

·         DISTRIBUCIÓN à También se necesitan comunicaciones de red para implementar lazos de control distribuido y mantener el rendimiento del sistema de control.

·         TIEMPO REAL à Hay que asegurar los requisitos temporales.

Todos ellos se basan en teorías y técnicas consolidadas pero en constante evolución. Cada una de estas disciplinas aporta un punto de vista diferente del mismo sistema. Tanto es así, que incluso atendiendo a la terminología utilizada, aparecen léxicos y sintaxis diferentes en cada una de ellas. Por tanto, se hace necesario “traducir” el significado semántico del análisis que se realiza en cada campo a la sintaxis, léxico y significado semántico en los otros, ya que, lógicamente, no son totalmente independientes. Todo ello se implementa mediante documentos XML: desde cada dominio de conocimiento se genera un documento XML con las actuaciones a llevar a cabo sobre el sistema en estudio para posteriormente verificar la coherencia entre ellos.

 

La verificación de coherencia se realiza mediante un mecanismo automático de intercambio de información entre las herramientas específicas de dominio: un módulo intermedio de integración de Herramientas. El mencionado módulo de Integración de Herramientas estará a su vez formado por un conjunto de módulos interrelacionados entre sí.

1.- CAPTACIÓN DE LA INFORMACIÓN: La primera fase consiste en obtener la información proporcionada por las herramientas informáticas de cada uno de los dominios y adaptarla a formato XML.

2.- MOTOR DE COLABORACIÓN: Con los documentos XML provenientes de las distintas herramientas se llevan a cabo las validaciones oportunas para lograr una coherencia global.

3.- GENERACIÓN DE CÓDIGO: Una vez garantizada la coherencia de las órdenes de las distintas herramientas es preciso actuar sobre el sistema en estudio. Para ello habrá que generar automáticamente el código de entrada al sistema en estudio.

 

 

El presente proyecto se ocupa del desarrollo de la aplicación SW que integra el Motor de Colaboración, el cual garantiza la consistencia y la coherencia de los documentos XML que provienen de las herramientas informáticas de los distintos dominios. Dicho de otro modo, se busca una solución técnica para diseñar un Motor de Colaboración basado en XML, que gestione adecuadamente la interacción entre un conjunto de herramientas heterogéneas empleadas en el diseño de Sistemas de Control Distribuido de Tiempo Real.

 

VERIFICACIONES

Para garantizar la coherencia y consistencia del modelo es preciso llevar a cabo una serie de verificaciones sobre los documentos XML obtenidos de las distintos dominios involucrados. Dichas verificaciones se realizan a varios niveles.

Las verificaciones de consistencia se realizan sobre cada vista individual (corrección, semántica y de contenidos) y finalmente se realiza la verificación de coherencia (verificación cruzada) sobre el conjunto de vistas. A continuación se explica cada una de ellas.

 

Verificación de corrección

Es preciso garantizar que el documento XML recibido se ajusta a las especificaciones del estándar XML, con lo que se pueda afirmar que el documento XML esté bien formado. Para más información sobre el estándar XML se puede consultar: http://www.w3.org/TR

 

Verificación semántica

Para cada uno de los tres dominios que se manejan en el presente proyecto se observa que cada uno se compone una semántica especializada en base a ciertas características del dominio concreto:

Con ello, se compone la semántica del dominio, que físicamente se plasma en un Schema XML. Un Schema XML es un fichero que almacena la estructura y restricciones propias del dominio. Se entiende que el Schema debería ser genérico para el dominio independientemente de la herramienta informática empleada.

La verificación semántica consiste en comprobar que efectivamente el documento XML recibido se ajusta a la gramática definida para dicho dominio, la cual se recoge en Schema XML de dicho dominio.

 

Verificación de contenidos

De forma ajena al presente proyecto se habrán especificado previamente una serie de restricciones de contenidos para los elementos de las distintas vistas que se pueden recibir. Estas restricciones se almacenan en los documentos schematron en forma de reglas de verificación.

Para poder comprobar esas reglas primero hay que convertirlas en un fichero de validación (es decir, en una transformación XSL, también llamada hoja de estilo). Posteriormente, la hoja de estilo obtenida (validador) es la que se emplea para verificar si la vista efectivamente cumple con las restricciones de contenidos impuestas por el diseñador.

 

Verificaciones cruzadas

Son validaciones de contenidos que aseguran que los contenidos de cada vista no son incoherentes con los contenidos de la vistas de los otros dominios. Dado que también se trata de validaciones de contenidos, de nuevo se hace uso de documentos schematron y transformaciones XSL.

 

CARACTERÍSTICAS DE LA APLICACIÓN

El motor de Colaboración de Modelos se traduce en una aplicación, para el desarrollo de la cual se cuenta con varios ficheros que interactúan entre sí.

Para el diseño e implementación del Motor de Colaboración de Modelos del proyecto se ha empleado Ant como entorno de desarrollo que permite invocar las acciones oportunas en cada momento. Entre esas acciones se encuentra: compilado, revisión de dependencias, validación de contenidos, etc. Asimismo la plataforma permite definir un lenguaje propio para el uso de la aplicación. Es decir, permite la creación de funciones propias para la invocación de acciones, de forma que se ajusten totalmente a los objetivos de la aplicación.

El sistema se estructura según una serie de ficheros que interactúan entre sí, tal y como se observa en la siguiente figura.

 

El fichero central se denomina Fichero de Configuración. Es el núcleo fundamental de la aplicación y es quien se encarga de ordenar la ejecución de todas las tareas precisas para el correcto funcionamiento del sistema.

Como ya es sabido, el objetivo de la aplicación es la implementación del Motor de Colaboración de Modelos, que se encarga de las validaciones de las vistas que provienen de herramientas de distintos dominios. Dichas validaciones se efectúan a distintos niveles: Validaciones de consistencia (sobre cada vista individual) y validaciones de coherencia (validaciones cruzadas entre vistas). Para ello es preciso que el sistema disponga de los ficheros de validación oportunos.

Además, los resultados de las validaciones se plasman en documentos de salida o bien en pantalla:

·         Para las validaciones de contenidos los resultados aparecen en ficheros XML de salida, que muestran el elemento concreto que no tiene el valor adecuado

·         Para las validaciones semánticas los errores aparecerán en pantalla.

Por último, se define un fichero interfaz para el usuario. Este fichero es la herramienta de que dispone el usuario para comunicar al sistema diferentes parámetros necesarios. Entre otros:

·         Directorio de trabajo, donde están almacenados a priori los ficheros necesarios para el correcto funcionamiento del sistema.

·         Nombre del fichero que recogerá cada una de las vistas y localización en que se almacenarán al entrar al sistema.

·         Nombre y localización de los schemas de dominio necesarios para las validaciones semánticas.

·         Nombre y localización de los ficheros de salida en que se almacenarán los resultados de las validaciones de contenidos.

Estos son los parámetros básicos de funcionamiento. Existen otros parámetros, propios del funcionamiento interno del sistema que también son modificables, pero no desde el interfaz de usuario. Dichos parámetros internos solo podrán ser alterados por el administrador del sistema accediendo y modificando el Fichero Central de Configuración.

TECNOLOGÍAS XML

Para el desarrollo del presente proyecto se han empleado diversas tecnologías XML:

·         XML Schema. Este tipo de documentos recogen las restricciones que han de cumplir los documentos XML para ajustarse a una cierta semántica de dominio. Más información en http://www.w3.org/TR/xmlschema-0/

·         Schematron. Se trata de un mecanismo potente de realizar validaciones de contenidos, ya que plantea un método sencillo y descriptivo de recoger las reglas a verificar. Más información en http://www.schematron.com/

·         Transformaciones XSL. Realizan transformaciones en documentos XML mediante hojas de estilo. Estas transformaciones permiten alterar la gramática del documento, sus contenidos o incluso su formato. Más información en http://www.w3.org/TR/xsl/

Además, conviene destacar que para el diseño e implementación del Motor de Colaboración de Modelos del proyecto se ha empleado Ant como entorno de desarrollo. La página principal de Ant se encuentra en http://ant.apache.org/

 


 Volver al inicio