Subido por gavigozgz

sya05 lenguajeDeEspecificacion 2

Anuncio
Semánticas de procesos y aplicaciones
Clase 05: Lenguajes para especificar sistemas de transiciones y
lógicas modales - Parte 2
Outline
Lenguajes de especificación
Modal µ-calculus
¿Qué vimos hasta ahora?
I
acciones: a
I
multiacciones: α
I
3 operadores sobre multiacciones: α \ β, α v β y α
I
operador de elección: +
I
operador de secuencia: .
I
operador de inacción: δ
I
condicional: c → x♦y
P
generalización de +: d:D p(d) (Notar que necesitamos
datos)
I
I
procesos recursivos: en particular, procesos recursivos con
guarda
Axiomas para la weak bisimulación
Los axiomas que vimos son para la bisimulación. El siguiente
conjunto de axiomas extiende los mismos para la weak
bisimulación.
Axiomas para la branching bisimulación
Axiomas para la branching bisimulación
El operador de paralelización k
El operador de paralelización k
Comunicación entre procesos
¿Qué significa que dos acciones se ejecuten al mismo tiempo?
Comunicación entre procesos
¿Qué significa que dos acciones se ejecuten al mismo tiempo?
I
Nada, pues que dos acciones ocurran al mismo tiempo no
implica necesariamente qué exista comunicación.
I
La existencia de comunicación se hace explicita mediante el
operador ΓC .
I
El operador ΓC se usa para reemplazar multiacciones por
acciones.
Axiomas para ΓC
I
Para ΓC , las multiacciones con parámetro se reemplazan sólo
si tienen el mismo parámetro. Ejemplo:
Γ{a|b→c} (a(0) | b(0)) = c(0), pero
Γ{a|b→c} (a(1) | b(0)) = a(1) | b(0)
Axiomas para ΓC
I
NO se pueden reemplazar multiacciones que posean acciones
en común. Por ejemplo Γ{a|b→c,a|d→e} no es un operador
válido.
I
Caso contrario, γC1 (γC2 (α)) = γC2 (γC1 (α)) no es válido.
Forzando la comunicación
¿Alcanza ΓC para asegurar la comunicación de dos procesos?
(por el tı́tulo la respuesta es no... :S)
¿Por qué?
Forzando la comunicación
¿Alcanza ΓC para asegurar la comunicación de dos procesos?
(por el tı́tulo la respuesta es no... :S)
¿Por qué?
I
Para forzar la comunicación introducimos el operador allow
5V .
I
5V (p) es el proceso p donde sólo se ejecutan las acciones en
V.
Axiomas para 5V
Ejemplos de estos operadores (1)
Ejemplos de estos operadores (2A)
1. Sea X un switching buffer.
2. Sea B un temporary store de tamaño 1.
Ejemplos de estos operadores (2A)
1. Sea X un switching buffer.
2. Sea B un temporary store de tamaño 1.
¿Algún detalle de la especificación?
Ejemplos de estos operadores (2B)
Ejercicio
Bloque de acciones
Renombre de acciones
Ocultamiento de acciones
Ejemplo: utilidad del ocultamiento
I
Ambos LTS son branching bisimilares.
Outline
Lenguajes de especificación
Modal µ-calculus
¿Qué vimos hasta ahora?
I
Hennessy-Milner Logic
φ = true | false | ¬φ | φ ∧ φ | φ ∨ φ | φ → φ | haiφ | [a]φ
I
Fórmulas de acciones:
α ::= (a1 | . . . | an ) | true | false | α | α ∩ α | α ∪ α
hαiφ =
I
W
a∈α haiφ
[α]φ =
V
a∈α [a]φ
Fórmulas de regulares: R ::= ε | α | R.R | R + R | R ∗ | R +
I
I
I
I
I
ε es la fórmula vacia. Luego [ε]φ = hεiφ = φ.
hR1 + R2 iφ = hR1 iφ ∨ hR2 iφ
hR1 .R2 iφ = hR1 ihR2 iφ
[R1 + R2 ]φ = [R1 ]φ ∧ [R2 ]φ
[R1 .R2 ]φ = [R1 ][R2 ]φ
Razones para formular propiedades
Razones para formular propiedades
I
El comportamiento no es facilmente caracterizable, entonces
pedimos algunas propiedades mı́nimas. Ejemplo: “en el
protocolo de comunicación sólo habrá un lider”.
I
El comportamiento del sistema no es claro, luego sólo
definimos propiedades.
I
Para verificar el comportamiento del modelo. Si el modelo es
correcto deberı́a satisfacer las propiedades deseables del
sistema.
El model checking no es sólo para verificar propiedades, en
muchos casos sirve como herramienta para razonar sobre el
modelo. Es decir que los problemas se encuentran antes de
realizar el chequeo.
Modal µ-calculus
φ =true | false | ¬φ | φ ∧ φ | φ ∨ φ | φ → φ | haiφ | [a]φ |
µX .φ | νX .phi | X
I
Hennessy-Milner Logic + Operadores de máximo y mı́nimo
punto fijo.
Puntos fijos: intuitivamente.
µX .φ representa el conjunto de estados X más CHICO que
satisface
X =φ
νX .φ representa el conjunto de estados X más GRANDE que
satisface
X =φ
I
Notar los “tipos distintos”:
I
I
X es un conjunto de estados.
φ es una “fórmula” que además de etiquetas tiene conjuntos
de estados.
Puntos fijos: ejemplos.
I
En un LTS arbitrario, cuales estados satisfacen: µX .X y
νX .X .
I
En el siguiente LTS,cuales estados satisfacen: µX .haiX y
νX .haiX :
Puntos fijos. Algunas propiedades
I
El menor punto fijo es más fuerte que el mayor punto fijo:
µX .φ =⇒ νX .ψ
I
Uno es el dual del otro:
¬µX .φ = νX .¬φ
I
¬νX .φ = µX .¬φ
Para µX .φ y νX .φ, si en φ, X aparece negada una cantidad
impar de veces entonces el punto fijo no existe. Ejemplo:
µX .¬X , luego no existe X que satisfaga
X = ¬X
Safety and liveness properties
I
Una propiedad de liveness asegura que algo bueno sı́ va a
pasar en algun momento (ejecuciones finitas). Para esto se
usa el menor punto fijo.
I
Una propiedad de safety asegura que algo malo nunca va a
pasar (ejecuciones infinitas). Para esto se usa el mayor punto
fijo.
Ejercicio
I
Escribir hR ∗ iφ y [R ∗ ]φ usando puntos fijos. Luego, las
fórmulas regulares no son “necesarias”. Recordemos:
W
V
hαiφ = a∈α haiφ
[α]φ = a∈α [a]φ
I
Escribir hR + iφ y [R + ]φ en función de hR ∗ iφ y [R ∗ ]φ.
I
Cómo escribir ♦φ usando puntos fijos.
Fairness properties.
Estas propiedades se utilizan para expresar que una acción debe
suceder si se encuentra infinitamente habilitada o que una acción
ocurre sólo un número limitado de veces.
Ejemplos:
I
µX .νY .(haitrue ∧ [b]X ) ∨ (¬haitrue ∧ [b]Y )
I
νX .µY .(haitrue ∧ [b]X ) ∨ (¬haitrue ∧ [b]Y )
Verificando fórmulas modales en LTS: fórmulas HM.
I
Recursivamente se van etiquetando los nodos con las fórmulas
que satisface:
Verificando fórmulas modales en LTS: Menor punto fijo.
I
Se etiquetan los nodos con las fórmulas que satisface. Si algún
nodo satisface φ entonces se etiqueta el nodo con X . Se
repite el proceso hasta que no se agregan más X .
I
El menor punto fijo está relacionado con un caracterización de
estados inductiva.
Verificando fórmulas modales en LTS: Mayor punto fijo.
I
Se asume que todo estado satisface X . Luego se verifica si
cada estado satisface φ. Si no satisface, entonces, de ese
estado se retira X . Se repite el proceso hasta que no se sacan
más X .
I
El menor punto fijo está relacionado con un caracterización de
estados coinductiva.
Descargar