Sunteți pe pagina 1din 3

ESPECIFICACION FORMAL

Introduccin La denominacin mtodos formales se usa para referirse a cualquier actividad relacionada con representaciones matemticas del software , incluyendo la especificacin formal de sistemas, anlisis y demostracin de la especificacin, el desarrollo transformacional y la verificacin de programas. Todas estas actividades dependen de una especificacin formal del software. Una especificacin formal del software es una especificacin expresada en un lenguaje cuyo vocabulario, sintaxis y semntica estn formalmente definidos. Esta necesidad de una definicin formal significa que los lenguajes de especificacin deben basarse en conceptos matemticos cuyas propiedades se comprendan bien. La rama de las matematicas usada es la de matemtica discreta, y los conceptos matemticos provienen de la teora de conjuntos, la lgica y el algebra. Especificacion Formal en el proceso del software El desarrollo de sistemas crticos normalmente implica un proceso de software que utiliza un plan basado en el modelo de ciclo de desarrollo en cascada. Tanto los requerimientos del sistema como el diseo se expresan con detalle y son analizados cuidadosamente antes de que comience la implementacin. Si se desarrolla una especificacin formal del software, este normalmente tiene lugar despus de que se hayan especificado los requerimientos del sistema, pero antes del diseo detallado de dicho sistema. Uno de los beneficios de la especificacin formal es al capacidad para descubrir problemas y ambigedades en los requerimientos del sistema. En etapas tempranas del proceso, la especificacin debera ser <<orientada al cliente>>. Deberia redactarse la especificacin para que el cliente la pueda comprender, sin embargo, la etapa final del proceso, que es la construccin de una especificacion completa, esta orientada principalmente al contratante del software. Este especifica los detalles de la implementacin del sistema. Puede utilizarse un lenguaje formal en esta etapa para evitar la ambigedad en la especificacin del software.

A medida que se desarrolla la especificacin con detalle, se incrementa el conocimiento sobre dicha especificacin. La creacin de una especificacin formal obliga a realizar a realizar un anlisis detallado del sistema que normalmente revela errores e incongruencias en la especificacin informal de requerimientos. Esta deteccin de errores es probablemente el argumento mas potente para desarrollar un especificacin formal. La especificacin formal ayuda a descubrir problemas de los requerimientos que pueden ser muy caros de corregir mas tarde. El desarrollo y anlisis de una especificacion formal desplaza las cargas de los costes de desarrollo hacia las primeras etapas del mismo. La siguiente figura muestra como los costes del proceso del software es probable que se vean afectados por el uso de una especificacin formal.

Cuando se usa un proceso convencional, los costes de validacin constituyen alrededor del 50% de los costes de desarrollo, y los costes de implementacin y diseo constituyen alrededor de dos veces los costes de especificacin. Con la especificacin formal, los costes de especificacin e implementacin son comparables, y los costes de validacin del sistema se reducen de forma significativa. Asi como el desarrollo de una especificacin formal descubre problemas en los requerimientos, tambin se evita el volver a realizar el trabajo para corregir dichos problemas una vez diseado el sistema. Se han utilizado dos aproximaciones fundamentales para redactar especificaciones detalladas para sistemas de software industriales. Estas son: 1. Una especificacin algebraica, en la que el sistema se describe en funcin de las operaciones y sus relaciones. 2. Una aproximacin basada en modelos, en la que se construye un modelo del sistema utilizando construcciones matematicas como conjuntos y sucesiones, y las operaciones del sistema se definen indicando como estas modifican el estado del sistema. Se han desarrollado diferentes lenguajes dentro de estas dos aproximaciones para especificar sistemas secuenciales. La siguiente figura muestra ejemplos de lenguajes en cada una de estos enfoques:

Se pueden ver que la mayora de estos lenguajes fueron desarrollados en la dcada de los 80. Lleva varios aos refinar un lenguaje de especificacin formal, por lo que la mayor parte de la investigacin en especificacion formal se basa actualmente en estos lenguajes mas que interesarse en inventar notaciones nuevas.

S-ar putea să vă placă și