estilos e modelos semÂnticos e noÇÕes de …if711/aulas/aula 10.pdf · representação abstrata...

34
ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE REFINAMENTO PARA CSP, MODELO DE TRACES Alexandre Mota

Upload: others

Post on 24-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE REFINAMENTO PARA CSP, MODELO DE TRACES

Alexandre Mota

Page 2: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Estilos semânticos

¨  A linguagem CSP pode ser descrita semanticamente através de 3 estilo semânticos:

¤ Algébrico n  Leis

¤ Operacional n Máquina abstrata (Máquina de estados – Grafo)

¤ Denotacional n Funções matemáticas

Page 3: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Semântica Operacional

¨  A semântica operacional de uma linguagem representa sua execução em uma máquina hipotética

¨  Cria um sistema de transições (rotulado ou não) ¤ Uma máquina de estados

¨  É definida a partir de um conjunto de regras denominadas de regras de disparo (firing rules) ¤ Para cada construtor, há uma ou mais regras (Há casos

sem regra alguma…)

Page 4: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

STOP

¨  Como este processo não faz absolutamente nada, sua interpretação é a de um estado terminal

Ω

Page 5: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

SKIP

Page 6: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Prefixo

Page 7: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Escolha interna

Page 8: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Escolha externa

Page 9: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Composição sequencial

Page 10: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Hiding

Page 11: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Renomeação

Page 12: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Paralelismo

Page 13: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Paralelismo

Page 14: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Paralelismo

Page 15: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Recursão

Page 16: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Estilo denotacional e modelos semânticos

¨  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 verificam-se propriedades dos

processos

Page 17: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Modelos Semânticos e Igualdade

= Q P

Semântica(P) = Semântica(Q)

Page 18: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Modelos Semânticos de CSP

¨  Vários modelos:

Grau de precisão do modelo

Traces (T ) → Failures (F ) → Failures-divergences (FD )

Page 19: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Aspectos Capturados pelos Modelos

¨  Traces (T ) ¤ Propriedades específicas simples (possibilidade)

¨  Failures (F ) ¤ Não-determinismo e deadlock (impasse)

¨  Failures-divergences (FD ) ¤ Livelock (divergência)

Page 20: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Igualdade e Refinamento

¨  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

Page 21: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Refinamento

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

P Q M

T F FD

Page 22: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Propriedades Importantes

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

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 23: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Relação entre Igualdade e Refinamento

P =M Q

P M Q e Q M P

Page 24: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Trace

¨  Lista de eventos realizados por um processo: <> <a,a,a> <a,b,a>

¨  A semântica de um processo pode ser dada pelo conjunto de todos os seus traces

Page 25: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Traces

¨  traces(P) é o conjunto de todas as histórias (traces) do processo P: traces(STOP) = {<>} traces(a -> b -> STOP) = {<>,<a>,<a,b>} traces(a -> STOP [] b -> STOP) = {<>,<a>,<b>} traces(µX.a -> X) = {<>,<a>,<a,a>,<a,a,a>,...}

Page 26: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Definição de Traces

traces(a -> P) = {<>} ∪ {<a>^s | s ∈ traces(P)}

traces (c?x:A -> P) = {<>} ∪ {<c.a>^s | a∈A, s ∈ traces(P[a/x])} traces(P [] Q) = traces(P) ∪ traces(Q) traces(P |~| Q) = traces(P) ∪ traces(Q)

Page 27: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Traces

traces(µX.F(X)) = traces(STOP) ∪ traces(F(STOP)) ∪ traces(F(F(STOP))) ∪ traces(F(F(F(STOP)))) ∪ ...

Se a recursão em F for guardada!

Page 28: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Traces e Igualdade

=T Q P

traces(P) = traces(Q)

Page 29: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Traces e Refinamneto

T Q P

traces(P) ⊆ traces(Q)

Page 30: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

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

Page 31: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Traces

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

Page 32: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Traces, Igualdade e os outros Modelos

¨  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

Page 33: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Exercício

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

Page 34: ESTILOS E MODELOS SEMÂNTICOS E NOÇÕES DE …if711/aulas/Aula 10.pdf · Representação abstrata da semântica (comportamento) dos processos ! Sintaxe versus Semântica ! notação

Exercício

¨  Como mostro que um dado processo P não é capaz de descrever o comportamento 〈a, b, c〉 usando apenas o modelo de traces?