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

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

Aula Prática: A Ferramenta Possum Métodos Formais Augusto Sampaio.

Apresentações semelhantes


Apresentação em tema: "Aula Prática: A Ferramenta Possum Métodos Formais Augusto Sampaio."— Transcrição da apresentação:

1

2 Aula Prática: A Ferramenta Possum Métodos Formais Augusto Sampaio

3 Roteiro l Características gerais l Escrevendo especificações em LaTeX l Exemplo l Como utilizar o sistema l Executando especificações

4 Características gerais l Animador de especificações escritas em SUM(padrão) ou na notação Z l As seguintes facilidades são oferecidas: –Análise sintática, incluindo vários sintaxes : sum, zed.sty, oz.sty, lexis; –Checagem de tipos –tradutor entre as sintaxes; –Avaliação de expressões e predicados;

5 Escrevendo especificações Z em LaTeX l LaTeX é uma linguagem para criar documentos, tal como a linguagem implícita do WORD Especificações Z usam símbolos gráficos especiais: , , , etc l LaTeX substitui os símbolos por macros: \Delta, \Xi, \implies, etc. l Arquivo LaTeX pode ser processado por ferramentas para visualizar e/ou imprimir a especificação

6 Elementos de Z em LaTeX  x, y, z: IN   x>y ^ y>z  x>z \begin{zed} \forall x, y, z: \\ \t1 x>y \land y>z \implies x>z \end{zed}  \begin{axdef} C:T \where P(C) \end{axdef} C:T P(C)  Nome[Par]  Estado var1’=exp1 var2’=var2 \begin{schema}{Nome[Par]} \Delta Estado \where var1’=exp1 \\ var2’=var2 \end{schema} 

7 Esqueleto Básico de Especificação (geração de Postscript) \documentstyle[zed]{article} % Ajustes do documento: margens, topo, etc. \begin{document} \section{Tipos} Os {\sl given sets} abaixo representam o conjunto de valores e s\’{\i}mbolos usados pela especifica\c{c}\~{a}o da tabela de s\’{\i}mbolos. \begin{zed} [VAL,SYM] \end{zed} \end{document}

8 Resultado de um Documento LaTeX Pode-se processar (compilar) um documento LaTeX para obter um documento de visualização. Por exemplo: ulysses> latex espec.zed Do comando acima obtém-se o arquivo espec.dvi, que pode ser visualizado da seguinte forma: ulysses> xdvi espec Pode-se gerar espec.ps de espec.dvi para imprimir ou visualizar: ulysses> dvips espec Conversão Visualização ulysses> ghostview espec.ps Impressão ulysses> lpr -Pxerox espec.ps

9 Exemplo: Controle de Acesso [Pessoa]  Estado p?: Pessoa p?  s s’ = s \ {p?} limite == 3 Msg ::= AUSENTE | PRESENTE Consulta  Estado p?: Pessoa ap!: Msg (p?  s ^ ap! = PRESENTE) v (p?  s ^ ap! = AUSENTE ) s : |P Pessoa # s  limite  Estado p?: Pessoa #s  limite p?  s s’ = s U {p?} INICIALIZAR Estado’ s’ = {} ESTADO INCLUSAO EXCLUSAO

10 Especificação modo Possum l Possível inclusão de cabeçalhos, e.g. –\section {Nome da seção} –\subsection {Nome da subseção} –\subsubsection {Nome da subsubseção} l Dispense o uso de ajustes de documento para impressão PostScript l Na ferramenta apenas declarações e/ou cabeçalhos

11 Esqueleto Básico de Especificação (Possum) \section{Tipos} \begin{zed} [VAL,SYM] \end{zed} \section{Estado do Sistema} \begin{schema}{ESTADO} s_1 : X \\ s_2 : Y \where Predicado \end{schema}

12 Como utilizar o sistema l Programa executado no Linux. l A especificação a ser processada deverá ser escrita em LaTeX (com as macros definidas no estilo zed.sty). l No menu Dialogs selecione a operação Parameters. Na janela que se abrirá modifique o campo Syntax de sum(padrão) para o formato zed l Para abrir um arquivo(leitura/edição) escolha o menu Files/Open e selecione o arquivo l O menu Files/Read Spec... carrega um arquivo no interpretador Possum

13 Condições de Executabilidade l É preciso indicar explicitamente o esquema que representa o estado e a inicialização na janela Possum Parameters campo State Schema: nome do esquema - estado campo Init Schema: nome do esquema de inicialização l Valores atribuídos a variáveis do tipo Given Set devem ser colocados entre aspas l Voltar a sintaxe para sum, para melhor visualização l Após carregar o arquivo, invocar a operação de inicialização do esquema-estado

14 Executando Especificações l Como executar um esquema: –menu Dialogs/Compound: escolher o esquema –escolher opção Invoke para executar o esquema l Os esquemas delta: as varíáveis de entrada recebem valores, não importando a ordem: –NomeDoEsquema (sem váriáveis de entrada) –NomeDoEsquema {Valor1/var1?, Valor2/var2?} l O esquema operação de consulta(produz uma saída) : –NomeDoEsquema >> (sem variáveis de entrada) –NomeDoEsquema {Valor1/var1?, Valor2/var2?} >>

15 Executando Especificações l Os comandos correspondentes são exibidos na linha de comando do interpretador l O comando Ctrl Enter envia a consulta(declaração/ predicado/operação/expressão). Ctrle Ctrl permitem recuperar os últimos comandos l Ao avaliar uma declaração de um arquivo zed, se declaração for bem sucedida, passa com Yes. l Caso contrário emite uma mensagem apontando o erro na notação, ou a mensagem Whatever(falha na interpretação). No solution: predicado foi quebrado, resultou false

16 Exercícios 1) Incluir os seguintes elementos no conjunto: “joao”, “maria”, “pedro” executando a INCLUSAO 2) Tentar incluir mais um elemento 3) Verificar se “maria” está presente executando a operação CONSULTA 4) Deletar “joao” executando EXCLUSAO 5) Deletar “carla” executando EXCLUSAO 6) Especificar uma nova operação para remoção randômica 7) Carregar a especificação e tentar executar esta operação 8) Definir PESSOA como um registro, com atributos matrícula, nome, redefinir as operações de inclusão, exclusão e consulta


Carregar ppt "Aula Prática: A Ferramenta Possum Métodos Formais Augusto Sampaio."

Apresentações semelhantes


Anúncios Google