Este
modelo se basa en transformaciones formales de los requisitos hasta llegar a un
programa ejecutable.
Figura 13: Paradigma de programación automática.
La Figura
7 (obtenida desde [20]) ilustra un paradigma ideal de programación automática.
Se distinguen dos fases globales: especificación (incluyendo validación) y
transformación.
Las
características principales de este paradigma son: La especificación es formal
y ejecutable constituye el primer prototipo del sistema, la especificación es
validada mediante prototipación. Posteriormente, a través de transformaciones
formales la especificación se convierte en la implementación del sistema, en el
último paso de transformación se obtiene una implementación en un lenguaje de
programación determinado. El mantenimiento se realiza sobre la especificación
(no sobre el código fuente), la documentación es generada automáticamente y el
mantenimiento es realizado por repetición del proceso (no mediante parches
sobre la implementación).
Observaciones
sobre el desarrollo formal de sistemas:
· Permite demostrar la corrección
del sistema durante el proceso de transformación. Así, las pruebas que
verifican la correspondencia con la especificación no son necesarias.
· Es atractivo sobre todo para
sistemas donde hay requisitos de seguridad y confiabilidad importantes.
· Requiere desarrolladores
especializados y experimentados en este proceso para llevarse a cabo.
Especificación
Informal
En esta
especificación la descripción se realiza en lenguaje natural, con lo cual
resultan ambiguas (confuso, dudoso) e imprecisas.
Especificación
formal
Describe
de manera precisa las propiedades que un sistema de información debe tener, sin
preocuparse por la forma de obtener dichas propiedades. Describe lo que el
sistema debe hacer sin decir cómo se va a hacer.
§ Se proporciona información detallada sobre los requisitos del software y
del diseño.
§ Las especificaciones formales pueden ser procesadas usando herramientas
de software, esto hace posible efectuar animaciones de la
especificación, proveyendo de esta forma un prototipo del software.
La programación
automática pretende
que sea el propio ordenador o el software el
que escriba los programas que necesitan las personas,
siguiendo las indicaciones de estas.
Transformaciones formales
'Cada paso,
denominado refinamiento, disminuye el nivel de abstracción del modelo
hasta llegar a una descripción ejecutable.
No hay comentarios:
Publicar un comentario