1 / 21

A Linguagem de Especificação Z

A Linguagem de Especificação Z. Conteúdo. Linguagens de especificação Definição Exemplos Linguagem Z Histórico Vantagens de Uso Operadores básicos Exemplo prático Referências. Linguagens de Especificação. Definição.

Download Presentation

A Linguagem de Especificação Z

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Linguagemde Especificação Z

  2. Conteúdo • Linguagens de especificação • 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. Linguagens de Especificação Exemplos Métodos de Especificação Formal Linguagens Orientadas ao Modelo Linguagens Orientadas ás Propriedades {VDM, Z} Linguagens Axiomáticas Linguagens Algébricas {OBJ, Anna, Larch} {Clear, ActOne}

  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. 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. Linguagem Z Conceitos Básicos • Tipos • Esquemas • Conjuntos • Propriedades • Estado

  8. 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. Linguagem Z Exemplo Prático Exemplo da agenda de aniversários: Primeiro, especificamos que lidaremos com nomes e datas: Então, definimos seu espaço de estados:

  10. Linguagem Z Exemplo Prático Agenda de Aniversários Agora podemos especificar a primeira operação, para adicionar um nome:

  11. Linguagem Z Exemplo Prático Agenda de Aniversários Em seguida, a operação para encontrar o aniversário de uma dada pessoa:

  12. Linguagem Z Exemplo Prático Agenda de Aniversários Agora, encontrar as pessoas que fazem aniversário em uma certa data:

  13. Linguagem Z Exemplo Prático Agenda de Aniversários Por fim, especificamos qual é o estado do sistema quando ele é iniciado pela primeira vez:

  14. Linguagem Z Exemplo Prático 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. Linguagem Z Exemplo Prático Agenda de Aniversários Para o caso de o usuário entrar, em AddNome, um nome que já faz parte de pessoa:

  16. Linguagem Z Exemplo Prático 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. Linguagem Z Exemplo Prático 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. Linguagem Z Exemplo Prático Agenda de Aniversários E, juntando todos os tipos e esquemas, a especificação está completa.

  21. Referências

More Related