Z notation
A notação Z (pronunciada zɛd), nomeada dos Axiomas de Zermelo-Fränkel, é uma linguagem de especificação formal usada para descrever e modelar sistemas computacionais. É direcionado à especificação direta de programas de computador e na formulação de testes sobre o comportamento específico do programa.
Z foi originalmente proposta por Jean-Raymond Abrial em 1977 com a ajuda de Steve Schuman e Bertrand Meyer. Z foi mais desenvolvida no Programming Research Group (Grupo de Pesquisa de Programação) em Oxford University (Universidade de Oxford), onde Abrial trabalhou no começo dos anos 80.
Z é baseada na notação matemática padrão usada no axioma da teoria dos conjuntos, cálculos lambda, e lógica predicada de primeira ordem. Todas as expressões na notação Z são tipadas, conseqüentemente desviando alguns dos paradoxos da Teoria Ingênua dos Conjuntos. Z contém um catálogo padronizado (chamado de caixa de ferramentas matemáticas) de funções matemáticas mais freqüentemente usadas e predicados.
Apesar da notação Z usar muitos símbolos não-ASCII, a especificação inclui sugestões para renderizar os símbolos da notação Z em ASCII e em Látex. Uma fonte ttf de Z também está disponível para download.
Padronização A ISO completou a padronização de Z em 2002. Esta padronização pode ser obtida diretamente da ISO.
[editar] Ver também
[editar] Bibliografia
- J. Michael Spivey. The Z Notation: a reference manual. 2nd edition ed. [S.l.]: Prentice Hall International Series in Computer Science, 1992.
- Jim Davies and Jim Woodcock. Using Z: Specification, Refinement and Proof. [S.l.]: Prentice Hall International Series in Computer Science, 1996. ISBN 0-13-948472-8
- Jonathan Bowen. Formal Specification and Documentation using Z: A Case Study Approach. [S.l.]: International Thomson Computer Press, 1996. ISBN 1-85032-230-9
- Jonathan Jacky. The Way of Z: Practical Programming with Formal Methods. [S.l.]: Cambridge University Press, 1997. ISBN 0-521-55976-6
[editar] Ligações externas
- The World Wide Web Virtual Library: The Z notation , por Jonathan Bowen
- Community Z Tools (CZT) project
- Specification proposals by Ian Toyn
- ZETA open-source system for development software specifications in Z
- HOL-Z open-source proof environment for Z in Isabelle/HOL
- Mike Spivey's Fuzz Type-Checker for Z
- Z/Eves — A proof checker for the Z notation (site em alemão mas todos os manuais são em inglês)