Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAurélia Moreira Igrejas Alterado mais de 9 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.