En 1974, Jean-Raymond Abrial publicó "Data Semantics". [2] Utilizó una notación que luego se enseñaría en la Universidad de Grenoble hasta fines de la década de 1980. Mientras estaba en EDF ( Électricité de France ), trabajando con Bertrand Meyer , Abrial también trabajó en el desarrollo de Z. [3] La notación Z se utiliza en el libro de 1980 Méthodes de programmation . [4]
Abrial ha dicho que Z se llama así "¡porque es el lenguaje definitivo!" [6] aunque el nombre " Zermelo " también se asocia con la notación Z a través de su uso de la teoría de conjuntos de Zermelo-Fraenkel .
Z se basa en la notación matemática estándar utilizada en la teoría de conjuntos axiomáticos , el cálculo lambda y la lógica de predicados de primer orden . [8] Todas las expresiones en notación Z están tipificadas , evitando así algunas de las paradojas de la teoría de conjuntos ingenua . Z contiene un catálogo estandarizado (llamado el kit de herramientas matemáticas ) de funciones y predicados matemáticos de uso común, definidos utilizando el propio Z. Se amplía con cajas de esquema Z , que se pueden combinar utilizando sus propios operadores, basados en operadores lógicos estándar, y también incluyendo esquemas dentro de otros esquemas. Esto permite que las especificaciones Z se conviertan en especificaciones grandes de una manera conveniente.
Debido a que la notación Z (al igual que el lenguaje APL , mucho antes) utiliza muchos símbolos que no son ASCII , la especificación incluye sugerencias para representar los símbolos de notación Z en ASCII y en LaTeX . También existen codificaciones Unicode para todos los símbolos Z estándar. [9]
Normas
La ISO completó un esfuerzo de estandarización Z en 2002. Esta norma [10] y una corrección técnica [11] están disponibles gratuitamente en la ISO:
la norma está disponible públicamente [10] en el sitio ITTF de ISO de forma gratuita y, por separado, está disponible para su compra [10] en el sitio de ISO;
El corrigendum técnico está disponible [11] en el sitio ISO de forma gratuita.
Verus, una herramienta propietaria creada por Compion, Champaign, Illinois (posteriormente adquirida por Motorola), para su uso en el proyecto UNIX seguro de múltiples niveles iniciado por su división Addamax.
^ Abrial, Jean-Raymond (1974), "Semántica de datos", en Klimbie, JW; Koffeman, KL (eds.), Actas de la Conferencia de trabajo de la IFIP sobre gestión de bases de datos , Holanda Septentrional , págs. 1–59
^ Meyer, Bertrand ; Baudoin, Claude (1980), Méthodes de programmation (en francés), Eyrolles
^ Abrial, Jean-Raymond; Schuman, Stephen A; Meyer, Bertrand (1980), "Un lenguaje de especificación", en Macnaghten, AM; McKeag, RM (eds.), Sobre la construcción de programas , Cambridge University Press , ISBN0-521-23090-X(describe la versión inicial del lenguaje).
^ Hoogeboom, Hendrik Jan. "Métodos formales en ingeniería de software" (PDF) . Países Bajos: Universidad de Leiden . Consultado el 14 de abril de 2017 .
^ Bowen, Jonathan (julio de 2022). "El grupo de usuarios Z: treinta años después" (PDF) . FACS FACTS . N.º 2022–2. BCS-FACS . págs. 50–56 . Consultado el 3 de agosto de 2022 .
^ Korpela, Jukka K. "Unicode Explained: Internationalize Documents, Programs, and Web Sites" (Explicación de Unicode: internacionalizar documentos, programas y sitios web). unicode-search.net . Consultado el 24 de marzo de 2020 .
^ abc "ISO/IEC 13568:2002". Tecnología de la información — Notación de especificación formal Z — Sintaxis, sistema de tipos y semántica ( PDF comprimido ) . ISO. 1 de julio de 2002. 196 págs.
^ ab "ISO/IEC 13568:2002/Cor.1:2007". Tecnología de la información — Notación de especificación formal Z — Sintaxis, sistema de tipos y semántica — Corrigendum técnico 1 (PDF) . ISO. 15 de julio de 2007. 12 págs.
Spivey, John Michael (1992). La notación Z: un manual de referencia. International Series in Computer Science (2.ª ed.). Prentice Hall .
Davies, Jim ; Woodcock, Jim (1996). Uso de Z: especificación, refinamiento y demostración. Serie internacional en ciencias de la computación. Prentice Hall. ISBN0-13-948472-8.
Ince, DC (1993). Introducción a las matemáticas discretas, especificación formal del sistema y Z. Oxford University Press . doi :10.1093/oso/9780198538370.001.0001. ISBN9780198538370.