Aula Prática: A Ferramenta ZANS

Slides:



Advertisements
Apresentações semelhantes
Estruturas de Controle
Advertisements

Capítulo II – Algoritmos e Programas
Administração de sistemas operacionais
Fluxograma de Atividades
Algoritmo e Programação
Sistemas de Informação Redes de Computadores
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Processos no Unix e Linux
Programas Utilitários Básicos
Prof. Heloise Manica Paris Teixeira
Formas de representação de algoritmos
Iniciação ao MatLab Profa Dra. Rossana Lott Rodrigues
AULA – Linguagem C – Vetores, Ponteiros Estruturas
Material III-Bimestre Wagner Santos C. de Jesus
Análise e Projeto de Sistemas
Linguagem C Estruturas de Seleção.
Contratos Modelagem Funcional.
Revisão da Linguagem C.
Informática 2° Bimestre Luiz Antônio.
Algoritmos.
Lógica e Técnicas de Programação
PROGRAMAÇÃO I UNIDADE 1.
Aula prática 6 Vetores e Matrizes
Aula R Prof. Naércio Filho Técnico em Informática
PROGRAMAÇÃO ESTRUTURADA II
Especificação de Requisitos de Software - ERSw
CADEIA DE CARACTERES (Strings)
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Aula prática 6 Vetores e Matrizes
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
Monitoria de Sistemas Inteligentes
Conjuntos (continuação)
Bags n Servem para armazenar a repetição de elementos n Tal qual conjuntos, a ordem dos elementos não importa n Por isso, também recebem a designação de.
Esquemas e suas operações n Forma geral: Ident. Declarações ou Ident. = [Declarações | Predicado] Predicado ^ n Esquemas são estruturas que agrupam variáveis.
Aula Prática: A Ferramenta Possum
Word Prof. Gláucya Carreiro Boechat
Curso Prático de Métodos Formais Refinamentos de Especificações em Z (Alexandre Mota e Augusto Sampaio)
Curso Prático de Métodos Formais
Anotando Diagramas de Classe com o Rose Engenharia de Software e Sistemas.
propriedades rose, roze, z-eves
LINGUAGEM DE PROGRAMAÇÃO I
Linux Prof. Fabio Santos, D.Sc
2. Lógica de Programação Definição de Lógica Definição de Algoritmo
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Estruturas de Dados Aula 2: Estruturas Estáticas 07/04/2014.
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
CSP-Z Disciplina: Especificação de Sistemas Distribuídos Mestrado em Ciências da Computação Aleciano Jr. Leonilson Barbosa
Analise Semântica aula-10-analise-semântica.pdf.
Estruturas de Dados Aula 8: Tipos Abstratos de Dados 30/04/2014.
Programação de PIC em C Exposição das funções básicas para
Análise Léxica Prof. Alexandre Monteiro
Nomeação de arquivos – Cap 4.1.1
Operações com Arquivos Monitoria A estrutura FILE  É como um tipo de dado, mas não é um tipo propriamente dito  Definido no arquivo cabeçalho.
CES-41 COMPILADORES Aulas Práticas Capítulo II A Ferramenta Yacc.
Modelando Sistemas em UML
Professor Esp. Diego André Sant’Ana Disciplina: Sistemas Operacionais II Sistemas de Arquivos- Tipo de arquivos – Cap
Monitoria de Sistemas Inteligentes IF684
MatLab (Matrix Laboratory)
Faculdade Pernambucana - FAPE Setembro/2007
Banco de Dados I I Comandos SQL
Fundamentos de linguagens de programação
Curso Prático de Métodos Formais Revisando Pré-Condições e Provando Refinamentos de Especificações em Z (Alexandre Mota e Augusto Sampaio)
Algoritmos.
Programação de Computadores - 1
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Programação Computacional Aula 9: Meu primeiro programa em C
Introdução a linguagem de Programação Java. Linguagens de Programação Linguagens de máquina(muito difíceis de usar e compreender) – Comanda ações do computador.
PROGRAMAÇÃO II – PARTE 1 Profa. Maria Augusta Constante Puget.
Monitoria GDI Aula Prática Aula 1: SQL + PL 1. Estudo de caso - continuação Pegar arquivo GDI.zip em Descompactar arquivo: o criacaoTabelas.SQL.
Transcrição da apresentação:

