A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

A Linguagem de Especificação Z

Apresentações semelhantes


Apresentação em tema: "A Linguagem de Especificação Z"— Transcrição da apresentação:

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


Carregar ppt "A Linguagem de Especificação Z"

Apresentações semelhantes


Anúncios Google