Generación de micromundos para transformaciones de modelos

Escribir transformaciones de modelos es una tarea compleja y propensa a errores. Garantizar formalmente la correctitud de estas transformaciones es difícil, siendo requeridas técnicas de verificación formal. Una aproximación alternativa es la validación por testeo. El testeo de una trasformación de...

Descripción completa

Detalles Bibliográficos
Autores principales: Saporiti, Martín, Castro Manacero, María Noel
Otros Autores: Pons, Claudia
Formato: Tesis Tesis de grado
Lenguaje:Español
Publicado: 2007
Materias:
Acceso en línea:http://sedici.unlp.edu.ar/handle/10915/3974
Aporte de:SEDICI (UNLP) de Universidad Nacional de La Plata Ver origen
Descripción
Sumario:Escribir transformaciones de modelos es una tarea compleja y propensa a errores. Garantizar formalmente la correctitud de estas transformaciones es difícil, siendo requeridas técnicas de verificación formal. Una aproximación alternativa es la validación por testeo. El testeo de una trasformación de modelos es típicamente realizado chequeando el resultado de la transformación aplicada a un conjunto de modelos de entrada. Para que la transformación sea confiable y esté librada de errores, lo ideal es extraer del modelo un conjunto de instancias con estado representativo y verificar si las condiciones de refinamiento establecidas entre los modelos se satisfacen para esas instancias. Este conjunto de instancias es llamado “micromundo”. En la práctica, la construcción manual y la edición de los micromundos son tareas tediosas (la estructura de los datos puede ser compleja, y los modelos pueden ser difíciles de manejar). La generación de los micromundos debe entonces estar automatizada para evitar la tarea de construirlos manualmente. La motivación de este trabajo es definir e implementar una estrategia eficiente y confiable para validar transformaciones de modelos UML. Dicha estrategia se basará en la técnica de generación de micromundos la cual ha sido propuesta y explotada para la V&V de sistemas de software tradicionales.