MODELO DE TRANSFORMACIÓN FORMAL


Este modelo, propuesto por Robert Balzer en 1983, aplica una serie de transformaciones usando un soporte automatizado para convertir una especificación formal (modelo matemático) en un sistema implementable (ejecutable). Es decir, este paradigma intenta automatizar las etapas de diseño e implementación utilizando el concepto de transformación. También se denomina a este paradigma Síntesis Automática de Software.

Fases:
  • Análisis de requisitos
  • Especificación formal
  • Transformación
  • Integración del sistema final

La especificación formal se convierte en forma sistemática en una representación más detallada del sistema, matemáticamente correcta. Cada paso agrega detalle hasta que la especificación formal se convierte en un programa equivalente. Como hay muchos caminos a seguir desde la especificación hasta el sistema final, la secuencia de transformaciones y su justificación se reflejan en un registro formal de desarrollo. Se utilizan técnicas de validación del modelo matemático, como la Simulación.

La especificación de requisitos se refina en una especificación formal detallada, expresada en notación matemática. Los procesos de diseño, implementación y prueba de unidades se reemplaza por un proceso de transformaciones donde la especificación formal se refina hasta llegar a un Software.

1990s32.jpg
Proceso de Transformación formal de Robert Balzer - "Software technology in the 1990s: using a new paradigm".

A continuación podrán ver el Léxico Extendido del Lenguaje (Glosario) de este modelo:

ÍNDICE


  1. Analista de sistemas (Sujeto)
  2. Analizar requisito (Verbo)
  3. Asistente (Sujeto)
  4. Código fuente del compilador automático (objeto)
  5. Compilador Automático 1 (Sujeto)
  6. Compilador Automático 2 (Objeto)
  7. Documento de mantenimiento (Objeto)
  8. Desarrollador (Sujeto)
  9. Especificación Formal / Modelo Matemático (Objeto)
  10. Mantener (Verbo)
  11. Mantener por repetición (Verbo)
  12. Refinar / Transformar / Optimizar Mecánicamente (Verbo)
  13. Registro Formal de Desarrollo (Objeto)
  14. Requisito informal (Objeto)
  15. Simular (Verbo)
  16. Sistema Final (Objeto)
  17. Usuario Final (Sujeto)
  18. Validar (Verbo)
  19. Verificar Formalmente (Verbo)

LISTADO DE SÍMBOLOS








  • Compilador Automático 2 - (Objeto)
    • Noción
    • Impacto
      • Para su construcción los desarrolladores se ajustan a las definiciones planteadas en la especificación formal.
      • Para su construcción se utilizan lenguajes de programación específicos, que permiten definir mediante instrucciones las transformaciones que este programa será capaz de realizar.

  • Desarrollador – (Sujeto)















BIBLIOGRAFÍA


  • Balzer, R., Cheatham, T.E,, Green, C., "Software technology in the 1990s: using a new paradigm", IEEE Computer, Noviembre 83
  • Capítulo "An Overview of Formal Methods Tools and Techniques" - Rigorous Software Development - Almeida, J.B., Frade, M.J., Pinto, J.S., Melo de Sousa, S. 1st Edition., 2011, XIII, 307 p.
  • A Formal Approach to Modeling and Model Transformations in Software Engineering - Adrian Rutle, Uwe Wolter, and Yngve Lamo (University of Bergen - Norway) - 2008
  • Apunte de la cátedra - "Modelos de Procesos de Software" - Hadad, Graciela; Kaplan, Gladys; Doorn, Jorge - 2010


AUTORES


  • Mario Bondar
  • Matias Buono
  • Leonel Larreta