Estilos de Especificação

Slides:



Advertisements
Apresentações semelhantes
Projeto – Parte II - Exemplos de Diagrama de Colaboração
Advertisements

Análise e Desenvolvimento de Sistemas
Engenharia de Software
UML Modelando um sistema.
Linguagem de Montagem Visão geral.
UML – Visões Parte 1 Modelando um sistema.
Paradigmas de Programação
Engenharia de Software
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Fundamentos de Engenharia de Software - temas para estudo -
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Professora: Aline Vasconcelos
INTRODUÇÃO À PROGRAMAÇÃO
APL/SNOBOL As primeiras linguagens dinâmicas
Uma Ferramenta para Geração Automática de Requisitos a partir de Modelos CSP Glaucia Peres e Alexandre Mota 06/out/2007.
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
00(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Análise e Projeto de Sistemas
A Linguagem de Especificação Z
Como Desenvolver Sistemas de Informação
Integração de modelos formais e semi- formais: o caso de UML e VDM++
Classes e objetos Modelagem
Introdução a Programação Orientada a Objetos
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
Conceitos Básicos.
Middleware e Sistemas Distribuídos
JAVA: Conceitos Iniciais
Cap 3 – Conceitos de Gerência de Projeto
Projeto de Sistemas de Software
Compiladores, Aula Nº 5 João M. P. Cardoso
Arquiteturas de Referência
LABORATÓRIOS DE INFORMÁTICA IV ENGENHARIA DE SOFTWARE: DA TEORIA À PRÁTICA GRUPO 13.
Diagrama de Atividades
Organização do Ambiente de Execução (Runtime System)
Metodologias para construção de SMA
Detalhes sobre o curso
Alexandre Mota/Augusto Sampaio {acm,
Linguagem Funcional 2 Linguagem Funcional 2 - LF2 Estende LF1 com funções de alta ordem Uma função passa a ser um valor O contexto inclui um único componente:
Organização do Ambiente de Execução (Runtime system) Representação de dados Avaliação de expressões Alocação de memória Rotinas Objetos e métodos.
CSP: Semântica e Refinamento
Projeto de Banco de Dados
Desenvolvimento Formal de Software
Modelos de Processo de Software
Java Bytecode Software Básico Mitsuo Takaki.
Pilhas Profa. Nádia Félix.
Paradigmas de Linguagens de Programação Aula 2
CSP-Z Disciplina: Especificação de Sistemas Distribuídos Mestrado em Ciências da Computação Aleciano Jr. Leonilson Barbosa
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
O Processo Unificado (UP)
Interfaces e classes abstratas. Conceitos de Orientação a Objeto.
METODOLOGIA, MÉTODOS E FERRAMENTAS
Métodos Formais.
Desenvolvimento de Software Dirigido a Modelos
Linguagem de Modelagem Unificada
Introdução a Programação Orientada a Objetos
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
CSP-Z e sua Verificação
Métodos Formais Juan Andrés Mussini.
1 Hiding, Renomeação, Composição Seqüencial e Refinamento Alexandre Mota
Paralelismo Alexandre Mota Paralelismo Representam a execução paralela de dois ou mais processos: fluxos de controles independentes.
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos Parte 2.
Módulo II Capítulo 1: Orientação a Objetos
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Especificação de Sistemas Distribuídos Alexandre Mota/Augusto Sampaio {acm,
Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.
SEMÂNTICA DENOTACIONAL Alexandre Mota
Transcrição da apresentação:

Estilos de Especificação Orientados a Propriedades (Algébricas) Baseados em Modelos Concorrente

Especificação Algébrica Uma Especificação consiste de Um conjunto de nomes de tipos (sorts) Um conjunto de funções Um conjunto de axiomas (semântica)

Um Exemplo Clássico: pilhas Tipo: pilha-int Funções vazia: -> pilha-int push: int pilha-int -> pilha-int pop: pilha-int -> pilha-int top: pilha-int -> int e_vazia: pilha-int -> bool Axiomas pop (push (i, p)) = p top (push (i, p)) = i e_vazia (p) = (p = vazia)

Métodos Baseados em Modelos Componentes de uma Especificação Um Modelo matemático é usado para descrever o estado do sistema.

Um Modelo Matemático para Pilhas var pilha, pilha' : seq[Int] operações (procedimentos, métodos) vazia = (pilha' = []) push(i? : Int) = pilha'=[i?]^pilha pop() = (pilha  []) => pilha'= tail pilha top(i! : Int) = (pilha  []) => i! = head pilha e_vazia (b! : Bool) = b! <=> (pilha = [])

Especificação de sistemas concorrentes Modelos - Exemplos CSP (Communicating Sequential Processes) CCS (Calculus of Communicating Systems) Um sistema é uma rede de processos independentes e comunicantes Rigor matemático permite especificações, provas e transformações Algumas diferenças: notação conceito de equivalência

Um Exemplo Simples Relógio de parede com cuco Modelado por dois componentes: Contador de 1 a 60 Cuco: aparece a cada 60 minutos A interação entre esses componentes se dá a cada 60 minutos Cookoo 10 20 30 40 50 60

Um Exemplo Simples Contador(min) = tick  Contador(min + 1) Contador(60) = sincroniza  Contador(0) Passaro = sincroniza  cuco  Passaro Relogio = Contador(0) || Passaro {sincroniza}

Especificação de Sistemas Concorrentes Tanto CCS como CSP influenciaram trabalhos futuros. Exemplos: CSP: occam, trasputer LOTOS foi influenciada por CCS + ACT ONE

Uso Prático de Métodos Formais Escolha a notação apropriada Estime os custos/benefícios Não abandone métodos tradicionais (use métodos semi-formais em conjunto com métodos formais). Ex. UML + Z (OCL) Documente Não esqueça as medidas usuais de qualidade Teste Reuse

Considerações Finais Um aspecto unificador de estilos: evitar tradução entre linguagens sempre que possível. Cálculo de Refinamentos [Morgan] Extendend ML [Sannella] Na prática, nem sempre é possível usar uma única liguagem. Mas deve haver uma unificação semântica. Exemplo: De CSP-Z para Java (CTJ)

Considerações Finais Integração de formalismos Z + CSP Z + Timed CSP Object-Z, MooZ UML + Z (OCL) Aplicações práticas podem ser citadas CICS (IBM) TRANSPUTER (INMOS) Protocolos Sistemas de aviação, ...

Considerações Finais Mas podemos fazer muito mais Padrões: Z, LOTOS, etc. Literatura Formação de pessoal Ambiente de apoio Formalização de práticas informais