Carregar apresentação
A apresentação está carregando. Por favor, espere
1
A Linguagem de Especificação Z
2
Conteúdo Linguagens de especificação Linguagem Z Referências Definição
Exemplos Linguagem Z Histórico Vantagens de Uso Operadores básicos Exemplo prático Referências
3
Linguagens de Especificação
Definição Linguagens de especificação usam notação matemática para descrever o que um programa deve fazer, sem descrever como fazê-lo.
4
Exemplos Linguagens de Especificação Métodos de Especificação Formal
Linguagens Orientadas ao Modelo ás Propriedades Linguagens Axiomáticas Linguagens Algébricas {VDM, Z} {OBJ, Anna, Larch} {Clear, Act One}
5
Linguagem Z Histórico Proposta em 1977 por Jean-Raymond Abrial, com a ajuda de Steve Schuman e Bertrand Meyer. O nome Z (pronuncia-se “zed”) vem da teoria de Zermelo-Fraenkel.
6
Vantagens de Uso Amplamente utilizada
Linguagem Z Vantagens de Uso Amplamente utilizada Possui um padrão internacional para sua sintaxe, semântica e sistema de tipos. Fácil percepção de erros durante a especificação formal e implementação.
7
Conceitos Básicos Tipos Esquemas Conjuntos Propriedades Estado
Linguagem Z Conceitos Básicos Tipos Esquemas Conjuntos Propriedades Estado
8
Conceitos Básicos Notações:
Linguagem Z Conceitos Básicos Notações: operação’: indica o resultado da operação sobre o estado inicial, ou seja, o estado final. Δ Esquema: Indica mudança no estado. Ξ Esquema: Indica que o estado não muda. variável?: Indica que “variável” receberá entrada. variável!: Indica que “variável” gerará saída.
9
Exemplo Prático Exemplo da agenda de aniversários: Linguagem Z
Primeiro, especificamos que lidaremos com nomes e datas: Então, definimos seu espaço de estados:
10
Exemplo Prático Linguagem Z
Agenda de Aniversários Agora podemos especificar a primeira operação, para adicionar um nome:
11
Exemplo Prático Linguagem Z
Agenda de Aniversários Em seguida, a operação para encontrar o aniversário de uma dada pessoa:
12
Exemplo Prático Linguagem Z
Agenda de Aniversários Agora, encontrar as pessoas que fazem aniversário em uma certa data:
13
Exemplo Prático Linguagem Z
Agenda de Aniversários Por fim, especificamos qual é o estado do sistema quando ele é iniciado pela primeira vez:
14
Exemplo Prático Linguagem Z
Agenda de Aniversários Agora, podemos considerar erros de entrada. Para isso, precisamos de uma saída result!, que dirá se a entrada é válida ou não. Então definimos um tipo INFO, que é um conjunto com os seguintes valores: Pode-se definir um esquema Sucesso, que especifica que o resultado é ok, sem definir como o sistema muda:
15
Exemplo Prático Linguagem Z
Agenda de Aniversários Para o caso de o usuário entrar, em AddNome, um nome que já faz parte de pessoa:
16
Exemplo Prático Linguagem Z
Agenda de Aniversários E para o caso de o usuário entrar, em AcharNiver, um nome que não faz parte de pessoa:
17
Exemplo Prático Linguagem Z
Agenda de Aniversários Porém, os três últimos esquemas não fazem sentido sozinhos. Então, podemos relacioná-los com os outros esquemas: onde o “R” antes do nome do esquema indica que esta é uma versão “robusta” do esquema. Seguem especificações dessas uniões em um só esquema:
18
Linguagem Z Exemplo Prático Agenda de Aniversários
19
Linguagem Z Exemplo Prático Agenda de Aniversários
20
Exemplo Prático Linguagem Z
Agenda de Aniversários E, juntando todos os tipos e esquemas, a especificação está completa.
21
Referências
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.