CHEQUEO DE INCONSISTENCIAS ENTRE LOS DIAGRAMAS DE CLASES Y DIAGRAMAS DE SECUENCIA MEDIANTE OCL
jorbol82710 de Marzo de 2014
640 Palabras (3 Páginas)411 Visitas
Cada vez son más las personas que utilizan UML para modelar sus sistemas, los diseñadores encuentran en UML la posibilidad de representar todo el sistema desde diversos puntos de vista estáticos y dinámicos, además por ser una construcción gráfica que se apoya en el lenguaje natural, resulta muy intuitivo a la hora de interpretarlo para su implementación. El UML fue adoptado por el Object Management Group (OMG) como el estándar para el modelado orientado a objetos en 1997 (UML 1.1), fue definido por una sintaxis abstracta, un conjunto de reglas de buen uso (especificadas en OCL) y una semántica expresada en lenguaje natural. Estas definiciones se han ido refinando y corrigiendo a través de nuevas versiones, hoy contamos con UML 2.0, versión publicada en septiembre de 2004, que incluye en sus especificaciones la superestructura y la infraestructura, las cuales definen la sintaxis y semántica del lenguaje, así como el lenguaje de restricciones OCL y el XMI (XML Metadata Interchange).
Algunas de las reglas del UML que son consideradas necesarias están expresadas formalmente en [OMG07], para asegurar su correcta utilización en el modelado. Otras, principalmente las reglas semánticas, son definidas informalmente para dar mayor flexibilidad y poder expresivo a los diseños en los diferentes niveles de abstracción, por diferentes metodologías de modelado o para diversos dominios de aplicación. Esta flexibilidad, sin embargo, se presta para una serie de ambigüedades que pueden terminar en errores de interpretación e inconsistencias en los modelos.
La importancia de revisar la consistencia de los modelos UML recae, por un lado, en la exactitud, generalmente un problema de inconsistencia revela errores en el diseño o en el uso del UML, si estas inconsistencias se detectan rápidamente, el impacto en el desarrollo del sistema es menor y resulta más económica la corrección de errores. Por otra parte, cuando no se detectan las inconsistencias, estas pueden pasar como errores a la etapa de implementación, lo que generaría errores en el sistema desarrollado. Corregir errores en la etapa de desarrollo suele ser muy costoso, complejo y demandar grandes periodos de tiempo, ya que un error puede incluso llevar a la redefinición de módulos o componentes dentro del sistema.
En las clasificaciones de consistencias según, consistencia intra-modelo (consistencia horizontal) es la propiedad que tiene un modelo de asegurar la conformidad sintáctica y semántica entre los modelos de una misma versión de un diseño, consistencia Inter-modelo (consistencia vertical) se da entre diagramas relacionados por una o más relaciones de transformación, es decir cuando un diagrama es un refinamiento de otro, por ejemplo, la relación entre el diagrama de clase y la primera versión del código fuente. Dentro de estas clasificaciones se puede considerar la evolución de los diagramas, un diagrama es la evolución de otro si pertenece a una versión posterior de un mismo diseño. En general, la mayoría de los trabajos en esta área tienden a enfocarse en asegurar que las transformaciones de los modelos sean consistentes-conservantes. Otras clasificaciones de consistencias son: consistencia estática y dinámica, consistencia sintáctica y semántica, consistencia multi-nivel y consistencia de error natural, las cuales no serán objeto de estudio en este proyecto.
En cuanto a la consistencia intra-modelo no existen mecanismos en UML que relacionen elementos de modelos relacionados en forma horizontal. Al no estar especificada esta relación, se pierde mucha información implícita que puede ser usada para revisar la consistencia lógica entre diagramas de un modelo.
En este trabajo presentamos los métodos desarrollados para el chequeo de inconsistencias en los modelos UML y los trabajos más representativos que han sido desarrollados e implementados
...