Social Query André ([email protected]) Jacinto ([email protected])
CSP: Semântica e Refinamento Alexandre Mota ([email protected])
Transcript of CSP: Semântica e Refinamento Alexandre Mota ([email protected])
CSP: Semântica e Refinamento
Alexandre Mota([email protected])
Semântica
Como qualquer linguagem formal, CSP pode ser entendida usando-se uma das seguintes semânticas Operacional Denotacional Algébrica
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
Firing Rules
STOP Não há, pois não se criam transições
SKIP
e -> P
Ondecomms( ) =
Firing Rules
P |~| Q
P [] Q
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
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
Modelo de Traces
Modelo de Falhas
Modelo de Divergências
E algumas falhas são incrementadas
… (slide anterior)
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
Algumas leis
Refinamento
Trata-se de uma relação de satisfação
13
P QM
T F FD
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)
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
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) }
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
Exercício 2
Mostre a validade dos seguintes refinamentos: P |~| Q P, ou Q (a b STOP) (a STOP)
18
Exercício 3
Mostre a validade dos seguintes refinamentos: P |~| Q P, ou Q
19
Propriedades Clássicas
Determinismo Algoritmo próprio…
Ausência de Deadlock RUN(sigma) P
Ausência de Livelock CHAOS(sigma) P
20
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
=|
Referências
Roscoe, A.W. The Theory and Practice of Concurrency. Prentice-Hall, 1998.
Hoare, C.A.R. Communicating Sequential Processes. Prentice-Hall, 1985.