CSP: Semântica e Refinamento Alexandre Mota ([email protected])

22
CSP: Semântica e Refinamento Alexandre Mota ([email protected])

Transcript of CSP: Semântica e Refinamento Alexandre Mota ([email protected])

Page 1: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

CSP: Semântica e Refinamento

Alexandre Mota([email protected])

Page 2: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Semântica

Como qualquer linguagem formal, CSP pode ser entendida usando-se uma das seguintes semânticas Operacional Denotacional Algébrica

Page 3: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Semântica Operacional

Interpreta CSP através de diagramas de transições (LTS)

LTS (ou Labelled Transition Systems) são grafos

Usam-se firing rules sobre cada operador de CSP para criar LTS

Page 4: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Firing Rules

STOP Não há, pois não se criam transições

SKIP

e -> P

Ondecomms( ) =

Page 5: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Firing Rules

P |~| Q

P [] Q

Page 6: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Semântica Denotacional

Interpreta linguagem usando modelos matemáticos tradicionais Conjuntos, seqüências, funções, etc.

É mais abstrato que a semântica operacional, porém mais concreto que a algébrica

Page 7: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Modelos Denotacionais Modelos: Traces (T), Failures (F),

Failures-Divergences (FD) Poder de descrição aumenta de T para

FD Capturam-se mais aspectos

(comportamento): Não-determinismo (safety ou segurança) Deadlock Livelock

7

Page 8: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Modelo de Traces

Page 9: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Modelo de Falhas

Page 10: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Modelo de Divergências

E algumas falhas são incrementadas

… (slide anterior)

Page 11: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Semântica Algébrica

Significado da linguagem é dado em termos de leis algébricas P [] Q = Q [] P (Comutatividade – [])

Para confirmação da validade, requer prova usando semântica denotacional em falhas-divergências

Page 12: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Algumas leis

Page 13: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Refinamento

Trata-se de uma relação de satisfação

13

P QM

T F FD

Page 14: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Propriedades Importantes

Relação de refinamento deve ser uma ordem parcial:

14

1. S S S (Reflexiva)

2. S, T S T T S S = T (Anti-Simétrica)

3. S, T, U S T T U S U (Transitiva)

4. S, T S T C[S] C[T] (Monotônica)

Page 15: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Igualdade e Refinamento Várias noções de refinamento:

P [ T = QP [ F = QP [ FD = Q

e várias de igualdade:P =T Q

P =F Q

P =FD Q

15

Page 16: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Definição

Refinamento em CSP é definido a partir da relação da Teoria dos Conjuntos

Assim P [ T = Q T(Q) T(P) P [ F = Q T(Q) T(P) e F(Q) F(P) P [ FD = Q F(Q) F(P) e D(Q)

D(P)

16Obs.: F(P) = F(P) { (s, X) | s D(P) }

Page 17: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Exercício 1

Mostre que os seguintes refinamentos são válidos: P [ ] Q = P |~| Q P [ ] Q P, ou Q (a b STOP) (a STOP)

17

Page 18: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Exercício 2

Mostre a validade dos seguintes refinamentos: P |~| Q P, ou Q (a b STOP) (a STOP)

18

Page 19: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Exercício 3

Mostre a validade dos seguintes refinamentos: P |~| Q P, ou Q

19

Page 20: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Propriedades Clássicas

Determinismo Algoritmo próprio…

Ausência de Deadlock RUN(sigma) P

Ausência de Livelock CHAOS(sigma) P

20

Page 21: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Verificação de Modelo vs Refinamento

Verificação de modelo consiste em: M f

Enquanto que verificação de refinamento consiste no que já vimos anteriormente

Coincidem quando pode-se encontrar processo CSP P que foi construído para ter a propriedade f (Ex.: ausência de deadlock e livelock)

21

=|

Page 22: CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Referências

Roscoe, A.W. The Theory and Practice of Concurrency. Prentice-Hall, 1998.

Hoare, C.A.R. Communicating Sequential Processes. Prentice-Hall, 1985.