2009/11/30

Calidad en modelos conceptuales: un análisis multidimensional de modelos cuantitativos basados en la ISO 9126

Para no abandonarlos mucho, en mis próximos posts les dejaré una serie de ensayos que he realizado en mi maestría (Maestría en Sistemas Computacionales). Por lo pronto, el primero de ellos...


Calidad en modelos conceptuales: un análisis multidimensional de modelos cuantitativos basados en la ISO 9126 [1]


Una vez posteados los ensayos, espero poder platicarles sobre cómo crear una bodega de datos (Datawarehouse) con Oracle, MySQL o PostgreSQL, a través de un servidor OLAP.


Referencias


[1] Marín, B., Condori-Fernández, N. y Pastor O. 2007. Calidad en modelos conceptuales: un análisis multidimensional de modelos cuantitativos basados en la ISO 9126. RPM-AEMES, VOL. 4, Nº Especial, Octubre 2007. ISSN: 1698-2029.

2009/10/15

Metamodel-Based Model Conformance and Multiview Consistency Checking

Paige et al. [1] presentan una investigación donde comparan dos lenguajes (UML y BON [2]) para el modelado de sistemas, así como sus respectivas consistencias entre múltiples vistas del sistema, es decir, si un diagrama (estructural por ejemplo, el caso de diagramas de clases) es consistente y refleja el mismo sistema modelado a partir de otro diagrama (de comportamiento, por ejemplo, diagramas de secuencia).


Su investigación incluye una breve y no formal revisión de los conceptos sobre el modelado de sistemas en BON y su relación con el lenguaje de programación Eiffel [3] para el manejo de contratos, y por otra parte una revisión de UML 2.0 y OCL 2.0. Además, mencionan algunas ventajas y desventajas de ambos, por mencionar unas, para el caso de BON y Eiffel son lenguajes no tan difundidos como UML y OCL, no obstante, proveen una semántica más formal (aunque incompleta) que éstos últimos.


Indican también, siete criterios a considerar para las técnicas de meta-modelado y el multiview consistency checking (MVCC), a saber:



1) comprensibilidad (understandability) que implica que las descripciones usadas son entendibles para un ingeniero de software con una experiencia razonable en lenguajes de modelados pero no necesariamente experiencia en métodos formales;
2) correctitud (correctness), esto es, que las descripciones del meta-modelo sean verificadas contra sus especificaciones;
3) completitud (completeness) es decir, todas las características del lenguaje de modelado (incluyendo restricciones de consistencias entre múltiples vistas) son soportadas por la técnica de meta-modelado;
4) mantenibilidad (maintainability) esto implica que las descripciones soporten extensión, refactorización y en caso de requerirse, modificaciones completas;
5) herramientas de soporte (tool construction) lo que representa que existan y/o puedan desarrollarse herramientas que faciliten la producción de las descripciones;
6) verificación y validación basadas en herramientas (tool-based V&V) es decir, que existan y/o puedan desarrollarse herramientas que puedan asistir en la verificación y validación de las descripción y
7) automatización en MVCC (automation in MVCC), que la consistencia entre múltiples vistas pueda ser verificada de manera automática.


Los autores concluyen en lo que, con la lectura minuciosa de la investigación se puede entrever: no existe una técnica definitiva para el meta-modelado y por ende, para el MVCC, que sea suficiente. Más bien, lo que a algunos lenguajes de modelado les falta, otros lo cubren y viceversa. Sin embargo, de acuerdo con los autores, pareciera ser que UML parece ser más factible de ser más estudiado y explotado dado su grado de madurez y pese a su informal concepción ya que se han hecho esfuerzos en este sentido, es decir, formalizar la especificación de UML.


Indican además, que no siempre es preferible un lenguaje de meta-modelado más expresivo que uno menos expresivo. PVS [4] es más expresivo que BON y Eiffel, y puede capturar todas las reglas de bien-formidad (well-formedness), sin embargo, lo que ofrece en completitud, lo pierde en términos de automatización y facilidad de uso. Eiffel, como lenguaje de meta-modelado, es incompleto pero aún puede ser usado para capturar y verificar casi todas las reglas de well-formedness de manera automática.


Para concluir, y como los propios autores lo mencionan, la investigación provee elemento cualitativos y comparaciones no tan formales y/o cuantitativas, por lo que recomiendan un conjunto de comparaciones más cuantitativas.


Referencias


[1] R.F. Paige, P.J. Brooke y J.S. Ostroff. Metamodel-Based Model Conformance and Multiview Consistency Checking. ACMTransactions on Software Engineering and Methodology,Vol. 16, No. 3, Article 11, Publication date: July 2007.


[2] K. Walden y J. Nerson. 1995. Seamless Object Oriented Software Architecture. PrenticeHall.


[3] Eiffel Software. Eiffel Software
http://www.eiffel.com/


[4] S. Owre, N. Shankar, J. Rushby y D. Stringer-Calvert. 1999. PVS Language Reference.
http://pvs.csl.sri.com

Formalizing and Validating UML Architecture Description of Web Systems

Claramente es una extensión del trabajo anteriormente mostrado. Bajo el concepto de SO-SAM, esta vez Fu et al. [1] muestran cómo a partir de diagramas de estados y diagramas de secuencias modelados en UML, generan RdP y fórmulas de lógica temporal respectivamente.


Para cada uno de los diagramas involucrados, es decir, diagramas de estado y diagramas de secuencia, proponen reglas para sus respectivas transformaciones a RdP y fórmulas de lógica temporal. No obstante, señalan la inherente imposibilidad de probar la correctitud de las transformaciones, sin embargo, validan cuidadosamente la completitud y consistencia de sus reglas de transformación.


Para demostrar su propuesta proponen un caso de estudio que consiste en el procesamiento de imágenes usadas en aplicaciones Web distribuidas. La validación de su técnica se encuentra implícitamente en los métodos formales utilizados (RdP y lógica temporal) y desarrollan su propuesta a través del lenguaje Maude [2].


De acuerdo con los autores, los resultados presentados, muestran que es posible verificar propiedades estructurales y de comportamiento de los sistemas. Finalmente concluyen que su técnica combina los beneficios de UML (fácil de entender y numerosas herramientas de soporte) y la fácil manera de análisis de SO-SAM. Indican además, que el costo de su propuesta se centra en básicamente tres partes: la construcción de especificaciones algebraicas, la generación de redes de alto nivel a partir de los diagramas de estado y la creación de fórmulas basadas en lógica temporal a partir de los diagramas de secuencia.


Referencias


[1] Y. Fu, Z. Dong y X. He. Formalizing and Validating UML Architecture Description of Web Systems. ICWE’06 Workshops, July 1014, 2006, Palo Alto, California, USA. ACM 1595934359/06/07.


[2] Department of Computer Science, University of Illinois at Urbana-Champaign. The Maude System.
http://maude.cs.uiuc.edu/