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

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

Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Modelos Semânticos e Noções de Refinamento.

Apresentações semelhantes


Apresentação em tema: "Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Modelos Semânticos e Noções de Refinamento."— Transcrição da apresentação:

1 Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Modelos Semânticos e Noções de Refinamento

2 Representação abstrata da semântica (comportamento) dos processos Sintaxe versus Semântica –notação versus modelo Estabelece noções de igualdade e refinamento de processos: –através do modelo verifica-se propriedades dos processos Modelos Semânticos

3 Modelos Semânticos, Igualdade, e Leis = Q P semântica(P) = semântica(Q) P[=Q sse P=P|~|Q P=Q sse P[=Q e Q[=P

4 Vários modelos: –traces, failures, failures-divergences cada um sendo mais rebuscado do que o outro e capturando mais aspectos sobre o comportamento dos processos: –não-determinismo (safety ou segurança) –deadlock (liveness, impasse) –livelock (liveness, divergência) Modelos Semânticos de CSP

5 Várias noções de igualdade: P =T Q P =F Q P =FD Q e várias noções de refinamento: P [T= Q P [F= Q P [FD= Q Igualdade e Refinamento

6 Lista de eventos realizados por um processo: <> A semântica de um processo pode ser dada pelo conjunto de todos os seus traces Listas finitas, abstraindo tempo Trace

7 traces(P) é o conjunto de todos os traces finitos de P: traces(STOP) = {<>} traces(a -> b -> STOP) = {<>,, } traces(a -> STOP [] b -> STOP) = {<>,, } traces(  X.a -> X) = {<>,,,,...} Traces

8 traces(a -> P) = {<>} U { ^s | s  traces(P)} traces (c?x:A -> P) = {<>} U { ^s | a  A, s  traces(P[a/x])} traces (P [] Q) = traces(P) U traces(Q) traces (P |~| Q) = traces(P) U traces(Q) Traces

9 traces(  X.F(X)) = traces(STOP) U traces(F(STOP)) U traces(F(F(STOP))) U traces(F(F(F(STOP)))) U... Traces Caso a recursão em F seja guardada!

10 Traces e Igualdade =T Q P traces(P) = traces(Q)

11 Traces e Refinamneto [T= Q P traces(P)  traces(Q) P [T= Q sse P =T P|~|Q

12 Traces e Refinamneto Para provar que Q não refina P basta achar um trace de Q que não seja um trace de P

13 Não descreve completamente os processos: –traces(P[]Q) = traces(P|~|Q) –P[]Q =T P|~|Q mas P[]Q  F P|~|Q Útil para verificar se um processo não realiza nenhum evento que não deveria realizar (redução de não-determinismo): –não diz nada sobre que eventos o processo tem que realizar (P [T= STOP) Traces

14 P =F Q  P =T Q P = Q é uma abreviação para P =FD Q As leis algébricas de CSP consideram o modelo de failures-divergences : –há processos com o mesmo conjunto de traces mas que não podem ser provados iguais através das leis Traces, Igualdade e os outros Modelos

15 Uma especificação expressa propriedades que devem ser satisfeitas –pelas suas “implementações” (processos), e –pelos conjuntos de traces das mesmas: tr  down + 1  tr  up  tr  down tr  up + n  tr  down tr  left  tr  right Uma especificação é equivalente ao processo mais não-determinístico que a satisfaz Especificações e Traces

16 Estude o roteiro da próxima aula de laboratório e tente responder as questões sem usar FDR Exercício


Carregar ppt "Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Modelos Semânticos e Noções de Refinamento."

Apresentações semelhantes


Anúncios Google