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

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

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

Apresentações semelhantes


Apresentação em tema: "1 Estilos de Especificação n Orientados a Propriedades (Algébricas) n Baseados em Modelos n Concorrente."— Transcrição da apresentação:

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

2 2 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)

3 3 Um Exemplo Clássico: pilhas n Tipo: pilha-int n 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 n Axiomas pop (push (i, p)) = p top (push (i, p)) = i e_vazia (p) = (p = vazia)

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

5 5 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 = [])

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

7 7 Um Exemplo Simples n 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

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

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

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

11 11 Considerações Finais n Um aspecto unificador de estilos: evitar tradução entre linguagens sempre que possível. –Cálculo de Refinamentos [Morgan] –Extendend ML [Sannella] n 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)

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

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


Carregar ppt "1 Estilos de Especificação n Orientados a Propriedades (Algébricas) n Baseados em Modelos n Concorrente."

Apresentações semelhantes


Anúncios Google