Aula Prática: A Ferramenta ZANS Características gerais Escrevendo especificações em LaTeX Exemplos Como utilizar o sistema Executando especificações Augusto Sampaio

Características gerais ZANS é um sistema de animação (prototipação) para Z As seguintes facilidades são oferecidas: Análise sintática e verificação de tipos Expansão (normalização) de esquemas Avaliação de expressões e predicados Execução de operações definidas via esquemas

Escrevendo especificações Z em LaTeX LaTeX é uma linguagem para criar documentos, tal como a linguagem implícita do WORD Especificações Z usam símbolos gráficos especiais: D, X, Þ, etc LaTeX substitui os símbolos por macros: \Delta, \Xi, \implies, etc LaTeX usa estilos específicos para lidar com Z: zed.sty, oz.sty, z-eves.sty, etc Arquivo LaTeX pode ser processado por ferramentas e serve para visualizar e imprimir a especificação

º º º Elementos de Z em LaTeX " x, y, z: IN · x>y ^ y>z Þ x>z \begin{zed} \forall x, y, z: \nat @ \\ \t1 x>y \land y>z \implies x>z \end{zed} º \begin{axdef} C:T \where P(C) \end{axdef} º Nome[Par] DEstado var1’=exp1 var2’=var2 \begin{schema}{Nome[Par]} \Delta Estado \where var1’=exp1 \\ \end{schema} º

Esqueleto Básico de Especificação \documentstyle[zed, ztc]{article} % Ajustes do documento: margens, topo, etc. \begin{document} \section{Given Sets} 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}

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

Exemplo: Controle de Acesso Estado s : |P Pessoa # s < lim Init [Pessoa] Estado’ lim == 50 S’ = {} Inclusão D Estado p?: Pessoa (#s < lim ^ p? Î s) s’ = s U {p?} Msg ::= AUSENTE | PRESENTE Consulta X Estado p?: Pessoa ap!: Msg (p? Î s ^ ap! = PRESENTE) v (p? Ï s ^ ap! = AUSENTE) Exclusão D Estado p?: Pessoa p? Î s s’ = s \ {p?}

Como utilizar o sistema Programa executado sob o Windows (DOS) A especificação a ser processada deve ser escrita em LaTeX (com as macros definidas no estilo zed) ou em ZSL (versão ascii de Z) Carrega-se uma especificação (extensão zed) através do comando load Comandos para listar, expandir e executar esquemas (dentre outros) estão disponíveis Finalização é feita através de exit

Condições de Executabilidade É preciso indicar explicitamente o esquema que representa o estado e a inicialização %% state-schema <nome> %% init-schema <nome> Constantes globais e definições axiomáticas devem possuir um valor ex.: limite == 50 Operações (esquemas) devem definir valores explícitos para todos os componentes de saída e de estado final; senão serão considerados non-explicit

Executando Especificações Após carregar o arquivo (load), usar o comando animate Os esquemas são analisados e é indicado quais podem ser executados (só os explicit) A operação de inicialização é executada Os esquemas (explicit) podem então ser executados: execute <nome> O esquema só é executado com sucesso se a sua pré-condição for satisfeita e se o invariante do estado não for violado

Exercícios 1) Listar as operações disponíveis: list 2) Mostrar a operação INCLUSAO usando show 3) Mostrar a operação INCLUSAO usando expand 4) Incluir os seguintes elementos no conjunto: joao, maria, pedro executando a operação INCLUSAO 5) Tentar incluir mais um elemento 6) Verificar se maria está presente executando CONSULTA 7) Deletar joao executando EXCLUSAO 8) Deletar carla executando EXCLUSAO 9) Especificar uma nova operação para remoção radômica 10) Carregar a especificação e tentar executar esta operação