domingo, 8 de diciembre de 2013

Lenguaje de Especificación Formal Z "en breve"

Lenguaje Z.


Es un lenguaje de especificación formal empleado en Ingeniería de software para la especificación formal de un sistema de cómputo, se emplea de forma previa a la programación, desarrollado por Jean-Raymound Abrial en los laboratorios de computación de la universidad de Oxford.

Se sustenta en la teoría de conjuntos, cálculo de lambda y la lógica de primer orden, emplea esquemas para la representación de estados del sistema y las operaciones que se efectúan sobre el mismo, los cuales contienen variables y predicados que afectan los valores de las variables.

Un ejemplo de esquema se muestra a continuación:



En donde la primera línea establece el conjunto de todos los nombres NAME y el conjunto de todas las fechas DATE.
 
Brithdaybook  es el esquema principal y define el espacio de estados del sistema. Se establecen las variables: known (Contacto)  el cual representa el conjunto de nombres con cumpleaños  agendados y birthday (cumpleaños) es una función parcial con dominio en el conjunto NAME e imagen en el conjunto DATE; en la siguiente parte del esquema se define una condición que indica que el conjunto know es igual al dominio de la función birthday.

Por otra parte en la búsqueda de información al respecto de las ventajas y desventajas de Z, es bastante la falta de documentación al respecto, se podrían citar como tal las ventajas y desventajas de los método formales, sin embargo engloban el conjunto de todos los métodos formales, por lo que externo lo que percibí al respecto durante la presente búsqueda de información.

Ventajas:
Se convirtió en una norma internacional bajo ISO denominada: ISO/IEC 13568
Existen distintas herramientas de  apoyo para el testeo como: Z Word Tools y  Community Z Tools Project (CZT)

Desventajas:
Poca documentación que guíe a fondo el aprendizaje e implementación de método formal.
Carencia de ejemplos prácticos de aplicación.
Pocos casos de éxito docmentados.

Referencias.
Wikipedia. 2013. Artículo. Lenguaje Z.  Consultado el 08 de diciembre de 2013 en http://es.wikipedia.org/wiki/Lenguaje_Z
Ejemplo de Especificación en Z, consultado el 08 de diciembre de 2013 en http://trevinca.ei.uvigo.es/~alma/docencia/mfes/TRANS_TEMA2.pdf



Enlaces.

Proyecto(CZT) 
Blog Ingeniería en Software

No hay comentarios: