Vericaci on· Formal de Protocolos de Comunicacion· con ...

101
Miguel Valero Verificaci ´ on Formal de Protocolos de Comunicaci ´ on con ´ Algebra de Procesos Miguel Valero Centrum voor Wiskunde en Informatica SEN 2 - Amsterdam - The Netherlands M ´ alaga - 15 Diciembre –1–

Transcript of Vericaci on· Formal de Protocolos de Comunicacion· con ...

Page 1: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Verificacion Formalde Protocolos de Comunicacion

con Algebra de Procesos

Miguel ValeroCentrum voor Wiskunde en InformaticaSEN 2 - Amsterdam - The Netherlands

Malaga - 15 Diciembre –1–

Page 2: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Verificacion Formal:Probar formalmente que un programa es correcto.

Criterios de Correccion:

• Actua conforme a una especificacion.

• Satisface una serie de requisitos o propiedades.

Especificacion formal:

• Descripcion de un sistema cuya interpretacion es unica (no contieneambiguedades).

• Lenguajes formales: Logica, Automata de Estados, Algebra de procesos,Redes de Petri, ...

Requisitos:

• Descritos por formulas en alguna logica (proposicional, temporal, modal, ...)

• Descritos por otra especificacion abstracta.

Malaga - 15 Diciembre –2–

Page 3: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Verificacion Formal:Probar formalmente que un programa es correcto.

Criterios de Correccion:

• Actua conforme a una especificacion.

• Satisface una serie de requisitos o propiedades.

Especificacion formal:

• Descripcion de un sistema cuya interpretacion es unica (no contieneambiguedades).

• Lenguajes formales: Logica, Automata de Estados, Algebra de procesos,Redes de Petri, ...

Requisitos:

• Descritos por formulas en alguna logica (proposicional, temporal, modal, ...)

• Descritos por otra especificacion abstracta.

Malaga - 15 Diciembre –2-a–

Page 4: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Verificacion Formal:Probar formalmente que un programa es correcto.

Criterios de Correccion:

• Actua conforme a una especificacion.

• Satisface una serie de requisitos o propiedades.

Especificacion formal:

• Descripcion de un sistema cuya interpretacion es unica (no contieneambiguedades).

• Lenguajes formales: Logica, Automata de Estados, Algebra de procesos,Redes de Petri, ...

Requisitos:

• Descritos por formulas en alguna logica (proposicional, temporal, modal, ...)

• Descritos por otra especificacion abstracta.

Malaga - 15 Diciembre –2-b–

Page 5: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Verificacion Formal:Probar formalmente que un programa es correcto.

Criterios de Correccion:

• Actua conforme a una especificacion.

• Satisface una serie de requisitos o propiedades.

Especificacion formal:

• Descripcion de un sistema cuya interpretacion es unica (no contieneambiguedades).

• Lenguajes formales: Logica, Automata de Estados, Algebra de procesos,Redes de Petri, ...

Requisitos:

• Descritos por formulas en alguna logica (proposicional, temporal, modal, ...)

• Descritos por otra especificacion abstracta.

Malaga - 15 Diciembre –2-c–

Page 6: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Protocolos de Comunicacion

Diferentes agentes (servidores, clientes, ...) intercambian informacion a travesde un determinado medio.

Los componentes del sistema se ejecutan en paralelo, en un entorno distribuido.

El comportamiento global del sistema depende de los procesos y de los datos.

El sistema es no-determinista.

Ejemplos: Alternating bit protocol, Bounded Retransmission Protocol, SlidingWindow Protocol...

S R

K

L

3

10

2

6 5

9

7 8

9

T T1 2

41

Malaga - 15 Diciembre –3–

Page 7: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Protocolos de ComunicacionDiferentes agentes (servidores, clientes, ...) intercambian informacion a travesde un determinado medio.

Los componentes del sistema se ejecutan en paralelo, en un entorno distribuido.

El comportamiento global del sistema depende de los procesos y de los datos.

El sistema es no-determinista.

Ejemplos: Alternating bit protocol, Bounded Retransmission Protocol, SlidingWindow Protocol...

S R

K

L

3

10

2

6 5

9

7 8

9

T T1 2

41

Malaga - 15 Diciembre –3-a–

Page 8: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Protocolos de ComunicacionDiferentes agentes (servidores, clientes, ...) intercambian informacion a travesde un determinado medio.

Los componentes del sistema se ejecutan en paralelo, en un entorno distribuido.

El comportamiento global del sistema depende de los procesos y de los datos.

El sistema es no-determinista.

Ejemplos: Alternating bit protocol, Bounded Retransmission Protocol, SlidingWindow Protocol...

S R

K

L

3

10

2

6 5

9

7 8

9

T T1 2

41

Malaga - 15 Diciembre –3-b–

Page 9: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Protocolos de ComunicacionDiferentes agentes (servidores, clientes, ...) intercambian informacion a travesde un determinado medio.

Los componentes del sistema se ejecutan en paralelo, en un entorno distribuido.

El comportamiento global del sistema depende de los procesos y de los datos.

El sistema es no-determinista.

Ejemplos: Alternating bit protocol, Bounded Retransmission Protocol, SlidingWindow Protocol...

S R

K

L

3

10

2

6 5

9

7 8

9

T T1 2

41

Malaga - 15 Diciembre –3-c–

Page 10: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Protocolos de ComunicacionDiferentes agentes (servidores, clientes, ...) intercambian informacion a travesde un determinado medio.

Los componentes del sistema se ejecutan en paralelo, en un entorno distribuido.

El comportamiento global del sistema depende de los procesos y de los datos.

El sistema es no-determinista.

Ejemplos: Alternating bit protocol, Bounded Retransmission Protocol, SlidingWindow Protocol...

S R

K

L

3

10

2

6 5

9

7 8

9

T T1 2

41

Malaga - 15 Diciembre –3-d–

Page 11: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Protocolos de ComunicacionDiferentes agentes (servidores, clientes, ...) intercambian informacion a travesde un determinado medio.

Los componentes del sistema se ejecutan en paralelo, en un entorno distribuido.

El comportamiento global del sistema depende de los procesos y de los datos.

El sistema es no-determinista.

Ejemplos: Alternating bit protocol, Bounded Retransmission Protocol, SlidingWindow Protocol...

S R

K

L

3

10

2

6 5

9

7 8

9

T T1 2

41

Malaga - 15 Diciembre –3-e–

Page 12: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Tecnicas de Automaticas de VerificacionTesting:

Simulacion de algunos escenarios.

En general no es completo → no detecta todos los errores.

Es difıcil testear sistemas distribuidos por que contienen no-determinismo.

Model Checking:

Comprobacion de que todos los escenarios son correctos.

Completo y Automatico.

Necesita la representacion explıcita de todos los comportamientos del sistema

Problema: crecimiento exponencial de estados.→ Solo util para sistemas finitos(y pequenos).

Malaga - 15 Diciembre –4–

Page 13: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Tecnicas de Automaticas de VerificacionTesting:

Simulacion de algunos escenarios.

En general no es completo → no detecta todos los errores.

Es difıcil testear sistemas distribuidos por que contienen no-determinismo.

Model Checking:

Comprobacion de que todos los escenarios son correctos.

Completo y Automatico.

Necesita la representacion explıcita de todos los comportamientos del sistema

Problema: crecimiento exponencial de estados.→ Solo util para sistemas finitos(y pequenos).

Malaga - 15 Diciembre –4-b–

Page 14: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Tecnicas de Automaticas de VerificacionTesting:

Simulacion de algunos escenarios.

En general no es completo → no detecta todos los errores.

Es difıcil testear sistemas distribuidos por que contienen no-determinismo.

Model Checking:

Comprobacion de que todos los escenarios son correctos.

Completo y Automatico.

Necesita la representacion explıcita de todos los comportamientos del sistema

Problema: crecimiento exponencial de estados.→ Solo util para sistemas finitos(y pequenos).

Malaga - 15 Diciembre –4-c–

Page 15: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Tecnicas de Automaticas de VerificacionTesting:

Simulacion de algunos escenarios.

En general no es completo → no detecta todos los errores.

Es difıcil testear sistemas distribuidos por que contienen no-determinismo.

Model Checking:

Comprobacion de que todos los escenarios son correctos.

Completo y Automatico.

Necesita la representacion explıcita de todos los comportamientos del sistema

Problema: crecimiento exponencial de estados.→ Solo util para sistemas finitos(y pequenos).

Malaga - 15 Diciembre –4-d–

Page 16: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Tecnicas de Automaticas de VerificacionTesting:

Simulacion de algunos escenarios.

En general no es completo → no detecta todos los errores.

Es difıcil testear sistemas distribuidos por que contienen no-determinismo.

Model Checking:

Comprobacion de que todos los escenarios son correctos.

Completo y Automatico.

Necesita la representacion explıcita de todos los comportamientos del sistema

Problema: crecimiento exponencial de estados.→ Solo util para sistemas finitos(y pequenos).

Malaga - 15 Diciembre –4-f–

Page 17: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Tecnicas de Automaticas de VerificacionTesting:

Simulacion de algunos escenarios.

En general no es completo → no detecta todos los errores.

Es difıcil testear sistemas distribuidos por que contienen no-determinismo.

Model Checking:

Comprobacion de que todos los escenarios son correctos.

Completo y Automatico.

Necesita la representacion explıcita de todos los comportamientos del sistema

Problema: crecimiento exponencial de estados.→ Solo util para sistemas finitos(y pequenos).

Malaga - 15 Diciembre –4-g–

Page 18: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Tecnicas de Automaticas de VerificacionTesting:

Simulacion de algunos escenarios.

En general no es completo → no detecta todos los errores.

Es difıcil testear sistemas distribuidos por que contienen no-determinismo.

Model Checking:

Comprobacion de que todos los escenarios son correctos.

Completo y Automatico.

Necesita la representacion explıcita de todos los comportamientos del sistema

Problema: crecimiento exponencial de estados.→ Solo util para sistemas finitos(y pequenos).

Malaga - 15 Diciembre –4-h–

Page 19: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Tecnicas de Automaticas de VerificacionTesting:

Simulacion de algunos escenarios.

En general no es completo → no detecta todos los errores.

Es difıcil testear sistemas distribuidos por que contienen no-determinismo.

Model Checking:

Comprobacion de que todos los escenarios son correctos.

Completo y Automatico.

Necesita la representacion explıcita de todos los comportamientos del sistema

Problema: crecimiento exponencial de estados.→ Solo util para sistemas finitos(y pequenos).

Malaga - 15 Diciembre –4-i–

Page 20: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Model Checking:

Modelo

Propiedad

Spec

Propiedades:

“Si S envıa un dato d entonces R recibira eventualmente d”

Ausencia de bloqueo (Deadlock).

Malaga - 15 Diciembre –5–

Page 21: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Model Checking:

Modelo

Propiedad

Spec

Propiedades:

“Si S envıa un dato d entonces R recibira eventualmente d”

Ausencia de bloqueo (Deadlock).

Malaga - 15 Diciembre –5-b–

Page 22: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Model Checking:

Modelo

Propiedad

Spec

Propiedades:

“Si S envıa un dato d entonces R recibira eventualmente d”

Ausencia de bloqueo (Deadlock).

Malaga - 15 Diciembre –5-c–

Page 23: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Comprobacion de Equivalencia:

Probar que un sistema I es “equivalente” a otro E (I ' E)

E(specificacion). Es una descripcion abstracta, representa lo que queremos queel sistema haga.

I(mplementacion). Es una descripcion detallada, representa lo que el sistemahace.

Hay que definir una nocion de equivalencia satisfactoria. (')

Si ambos sistemas son finitos (y pequenos) se puede probar automaticamente.

De lo contrario, hay que hacerlo manualmente (asistidos por un TheoremProver).

Malaga - 15 Diciembre –6–

Page 24: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Comprobacion de Equivalencia:Probar que un sistema I es “equivalente” a otro E (I ' E)

E(specificacion). Es una descripcion abstracta, representa lo que queremos queel sistema haga.

I(mplementacion). Es una descripcion detallada, representa lo que el sistemahace.

Hay que definir una nocion de equivalencia satisfactoria. (')

Si ambos sistemas son finitos (y pequenos) se puede probar automaticamente.

De lo contrario, hay que hacerlo manualmente (asistidos por un TheoremProver).

Malaga - 15 Diciembre –6-a–

Page 25: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Comprobacion de Equivalencia:Probar que un sistema I es “equivalente” a otro E (I ' E)

E(specificacion). Es una descripcion abstracta, representa lo que queremos queel sistema haga.

I(mplementacion). Es una descripcion detallada, representa lo que el sistemahace.

Hay que definir una nocion de equivalencia satisfactoria. (')

Si ambos sistemas son finitos (y pequenos) se puede probar automaticamente.

De lo contrario, hay que hacerlo manualmente (asistidos por un TheoremProver).

Malaga - 15 Diciembre –6-b–

Page 26: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Comprobacion de Equivalencia:Probar que un sistema I es “equivalente” a otro E (I ' E)

E(specificacion). Es una descripcion abstracta, representa lo que queremos queel sistema haga.

I(mplementacion). Es una descripcion detallada, representa lo que el sistemahace.

Hay que definir una nocion de equivalencia satisfactoria. (')

Si ambos sistemas son finitos (y pequenos) se puede probar automaticamente.

De lo contrario, hay que hacerlo manualmente (asistidos por un TheoremProver).

Malaga - 15 Diciembre –6-c–

Page 27: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Comprobacion de Equivalencia:Probar que un sistema I es “equivalente” a otro E (I ' E)

E(specificacion). Es una descripcion abstracta, representa lo que queremos queel sistema haga.

I(mplementacion). Es una descripcion detallada, representa lo que el sistemahace.

Hay que definir una nocion de equivalencia satisfactoria. (')

Si ambos sistemas son finitos (y pequenos) se puede probar automaticamente.

De lo contrario, hay que hacerlo manualmente (asistidos por un TheoremProver).

Malaga - 15 Diciembre –6-d–

Page 28: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Comprobacion de Equivalencia:Probar que un sistema I es “equivalente” a otro E (I ' E)

E(specificacion). Es una descripcion abstracta, representa lo que queremos queel sistema haga.

I(mplementacion). Es una descripcion detallada, representa lo que el sistemahace.

Hay que definir una nocion de equivalencia satisfactoria. (')

Si ambos sistemas son finitos (y pequenos) se puede probar automaticamente.

De lo contrario, hay que hacerlo manualmente (asistidos por un TheoremProver).

Malaga - 15 Diciembre –6-e–

Page 29: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Ejemplo:

Buffer

S R

K

L

3

10

2

6 5

9

7 8

9

T T1 2

41

1 4

Malaga - 15 Diciembre –7–

Page 30: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Resumen:Hasta ahora:

Introduccion a la Verificacion Formal.

Tecnicas de verificacion.

Caracterısticas de los protocolos de comunicacion.

Resto de charla:

Especificacion Algebraica.

Algebra de Procesos.

Nociones de Equivalencia de Procesos.

Nociones de Model Checking.

Malaga - 15 Diciembre –8–

Page 31: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Especificacion Algebraica:

Especificacion de los naturales.

• 0 es un natural

• El sucesorS de un natural es un natural

Axiomas de la suma y la multiplicacion:

A1. plus(x, 0) = x

A2. plus(x, S(y)) = S(plus(x, y))

A3. mul(x, 0) = 0

A4. mul(x, S(y)) = plus(mul(x, y), x)

Malaga - 15 Diciembre –9–

Page 32: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Especificacion Algebraica:Especificacion de los naturales.

• 0 es un natural

• El sucesorS de un natural es un natural

Axiomas de la suma y la multiplicacion:

A1. plus(x, 0) = x

A2. plus(x, S(y)) = S(plus(x, y))

A3. mul(x, 0) = 0

A4. mul(x, S(y)) = plus(mul(x, y), x)

Malaga - 15 Diciembre –9-a–

Page 33: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Especificacion Algebraica:Especificacion de los naturales.

• 0 es un natural

• El sucesorS de un natural es un natural

Axiomas de la suma y la multiplicacion:

A1. plus(x, 0) = x

A2. plus(x, S(y)) = S(plus(x, y))

A3. mul(x, 0) = 0

A4. mul(x, S(y)) = plus(mul(x, y), x)

Malaga - 15 Diciembre –9-b–

Page 34: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Especificacion Algebraica:

Teorema: ( 3 + 1 = 2 × 2)

plus(S(S(S(0))), S(0)) = mul(S(S(0)), S(S(0))

Prueba:

plus(S(S(S(0))), S(0)) = (A2) S(plus(S(S(S(0))), 0)

= (A1) S(S(S(S(0))))

mul(S(S(0)), S(S(0)) = (A4) plus(mul(S(S(0)), S(0)), S(S(0)))

= (A4) plus(plus(mul(S(S(0)), 0), S(S(0))), S(S(0)))

= (A3) plus(plus(0, S(S(0))), S(S(0)))

= ...

= S(S(S(S(0))))

Malaga - 15 Diciembre –10–

Page 35: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Especificacion Algebraica:Teorema: ( 3 + 1 = 2 × 2)

plus(S(S(S(0))), S(0)) = mul(S(S(0)), S(S(0))

Prueba:

plus(S(S(S(0))), S(0)) = (A2) S(plus(S(S(S(0))), 0)

= (A1) S(S(S(S(0))))

mul(S(S(0)), S(S(0)) = (A4) plus(mul(S(S(0)), S(0)), S(S(0)))

= (A4) plus(plus(mul(S(S(0)), 0), S(S(0))), S(S(0)))

= (A3) plus(plus(0, S(S(0))), S(S(0)))

= ...

= S(S(S(S(0))))

Malaga - 15 Diciembre –10-a–

Page 36: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Especificacion Algebraica:Teorema: ( 3 + 1 = 2 × 2)

plus(S(S(S(0))), S(0)) = mul(S(S(0)), S(S(0))

Prueba:

plus(S(S(S(0))), S(0)) = (A2) S(plus(S(S(S(0))), 0)

= (A1) S(S(S(S(0))))

mul(S(S(0)), S(S(0)) = (A4) plus(mul(S(S(0)), S(0)), S(S(0)))

= (A4) plus(plus(mul(S(S(0)), 0), S(S(0))), S(S(0)))

= (A3) plus(plus(0, S(S(0))), S(S(0)))

= ...

= S(S(S(S(0))))

Malaga - 15 Diciembre –10-b–

Page 37: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Algebra de Procesos

Hay muchas algebras de procesos: CCS, CSP, ACP, calculo-π, ...

En BPA (Basic Process Algebra), es un subconjunto de ACP, en que losprocesos basicos estan compuestos:

Acciones atomicas. Una accion a representa un acto indivisible.

Composicion alternativa +: El proceso t1 + t2 ejecuta t1 o t2.

Composicion secuencial ·: El proceso t1 · t2 primero ejecuta t1, y despues t2.

Ejemplo: a · (b + a) · (a + a · b)

Malaga - 15 Diciembre –11–

Page 38: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Algebra de Procesos

Hay muchas algebras de procesos: CCS, CSP, ACP, calculo-π, ...

En BPA (Basic Process Algebra), es un subconjunto de ACP, en que losprocesos basicos estan compuestos:

Acciones atomicas. Una accion a representa un acto indivisible.

Composicion alternativa +: El proceso t1 + t2 ejecuta t1 o t2.

Composicion secuencial ·: El proceso t1 · t2 primero ejecuta t1, y despues t2.

Ejemplo: a · (b + a) · (a + a · b)

Malaga - 15 Diciembre –11-a–

Page 39: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Algebra de Procesos

Hay muchas algebras de procesos: CCS, CSP, ACP, calculo-π, ...

En BPA (Basic Process Algebra), es un subconjunto de ACP, en que losprocesos basicos estan compuestos:

Acciones atomicas. Una accion a representa un acto indivisible.

Composicion alternativa +: El proceso t1 + t2 ejecuta t1 o t2.

Composicion secuencial ·: El proceso t1 · t2 primero ejecuta t1, y despues t2.

Ejemplo: a · (b + a) · (a + a · b)

Malaga - 15 Diciembre –11-b–

Page 40: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Algebra de Procesos

Hay muchas algebras de procesos: CCS, CSP, ACP, calculo-π, ...

En BPA (Basic Process Algebra), es un subconjunto de ACP, en que losprocesos basicos estan compuestos:

Acciones atomicas. Una accion a representa un acto indivisible.

Composicion alternativa +: El proceso t1 + t2 ejecuta t1 o t2.

Composicion secuencial ·: El proceso t1 · t2 primero ejecuta t1, y despues t2.

Ejemplo: a · (b + a) · (a + a · b)

Malaga - 15 Diciembre –11-c–

Page 41: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Semantica operacionalA cada proceso de BPA le corresponde un grafo etiquetado (Labelled TransitionSystem o LTS).

El grafo representa el comportamiento completo (la semantica) del sistema.

Reglas de Transicion de BPA (SOS):

aa→ √

xa→ √

x + ya→ √

xa→ x′

x + ya→ x′

xa→ √

x · y a→ y

ya→ √

x + ya→ √

ya→ y′

x + ya→ y′

xa→ x′

x · y a→ x′ · y

Malaga - 15 Diciembre –12–

Page 42: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Semantica operacionalA cada proceso de BPA le corresponde un grafo etiquetado (Labelled TransitionSystem o LTS).

El grafo representa el comportamiento completo (la semantica) del sistema.

Reglas de Transicion de BPA (SOS):

aa→ √

xa→ √

x + ya→ √

xa→ x′

x + ya→ x′

xa→ √

x · y a→ y

ya→ √

x + ya→ √

ya→ y′

x + ya→ y′

xa→ x′

x · y a→ x′ · y

Malaga - 15 Diciembre –12-a–

Page 43: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Ejemplo:El siguiente termino ((a + b) · c) · d representa el siguiente grafo:

√d

d

c

c · d

((a + b) · c) · d

a b

Malaga - 15 Diciembre –13–

Page 44: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Equivalencia entre procesos:Especificacion de una maquina de bebidas:

√√√ √

moneda moneda

cocacola mecacola

moneda

cocacola mecacola

Los dos procesos tienen las mismas trazas (aunque no tienen el mismocomportamiento).

Queremos una nocion de equivalencia que equipare los procesos que puedanevolucionar de la misma manera desde cualquier estado.

Malaga - 15 Diciembre –14–

Page 45: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Equivalencia entre procesos:Especificacion de una maquina de bebidas:

√√√ √

moneda moneda

cocacola mecacola

moneda

cocacola mecacola

Los dos procesos tienen las mismas trazas (aunque no tienen el mismocomportamiento).

Queremos una nocion de equivalencia que equipare los procesos que puedanevolucionar de la misma manera desde cualquier estado.

Malaga - 15 Diciembre –14-a–

Page 46: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Equivalencia entre procesos:Especificacion de una maquina de bebidas:

√√√ √

moneda moneda

cocacola mecacola

moneda

cocacola mecacola

Los dos procesos tienen las mismas trazas (aunque no tienen el mismocomportamiento).

Queremos una nocion de equivalencia que equipare los procesos que puedanevolucionar de la misma manera desde cualquier estado.

Malaga - 15 Diciembre –14-b–

Page 47: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Bisimulacion:Hay muchas nociones de equivalencia: simulation, bisimulation, traceequivalence, ready simulation, failure traces...

La bisimulacion es de las que mas discrimina.

Una bisimulacion es una relacion B de equivalencia entre procesos, tal que:

1. Si pB q y pa→ p′, entonces q

a→ q′ con p′ B q′

2. Si pB q y qa→ q′, entonces p

a→ p′ con p′ B q′

3. Si pB q y pa→ √

, entonces qa→ √

4. Si pB q y qa→ √

, entonces pa→ √

Dos procesos p y q son bisimilares (p ↔ q), si existe una relacion debisimilaridad B, tal que pB q.

Malaga - 15 Diciembre –15–

Page 48: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Bisimulacion:Hay muchas nociones de equivalencia: simulation, bisimulation, traceequivalence, ready simulation, failure traces...

La bisimulacion es de las que mas discrimina.

Una bisimulacion es una relacion B de equivalencia entre procesos, tal que:

1. Si pB q y pa→ p′, entonces q

a→ q′ con p′ B q′

2. Si pB q y qa→ q′, entonces p

a→ p′ con p′ B q′

3. Si pB q y pa→ √

, entonces qa→ √

4. Si pB q y qa→ √

, entonces pa→ √

Dos procesos p y q son bisimilares (p ↔ q), si existe una relacion debisimilaridad B, tal que pB q.

Malaga - 15 Diciembre –15-b–

Page 49: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Ejemplo:(a + a)b ↔ ab + a(b + b)

b b + b

b

a

b

a

(a + a)b ab + a(b + b)

√ √b

a a

bb

La relacion de bisimulacion B es:

(a + a)b B ab + a(b + b), b B b y b B b + b.

Malaga - 15 Diciembre –16–

Page 50: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Axiomas de BPA (modulobisimulacion):

A1 x + y = y + x

A2 (x + y) + z = x + (y + z)

A3 x + x = x

A4 (x + y) · z = x · z + y · zA5 (x · y) · z = x · (y · z)

Malaga - 15 Diciembre –17–

Page 51: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Axiomatizacion:Teorema: (a + a)b = ab + a(b + b)

Prueba:(a + a)b = (A3) ab

ab + a(b + b) = (A3) ab + ab

= (A3) ab

IMPORTANTE: La axiomatizacion de BPA, es consistente y completa modulobisimulacion (sound and complete):

• (Consistente) p = q implica p ↔ q

• (Completa) p ↔ q implica p = q

Malaga - 15 Diciembre –18–

Page 52: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Axiomatizacion:Teorema: (a + a)b = ab + a(b + b)

Prueba:(a + a)b = (A3) ab

ab + a(b + b) = (A3) ab + ab

= (A3) ab

IMPORTANTE: La axiomatizacion de BPA, es consistente y completa modulobisimulacion (sound and complete):

• (Consistente) p = q implica p ↔ q

• (Completa) p ↔ q implica p = q

Malaga - 15 Diciembre –18-a–

Page 53: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Ejemplo:(a + a)(cd) + (bc)(d + d) = ((b + a)(c + c))d

(a + a)(cd) + (bc)(d + d)A3→ a(cd) + (bc)(d + d)A3→ a(cd) + (bc)dA5→ a(cd) + b(cd)

((b + a)(c + c))dA3→ ((b + a)c)dA5→ (b + a)(cd)A4→ b(cd) + a(cd)

Malaga - 15 Diciembre –19–

Page 54: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Axiomatizacion Unsound:Podemos Probar cosas que no son ciertas.

A1 x + y = y + x

A2 (x + y) + z = x + (y + z)

A3 x + x = x

A4 (x + y) · z = x · z + y · z

A5 (x · y) · z = x · (y · z)

A6 z · (y + z) = x · y + x · z

Serıan equivalentes segun los axiomas (aunque no son bisimilares)

√√√ √

moneda moneda

cocacola mecacola

moneda

cocacola mecacola

Malaga - 15 Diciembre –20–

Page 55: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Axiomatizacion Unsound:Podemos Probar cosas que no son ciertas.

A1 x + y = y + x

A2 (x + y) + z = x + (y + z)

A3 x + x = x

A4 (x + y) · z = x · z + y · z

A5 (x · y) · z = x · (y · z)

A6 z · (y + z) = x · y + x · z

Serıan equivalentes segun los axiomas (aunque no son bisimilares)

√√√ √

moneda moneda

cocacola mecacola

moneda

cocacola mecacola

Malaga - 15 Diciembre –20-a–

Page 56: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Axiomatizacion Uncomplete:No Podemos Probar cosas que son ciertas.

A1 x + y = y + x

A2 (x + y) + z = x + (y + z)

A4 (x + y) · z = x · z + y · z

A5 (x · y) · z = x · (y · z)

Son bisimilares pero no podemos probarlo con los axiomas

√√ √

a

b

a

b b

Malaga - 15 Diciembre –21–

Page 57: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Axiomatizacion Uncomplete:No Podemos Probar cosas que son ciertas.

A1 x + y = y + x

A2 (x + y) + z = x + (y + z)

A4 (x + y) · z = x · z + y · z

A5 (x · y) · z = x · (y · z)

Son bisimilares pero no podemos probarlo con los axiomas

√√ √

a

b

a

b b

Malaga - 15 Diciembre –21-a–

Page 58: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Nuevos Operadores:

ACP (Algebra for Communicating Processes).

Comunicacion |. Permite a dos acciones sincronizar (a | b = c).

Composicion Paralela (‖). Permite la ejecucion de varios procesos en paralelo.

Deadlock (δ).. Representa el bloqueo.

Encapsulacion (∂H ). Fuerza a procesos a sincronizar.

Recursion (X = a.X). Permite representar procesos con comportamientoinfinito.

Abstraccion (τI ). Oculta el comportamiento de algunas acciones.

Malaga - 15 Diciembre –22–

Page 59: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Nuevos Operadores:

ACP (Algebra for Communicating Processes).

Comunicacion |. Permite a dos acciones sincronizar (a | b = c).

Composicion Paralela (‖). Permite la ejecucion de varios procesos en paralelo.

Deadlock (δ).. Representa el bloqueo.

Encapsulacion (∂H ). Fuerza a procesos a sincronizar.

Recursion (X = a.X). Permite representar procesos con comportamientoinfinito.

Abstraccion (τI ). Oculta el comportamiento de algunas acciones.

Malaga - 15 Diciembre –22-a–

Page 60: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Nuevos Operadores:

ACP (Algebra for Communicating Processes).

Comunicacion |. Permite a dos acciones sincronizar (a | b = c).

Composicion Paralela (‖). Permite la ejecucion de varios procesos en paralelo.

Deadlock (δ).. Representa el bloqueo.

Encapsulacion (∂H ). Fuerza a procesos a sincronizar.

Recursion (X = a.X). Permite representar procesos con comportamientoinfinito.

Abstraccion (τI ). Oculta el comportamiento de algunas acciones.

Malaga - 15 Diciembre –22-b–

Page 61: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Nuevos Operadores:

ACP (Algebra for Communicating Processes).

Comunicacion |. Permite a dos acciones sincronizar (a | b = c).

Composicion Paralela (‖). Permite la ejecucion de varios procesos en paralelo.

Deadlock (δ).. Representa el bloqueo.

Encapsulacion (∂H ). Fuerza a procesos a sincronizar.

Recursion (X = a.X). Permite representar procesos con comportamientoinfinito.

Abstraccion (τI ). Oculta el comportamiento de algunas acciones.

Malaga - 15 Diciembre –22-c–

Page 62: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Nuevos Operadores:

ACP (Algebra for Communicating Processes).

Comunicacion |. Permite a dos acciones sincronizar (a | b = c).

Composicion Paralela (‖). Permite la ejecucion de varios procesos en paralelo.

Deadlock (δ).. Representa el bloqueo.

Encapsulacion (∂H ). Fuerza a procesos a sincronizar.

Recursion (X = a.X). Permite representar procesos con comportamientoinfinito.

Abstraccion (τI ). Oculta el comportamiento de algunas acciones.

Malaga - 15 Diciembre –22-d–

Page 63: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Nuevos Operadores:

ACP (Algebra for Communicating Processes).

Comunicacion |. Permite a dos acciones sincronizar (a | b = c).

Composicion Paralela (‖). Permite la ejecucion de varios procesos en paralelo.

Deadlock (δ).. Representa el bloqueo.

Encapsulacion (∂H ). Fuerza a procesos a sincronizar.

Recursion (X = a.X). Permite representar procesos con comportamientoinfinito.

Abstraccion (τI ). Oculta el comportamiento de algunas acciones.

Malaga - 15 Diciembre –22-e–

Page 64: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Nuevos Operadores:

ACP (Algebra for Communicating Processes).

Comunicacion |. Permite a dos acciones sincronizar (a | b = c).

Composicion Paralela (‖). Permite la ejecucion de varios procesos en paralelo.

Deadlock (δ).. Representa el bloqueo.

Encapsulacion (∂H ). Fuerza a procesos a sincronizar.

Recursion (X = a.X). Permite representar procesos con comportamientoinfinito.

Abstraccion (τI ). Oculta el comportamiento de algunas acciones.

Malaga - 15 Diciembre –22-f–

Page 65: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Composicion Paralela y Comunicacion:

El grafo correspondiente a (ab)‖(ba), asumiendo que a y b pueden comunicarresultando en c (a | b = c), es:

(ab)‖(ba)

b‖a

√a

√ √

b

a bc

cab

a b

b‖(ba)

ab‖a ba

√a

bbc

ba

a

a

√ba

√√

bc

ba

b b‖aab

√b

a ac

a

b

b b

√a b

√ √ba

c

(ab)‖a

a

Malaga - 15 Diciembre –23–

Page 66: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Deadlock y Encapsulacion:

Deadlock (δ) no tiene ningun comportamiento. No hay ninguna transicionasociada con el.

∂ fuerza a los procesos a comunicar.

El grafo correspondiente a ∂{a,b}(ab)‖(ba), es:

(ab)‖(ba)

b‖a

c

c

Malaga - 15 Diciembre –24–

Page 67: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Deadlock y Encapsulacion:

Deadlock (δ) no tiene ningun comportamiento. No hay ninguna transicionasociada con el.

∂ fuerza a los procesos a comunicar.

El grafo correspondiente a ∂{a,b}(ab)‖(ba), es:

(ab)‖(ba)

b‖a

c

c

Malaga - 15 Diciembre –24-a–

Page 68: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Abstraccion:

La abstraccion se utiliza para ocultar partes de la ejecucion.

Una accion oculta se denota con τ .

Las acciones ocultas no son observables desde el exterior.

Es util para abstraer el comportamiento interno del sistema.

Nueva nocion de equivalencia que tiene en cuenta la abstraccion (BranchingBisimulation).

Por ejemplo: a.τ.b = a.b

Malaga - 15 Diciembre –25–

Page 69: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Abstraccion:

La abstraccion se utiliza para ocultar partes de la ejecucion.

Una accion oculta se denota con τ .

Las acciones ocultas no son observables desde el exterior.

Es util para abstraer el comportamiento interno del sistema.

Nueva nocion de equivalencia que tiene en cuenta la abstraccion (BranchingBisimulation).

Por ejemplo: a.τ.b = a.b

Malaga - 15 Diciembre –25-a–

Page 70: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Abstraccion:

La abstraccion se utiliza para ocultar partes de la ejecucion.

Una accion oculta se denota con τ .

Las acciones ocultas no son observables desde el exterior.

Es util para abstraer el comportamiento interno del sistema.

Nueva nocion de equivalencia que tiene en cuenta la abstraccion (BranchingBisimulation).

Por ejemplo: a.τ.b = a.b

Malaga - 15 Diciembre –25-b–

Page 71: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Abstraccion:

La abstraccion se utiliza para ocultar partes de la ejecucion.

Una accion oculta se denota con τ .

Las acciones ocultas no son observables desde el exterior.

Es util para abstraer el comportamiento interno del sistema.

Nueva nocion de equivalencia que tiene en cuenta la abstraccion (BranchingBisimulation).

Por ejemplo: a.τ.b = a.b

Malaga - 15 Diciembre –25-c–

Page 72: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Abstraccion:

La abstraccion se utiliza para ocultar partes de la ejecucion.

Una accion oculta se denota con τ .

Las acciones ocultas no son observables desde el exterior.

Es util para abstraer el comportamiento interno del sistema.

Nueva nocion de equivalencia que tiene en cuenta la abstraccion (BranchingBisimulation).

Por ejemplo: a.τ.b = a.b

Malaga - 15 Diciembre –25-d–

Page 73: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Abstraccion:

La abstraccion se utiliza para ocultar partes de la ejecucion.

Una accion oculta se denota con τ .

Las acciones ocultas no son observables desde el exterior.

Es util para abstraer el comportamiento interno del sistema.

Nueva nocion de equivalencia que tiene en cuenta la abstraccion (BranchingBisimulation).

Por ejemplo: a.τ.b = a.b

Malaga - 15 Diciembre –25-e–

Page 74: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Abstraccion:

La abstraccion se utiliza para ocultar partes de la ejecucion.

Una accion oculta se denota con τ .

Las acciones ocultas no son observables desde el exterior.

Es util para abstraer el comportamiento interno del sistema.

Nueva nocion de equivalencia que tiene en cuenta la abstraccion (BranchingBisimulation).

Por ejemplo: a.τ.b = a.b

Malaga - 15 Diciembre –25-f–

Page 75: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Axiomatizacion:

Existe un axiomatizacion sound and complete modulo bisimulacion deACP

Existe un axiomatizacion sound and complete modulo branchingbisimulacion de ACP

τ

Malaga - 15 Diciembre –26–

Page 76: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Ejemplo:Q1 = r1 s3 Q1

Q2 = r3 s2 Q2

1 23Q1 Q2

Dos buffers Q2 y Q1 de capacidad uno

τ{c3}(∂{s3,r3}(Q2‖Q1))

son equivalentes a un buffer de capacidad dos:

X = r1 Y

Y = r1 Z + s2 X

Z = s2 Y

Malaga - 15 Diciembre –27–

Page 77: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Ejemplo:

r1

r1

s2

s2

r1r1

r1

s2

s2

τ

r1

s2

s2

Malaga - 15 Diciembre –28–

Page 78: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Q2‖Q1

= Q2 Q1 + Q1 Q2 + Q2|Q1

= (r3s2Q2) Q1 + (r1s3Q1) Q2

+ (r3s2Q2)|(r1s3Q1)

= r3 · ((s2Q2)‖Q1) + r1 · ((s3Q1)‖Q2)

+ δ · ((s2Q2)‖(s3Q1))

= r3 · ((s2Q2)‖Q1) + r1 · ((s3Q1)‖Q2)

∂{s3,r3}(Q2‖Q1)

= ∂{s3,r3}(r3 · ((s2Q2)‖Q1) + r1 · ((s3Q1)‖Q2))

= ∂{s3,r3}(r3 · ((s2Q2)‖Q1))

+ ∂{s3,r3}(r1 · ((s3Q1)‖Q2))

= ∂{s3,r3}(r3) · ∂{s3,r3}((s2Q2)‖Q1)

+ ∂{s3,r3}(r1) · ∂{s3,r3}((s3Q1)‖Q2)

= δ · ∂{s3,r3}((s2Q2)‖Q1)

+ r1 · ∂{s3,r3}((s3Q1)‖Q2)

= r1 · ∂{s3,r3}((s3Q1)‖Q2)

Page 79: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Podemos derivar:

∂{s3,r3}((s3Q1)‖Q2) = c3 · ∂{s3,r3}(Q1‖(s2Q2))

∂{s3,r3}(Q1‖(s2Q2)) = r1 · ∂{s3,r3}((s3Q1)‖(s2Q2))

+ s2 · ∂{s3,r3}(Q2‖Q1)

∂{s3,r3}((s3Q1)‖(s2Q2)) = s2 · ∂{s3,r3}((s3Q1)‖Q2)

∂{s3,r3}(Q1‖(s2Q2))

∂{s3,r3}((s3Q1)‖(s2Q2))

∂{s3,r3}(Q2‖Q1)

r1

c3

r1

∂{s3,r3}((s3Q1)‖Q2)s2

s2

Page 80: Vericaci on· Formal de Protocolos de Comunicacion· con ...

τ{c3}(∂{s3,r3}(Q2‖Q1))

= τ{c3}(r1 · ∂{s3,r3}((s3Q1)‖Q2))

= r1 · τ{c3}(∂{s3,r3}((s3Q1)‖Q2))

= r1 · τ{c3}(c3 · ∂{s3,r3}(Q1‖(s2Q2)))

= r1 · τ · τ{c3}(∂{s3,r3}(Q1‖(s2Q2)))

= r1 · τ{c3}(∂{s3,r3}(Q1‖(s2Q2)))

Podemos derivar:

τ{c3}(∂{s3,r3}(Q1‖(s2Q2))) =

r1 · τ{c3}(∂{s3,r3}((s3Q1)‖(s2Q2)))

+ s2 · τ{c3}(∂{s3,r3}(Q2‖Q1))

τ{c3}(∂{s3,r3}((s3Q1)‖(s2Q2))) =

s2 · τ{c3}(∂{s3,r3}(Q1‖(s2Q2)))

Por tanto:

X := τ{c3}(∂{s3,r3}(Q2‖Q1))

Y := τ{c3}(∂{s3,r3}(Q1‖(s2Q2)))

Z := τ{c3}(∂{s3,r3}((s3Q1)‖(s2Q2)))

Page 81: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Algebra de Procesos con Datos:Especificacion algebraica de los datos + integracion

Acciones con Parametros n : Nat, send(n)

Procesos con Parametros P (n : Nat, t : T ime, M : multiset[Nat])

Condicional:P (n : Nat) = n > 0 → a.P (n − 1)

+ n = 0 → τ.P (N)

Cuantificacion sobre datos (∑

):

P = send(0).P + send(1).P + send(2).P + ...

∼P =

∑n:Nat send(n).P

Malaga - 15 Diciembre –32–

Page 82: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Algebra de Procesos con Datos:Especificacion algebraica de los datos + integracion

Acciones con Parametros n : Nat, send(n)

Procesos con Parametros P (n : Nat, t : T ime, M : multiset[Nat])

Condicional:P (n : Nat) = n > 0 → a.P (n − 1)

+ n = 0 → τ.P (N)

Cuantificacion sobre datos (∑

):

P = send(0).P + send(1).P + send(2).P + ...

∼P =

∑n:Nat send(n).P

Malaga - 15 Diciembre –32-a–

Page 83: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Algebra de Procesos con Datos:Especificacion algebraica de los datos + integracion

Acciones con Parametros n : Nat, send(n)

Procesos con Parametros P (n : Nat, t : T ime, M : multiset[Nat])

Condicional:P (n : Nat) = n > 0 → a.P (n − 1)

+ n = 0 → τ.P (N)

Cuantificacion sobre datos (∑

):

P = send(0).P + send(1).P + send(2).P + ...

∼P =

∑n:Nat send(n).P

Malaga - 15 Diciembre –32-b–

Page 84: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Algebra de Procesos con Datos:Especificacion algebraica de los datos + integracion

Acciones con Parametros n : Nat, send(n)

Procesos con Parametros P (n : Nat, t : T ime, M : multiset[Nat])

Condicional:P (n : Nat) = n > 0 → a.P (n − 1)

+ n = 0 → τ.P (N)

Cuantificacion sobre datos (∑

):

P = send(0).P + send(1).P + send(2).P + ...

∼P =

∑n:Nat send(n).P

Malaga - 15 Diciembre –32-c–

Page 85: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Algebra de Procesos con Datos:Especificacion algebraica de los datos + integracion

Acciones con Parametros n : Nat, send(n)

Procesos con Parametros P (n : Nat, t : T ime, M : multiset[Nat])

Condicional:P (n : Nat) = n > 0 → a.P (n − 1)

+ n = 0 → τ.P (N)

Cuantificacion sobre datos (∑

):

P = send(0).P + send(1).P + send(2).P + ...

∼P =

∑n:Nat send(n).P

Malaga - 15 Diciembre –32-d–

Page 86: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Bounded Buffer:

Datos:

empty : → List cons : Nat × List → List

head : List → Nat tail : List → List

len : List → Nat

head(cons(n, L)) = n tail(cons(n, L)) = L

len(empty) = 0 len(cons(n, L)) = S(len(L))

Proceso:

Buffer(l : List) =∑

n:Nat len(l) < Max → put(n).Buffer(cons(n, l))

+ len(l) > 0 → get(head(l)).Buffer(tail(l))

Malaga - 15 Diciembre –33–

Page 87: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Bounded Buffer:Datos:

empty : → List cons : Nat × List → List

head : List → Nat tail : List → List

len : List → Nat

head(cons(n, L)) = n tail(cons(n, L)) = L

len(empty) = 0 len(cons(n, L)) = S(len(L))

Proceso:

Buffer(l : List) =∑

n:Nat len(l) < Max → put(n).Buffer(cons(n, l))

+ len(l) > 0 → get(head(l)).Buffer(tail(l))

Malaga - 15 Diciembre –33-a–

Page 88: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Bounded Buffer:Datos:

empty : → List cons : Nat × List → List

head : List → Nat tail : List → List

len : List → Nat

head(cons(n, L)) = n tail(cons(n, L)) = L

len(empty) = 0 len(cons(n, L)) = S(len(L))

Proceso:

Buffer(l : List) =∑

n:Nat len(l) < Max → put(n).Buffer(cons(n, l))

+ len(l) > 0 → get(head(l)).Buffer(tail(l))

Malaga - 15 Diciembre –33-b–

Page 89: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Model Checking:

Algoritmo automatico sobre sistemas de transiciones.

Solo se puede usar en sistemas finitos (aunque hay especificaciones algebraicasinfinitas)

Las propiedades normalmente se expresan en una logica temporal.

ϕ ::= T |F |ϕ1 ∧ ϕ2 |ϕ1 ∨ ϕ2 | 〈a〉ϕ | [a]ϕ

• 〈a〉ϕ. Existe una transicion a que lleva a un estado que satisface ϕ.

• [a]ϕ. Todas las transiciones a llevan a un estado que satisface ϕ.

Malaga - 15 Diciembre –34–

Page 90: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Model Checking:

Algoritmo automatico sobre sistemas de transiciones.

Solo se puede usar en sistemas finitos (aunque hay especificaciones algebraicasinfinitas)

Las propiedades normalmente se expresan en una logica temporal.

ϕ ::= T |F |ϕ1 ∧ ϕ2 |ϕ1 ∨ ϕ2 | 〈a〉ϕ | [a]ϕ

• 〈a〉ϕ. Existe una transicion a que lleva a un estado que satisface ϕ.

• [a]ϕ. Todas las transiciones a llevan a un estado que satisface ϕ.

Malaga - 15 Diciembre –34-a–

Page 91: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Model Checking:

Algoritmo automatico sobre sistemas de transiciones.

Solo se puede usar en sistemas finitos (aunque hay especificaciones algebraicasinfinitas)

Las propiedades normalmente se expresan en una logica temporal.

ϕ ::= T |F |ϕ1 ∧ ϕ2 |ϕ1 ∨ ϕ2 | 〈a〉ϕ | [a]ϕ

• 〈a〉ϕ. Existe una transicion a que lleva a un estado que satisface ϕ.

• [a]ϕ. Todas las transiciones a llevan a un estado que satisface ϕ.

Malaga - 15 Diciembre –34-b–

Page 92: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Model Checking:

Algoritmo automatico sobre sistemas de transiciones.

Solo se puede usar en sistemas finitos (aunque hay especificaciones algebraicasinfinitas)

Las propiedades normalmente se expresan en una logica temporal.

ϕ ::= T |F |ϕ1 ∧ ϕ2 |ϕ1 ∨ ϕ2 | 〈a〉ϕ | [a]ϕ

• 〈a〉ϕ. Existe una transicion a que lleva a un estado que satisface ϕ.

• [a]ϕ. Todas las transiciones a llevan a un estado que satisface ϕ.

Malaga - 15 Diciembre –34-c–

Page 93: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Model Checking:

Algoritmo automatico sobre sistemas de transiciones.

Solo se puede usar en sistemas finitos (aunque hay especificaciones algebraicasinfinitas)

Las propiedades normalmente se expresan en una logica temporal.

ϕ ::= T |F |ϕ1 ∧ ϕ2 |ϕ1 ∨ ϕ2 | 〈a〉ϕ | [a]ϕ

• 〈a〉ϕ. Existe una transicion a que lleva a un estado que satisface ϕ.

• [a]ϕ. Todas las transiciones a llevan a un estado que satisface ϕ.

Malaga - 15 Diciembre –34-d–

Page 94: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Ejemplo:

√√√ √

moneda moneda

cocacola mecacola

moneda

cocacola mecacola

[moneda]〈mecacola〉TEl de la derecha satisface la formula, el de la izquierda no.

Malaga - 15 Diciembre –35–

Page 95: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Conclusion:El algebra de procesos es potente formalismo para especificar sistemasconcurrentes.

Es completamente formal → basada en teorıas algebraicas.

Integra diversos metodos de verificacion.

Existen extensiones para modelar sistemas mas complejos: con tiempo, conprobabilidades, ...

Puede parecer crıptica o no intuitiva.

Esta destinada a la especificacion y no a la implementacion.

Verificar requiere mucho esfuerzo y conocimiento.

Malaga - 15 Diciembre –36–

Page 96: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Conclusion:El algebra de procesos es potente formalismo para especificar sistemasconcurrentes.

Es completamente formal → basada en teorıas algebraicas.

Integra diversos metodos de verificacion.

Existen extensiones para modelar sistemas mas complejos: con tiempo, conprobabilidades, ...

Puede parecer crıptica o no intuitiva.

Esta destinada a la especificacion y no a la implementacion.

Verificar requiere mucho esfuerzo y conocimiento.

Malaga - 15 Diciembre –36-a–

Page 97: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Conclusion:El algebra de procesos es potente formalismo para especificar sistemasconcurrentes.

Es completamente formal → basada en teorıas algebraicas.

Integra diversos metodos de verificacion.

Existen extensiones para modelar sistemas mas complejos: con tiempo, conprobabilidades, ...

Puede parecer crıptica o no intuitiva.

Esta destinada a la especificacion y no a la implementacion.

Verificar requiere mucho esfuerzo y conocimiento.

Malaga - 15 Diciembre –36-b–

Page 98: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Conclusion:El algebra de procesos es potente formalismo para especificar sistemasconcurrentes.

Es completamente formal → basada en teorıas algebraicas.

Integra diversos metodos de verificacion.

Existen extensiones para modelar sistemas mas complejos: con tiempo, conprobabilidades, ...

Puede parecer crıptica o no intuitiva.

Esta destinada a la especificacion y no a la implementacion.

Verificar requiere mucho esfuerzo y conocimiento.

Malaga - 15 Diciembre –36-c–

Page 99: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Conclusion:El algebra de procesos es potente formalismo para especificar sistemasconcurrentes.

Es completamente formal → basada en teorıas algebraicas.

Integra diversos metodos de verificacion.

Existen extensiones para modelar sistemas mas complejos: con tiempo, conprobabilidades, ...

Puede parecer crıptica o no intuitiva.

Esta destinada a la especificacion y no a la implementacion.

Verificar requiere mucho esfuerzo y conocimiento.

Malaga - 15 Diciembre –36-d–

Page 100: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Conclusion:El algebra de procesos es potente formalismo para especificar sistemasconcurrentes.

Es completamente formal → basada en teorıas algebraicas.

Integra diversos metodos de verificacion.

Existen extensiones para modelar sistemas mas complejos: con tiempo, conprobabilidades, ...

Puede parecer crıptica o no intuitiva.

Esta destinada a la especificacion y no a la implementacion.

Verificar requiere mucho esfuerzo y conocimiento.

Malaga - 15 Diciembre –36-e–

Page 101: Vericaci on· Formal de Protocolos de Comunicacion· con ...

Miguel Valero

Conclusion:El algebra de procesos es potente formalismo para especificar sistemasconcurrentes.

Es completamente formal → basada en teorıas algebraicas.

Integra diversos metodos de verificacion.

Existen extensiones para modelar sistemas mas complejos: con tiempo, conprobabilidades, ...

Puede parecer crıptica o no intuitiva.

Esta destinada a la especificacion y no a la implementacion.

Verificar requiere mucho esfuerzo y conocimiento.

Malaga - 15 Diciembre –36-f–