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.[1]
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.