Safety & Liveness. Vocabulario ● Una propiedad de un sistema es un conjunto de sucesiones infinitas de estados. ● Un sistema también se caracteriza como.

Slides:



Advertisements
Presentaciones similares
Presentado por: Yuli Dominguez. Portal Educa Panamá. Sistema de numeración.
Advertisements

1 MATEMATICAS I ITESM-Preparatoria Esmeralda Prof. Q.F.B. Mary Luz Noguera Números.
O. Ciclo Para (For) La instrucción Para ejecuta una secuencia de instrucciones (una o varias), una determinada cantidad de veces. Sintaxis: Para  Hasta.
Teoría de la computación DECIBILIDAD Equipo 4 Karla Flores Samuel rojas Filiberto Jiménez.
Especificación de sistemas concurrentes con TLA +.
TEMA 5: PROBABILIDAD. Índice Experimentos aleatorios. Sucesos. Tipos de sucesos. Sucesos elementales Suceso seguro Suceso imposible Álgebra de sucesos.
Consejos, conceptos y vocabulario sobre requerimientos y especificaciones.
Sistema de ecuaciones 2x2. Recordemos lo visto en las clases anteriores…
TEMA 5: PROBABILIDAD. 1. Experimentos aleatorios. 2. Sucesos. Tipos de sucesos Sucesos elementales Suceso seguro Suceso imposible. 3.
Cruce de ferrocarril en Statecharts Introducción a la concurrencia Requisitos temporales simples.
2012-BM5A. Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar.
PPTCEG049EM32-A16V1 Distribución normal EM-32. Recordemos… -¿Cómo se calcula el valor esperado para una determinada variable aleatoria? -¿Cómo es posible.
¿Qué es un Diagrama de Flujo? UN DIAGRAMA DE FLUJO, TAMBIÉN LLAMADO FLUJOGRAMA DE PROCESOS O DIAGRAMA DE PROCESOS, REPRESENTA LA SECUENCIA O LOS PASOS.
ADRIANA MILENA ÁVILA REYES LICENCIATURA EN MATEMÁTICAS.
Diseño por Contrato Tecnología de Objetos Raúl Herrera A.
UNIVERSIDAD CATOLICA SANTA MARIA ESCUELA DE CIENCIA POLITICA
Material de apoyo para tema :
Ingreso , proceso y salida de datos
U-6. Cap. III Introducción a la solución por series.
Números reales.
Estructuras de Control en Visual Basic.net
Qué es una derivada? “La pregunta del millón…”
Ciclos condicionales y exactos Estructura de control de ciclos
El conjunto de los números naturales
Fundamentos de la Computación
Intervalos y Desigualdades
1) Asociativa sobre (+):  (a + b) + c = a +(b + c) 
TEMA 5: PROBABILIDAD. 1. Experimentos aleatorios.
Armando Esteva Román INTEGRAL DEFINIDA Y METODOS DE INTEGRACION
Estructuras de Control en Visual Basic.net
Ing. Carlos Cifuentes Cruz
Señales Limitadas por Banda y Teorema de Muestreo
ALGORITMOS Por Carolina R.
PROBABILIDAD Definición.
Conjuntos La guía sencilla Guía basada en :
LÍMITE DE UNA FUNCIÓN.
Unidad 6. Capítulo IV. Puntos ordinarios y puntos singulares.
MATEMÁTICA DISCRETA Y LÓGICA 1
Introducción a la Física Newtoniana
LÍMITE DE UNA FUNCIÓN.
Funciones Sintaxis:. Sin el = inicial la función pasa por texto y no efectúa la operación indicada.
Estimación de parámetros: Estimación puntual y por intervalos
PROBABILIDAD Definición.
Funciones Prof. M. Alonso
Cantidad de líneas de campo que atraviesa la superficie ds.
Unidad 2 Capítulo II Ecuaciones no lineales
Algoritmo Capitulo Cinco.
Desigualdades e Inecuaciones
Sistemas de Ecuaciones Lineal
ESTRUCTURAS DE CONTROL EN VISUAL BASIC.NET Prof.: Rafael Mourglia.
UNIDAD 0105: SUCESIONES Y SERIES
Tema 7: Uso de la probabilidad en la investigación psicológica
¿Por qué se pierde masa durante el proceso?
BICONDICIONAL.
U-4. Cap. III. Existencia y unicidad de soluciones.
Control Estadístico de Procesos
Tipos de Ecuaciones. El signo igual El signo igual se utiliza en: El signo igual se utiliza en: Igualdades numéricas: Igualdades numéricas: = 5.
Transformada de Laplace. Propiedad de Linealidad La diferenciación o Integración transforman una función en otra. Por ejemplo: f(x) = x 2 Por Diferenciación.
Lógica y argumentación Transformación de proposiciones.
LENGUAJES DE BASES DE DATOS: CÁLCULO RELACIONAL
MAPA DE NAVEGACIÓN INECUACIONES UNIDAD 8 Índice Teoría Y Ejemplos.
Olimpiada Mátemática SAEM Thales
MATEMÀTICA 1º BGU INECUACIONES Edwin Quinchiguango PROFESOR COLEGIO MUNICIPAL NUEVE DE OCTUBRE.
Programación Modular Programación de Computadoras - Hugo Vega Grupo2: Reina Rodríguez Miriam Salluca.
TEMA 1 DEFINICIONES Y TERMINOLOGÍA. Ecuación Diferencial Se dice que una ecuación que contiene las derivadas de una o más variables dependientes, con.
PRO. ALDO G. ECUACIONES. EXPRESIONES ALGEBRAICAS Si se combinan, números representados por símbolos, mediante una o más operaciones de suma, resta, multiplicación,
NÚMEROS REALES. NÚMEROS NATURALES Los números naturales son aquellos que sirven para designar la cantidad de elementos que posee un cierto conjunto. Se.
Dr. Edwin Alfonso Sosa1 Aritmética: Propiedades y operaciones con números reales Fundamentos de álgebra Dr. Alfonso-Sosa.
1 Ingeniería en Sistemas Matemática Discreta. 2 EJEMPLOS DE CONJUNTOS:  N: conjunto de los números naturales.N: conjunto de los números naturales. 
Resumen Posición, velocidad y aceleración son tres maneras diferentes de describir el movimiento aunque están relacionadas. El cambio con el tiempo es.
Transcripción de la presentación:

Safety & Liveness

Vocabulario ● Una propiedad de un sistema es un conjunto de sucesiones infinitas de estados. ● Un sistema también se caracteriza como un conjunto de sucesiones infinitas de estados. – Si un sistema alcanza su estado final, entonces ese estado se repite al infinito. ● Decimos que una propiedad vale para un sistema si el conjunto de sucesiones infinitas de estados del sistema está incluido en la propiedad.

Pasos intrascendentes ● Las sucesiones de estados de M1, ¿son únicamente de la forma 〈 A1,B1,C1,A1,B1,... 〉 ? ● ¿Qué pasa si y nunca aparece? ● Entonces, deberían admitirse sucesiones de la forma 〈 A1,B1,B1,B1,B1,B1,.... 〉. M1 B1 A1 C1

Pasos intrascendentes (2) ● ¿Qué pasa si a M1 se la compone con M2? ¿Cuáles son las sucesiones de estados del sistema completo, M? ● Por ejemplo tendrían la forma: 〈 (A1,A2),(A1,B2),(B1,B2),(C1,C2),(A1,C2),... 〉 ? M2 B2 A2 C2

Pasos intrascendentes (3) ● ¿Qué ocurre si proyectamos esa sucesión en M1 o M2? ● Por ejemplo, para M1 obtenemos: 〈 A1,A1,B1,C1,A1,... 〉 ● Pero esa sucesión no está dentro del conjunto de sucesiones que habíamos calculado para M1 porque A1 se repite en los dos primeros pasos. ● Entonces si descomponemos M no obtenemos los elementos originales con los cuales lo construimos. ● El problema se soluciona si admitimos pasos intrascendentes en las sucesiones que definen el sistema.

Ejemplo

Ejemplo (cont) ● Pensemos ahora en una propiedad para M1: siempre que M1 esté en B1 o C1 eventualmente volverá a A1. ● Sin embargo, M1 no verifica la propiedad porque, por ejemplo, la ejecución de M1 〈 A1,B1,C1,C1,C1,... 〉 No es una ejecución de la propiedad.

Pasos intrascendentes (3) ● En Statecharts, Z o Larch no es posible describir M1 de manera tal que cumpla con Propiedad. ● Es una imposibilidad del lenguaje. ● Para describir ese tipo de propiedades es necesario recurrir a lenguajes más expresivos. ● En general la semántica de esos lenguajes se basa en algún tipo de lógica modal o temporal.

Dos clases de propiedades ● En 1985 Alpern y Schneider publican un artículo en el cual demuestran que cualquier sistema o propiedad puede ser descripta como la intersección de dos propiedades muy particulares. ● Una de esas propiedades siempre indica lo que el sistema no debe hacer, la otra indica siempre lo que el sistema eventualmente debe hacer. ● A la primer clase pertenecen las propiedades de safety (seguridad) y a la segunda las de liveness (vitalidad).

Dos clases de propiedades (2) ● Los nombres no son caprichosos: – Seguridad hace referencia a que el sistema no hará daño, es decir hará sólo lo especificado, lo que le está permitido. ● Según esta clase de propiedades el sistema siempre tiene la opción de detenerse repitiendo un estado al infinito. – Vitalidad hace referencia a que el sistema eventualmente alcanzará ciertos estados de interés. ● Según Lamport la especificación de la vitalidad sólo ocupa el 10% del tiempo de descripción.

Seguridad ● Algo malo no se da durante la ejecución del sistema (veamos algunos ejemplos sobre el problema del cruce ferroviario). – Un tresn no puede entrar en la zona de interés si el anterior aun no salió (EC-U-DK) – El sensor Y no puede activarse sin que antes se haya activado el Z (EC-S-DK) – La alarma se enciende y apaga de forma alternada (MC-S-DK) – La barrera no sube mientras pasa el tren (MC-S- RQ)

Vitalidad ● Algo bueno ocurre durante una ejecución. – Un tren que llega eventualmente sale (EC-U-DK) – Llega un momento en que el sensor Y no emite señal (EC-S-DK) – Una vez que el tren pasó se levantará la barrera (MC-S-RQ) – MC-S-DK parecen no ser posibles en ningún sistema.

Formalización de safety ● Si P es una propiedad de seguridad pero el sistema M no la satisface, entonces quiere decir que hay una ejecución, s, de M que no está en P. ● Si s está fuera de P significa que algo malo sucedió durante s; peor aun, eso es irremediable: ya sucedió... aun volviendo hacia atrás la historia del sistema no evitaremos que haya pasado. ● P es de seguridad si y sólo si:

Formalización de safety (2) ● Si P es "La barrera no sube mientras pasa el tren", s ∉ P significa que hay un punto de s, s[..i], donde el tren estaba pasando y se subió la barrera. ● Entonces, la definición dice que hagamos lo que hagamos después de eso (t), será imposible olvidar que la barrera se subió mientras el tren cruzaba: s[..i]t ∉ P. ● Otra formalización es: P es de seguridad sii

¿Cómo reconocer safety? M tiene ciertas transiciones y no otras Si M no está en A eventualmente volverá a A

¿Cómo reconocer safety? (2) Acepta el mismo lenguaje ⇒ es de seguridad Acepta el mismo lenguaje ⇒ es de seguridad No acepta el mismo lenguaje ⇒ no es de seguridad No acepta el mismo lenguaje ⇒ no es de seguridad

¿Cómo reconocer safety? (3) ● Algunas propiedades de seguridad corresponde a un autómata de Buchi que sólo tiene estados finales, pero que al menos tiene un estado que no acepta al menos un tipo de transición. ● De esta forma, los estados que no aceptan ciertos tipos de transiciones proscriben esas transiciones.

Formalización de liveness ● Ninguna ejecución parcial es irremediable: siempre existe la posibilidad de que lo bueno suceda en el futuro. ● Las propiedades de vitalidad no pueden prohibir cosas malas, sólo pueden prescribir cosas buenas. ● P es una propiedad de vitalidad si y sólo si

Formalización de liveness (2) ● Si P es "Todo convoy que llega eventualmente sale", entonces, si antes de salir se detiene, siempre existe la posibilidad de que vuelva a arrancar y cruce la ruta ● Supongamos que P es una propiedad de vitalidad que no satisface la definición dada. Entonces habrá una ejecución parcial s tal que entonces s es algo prohibido por P, por lo que P es en parte de seguridad.

¿Cómo reconocer liveness? No acepta ⇒ no es de vitalidad No acepta ⇒ no es de vitalidad Acepta ⇒ es de vitalidad Acepta ⇒ es de vitalidad

¿Cómo reconocer liveness? (2) ● Algunas propiedades de vitalidad corresponden a un autómata de Buchi que permite todas las transiciones posibles pero que tiene al menos un estado que no es final. ● De esta forma, si en algún momento se alcanza un estado no final, es seguro que se lo abandonará pues es posible salir con cualquier transición.

Safety ∩ Liveness ∩ ∩

Safety ∩ Liveness (2) ● En algunos casos puede ocurrir que al intersecar una propiedad de vitalidad con una de seguridad, el sistema resultante sea más restrictivo de lo que la propiedad de seguridad indica. ● Consideremos el siguiente sistema: – el estado es la variable natural x, – la única transición posible es incrementado x en 1, – el estado inicial x es 0, – se exige que si x llega a 1 eventualmente debe volver a cero.

∩ ∩ Safety ∩ Liveness (3) La única transición es incrementar x en 1 Si x llega a 1 debe volver a 0

Máquina cerrada ● Un par de propiedades una de las cuales es de seguridad, se denomina máquina cerrada si la conjunción de ambas no restringe aun más el funcionamiento del sistema. ● Si P es de seguridad y L es una propiedad arbitraria, entonces el par (P,L) es máquina cerrada sí y sólo sí C(P ∩ L) = P. – C(A) es la clausura de A, definida como la menor propiedad de seguridad que contiene a A. – Abadi-Lamport

Máquina cerrada (2) ● P ∩ L ⊆ P ● Ahora, si existe otra propiedad de seguridad P' tal que P ∩ L ⊆ P' ⊂ P significa que L no contempla algunas de las ejecuciones incluidas en P. Es decir, L restringe el sistema más que P. ● P = {incrementar, permanecer igual}, L1 = {cada tanto incrementar}, L2 = {cada tanto incrementar, si pasa 5 decrementar} – P ∩ L1 = {cada tanto incrementar} – P ∩ L2 = {cada tanto incrementar pero no pasar 5}

Siempre ● Para obtener máquinas cerradas, escribiremos las propiedades de vitalidad de un sistema con fórmulas de equidad (fairness). ● Las fórmulas de equidad tienen una forma sintáctica muy simple pero que requiere introducir algunos conceptos de la lógica temporal. ● Sea P un predicado de estado: – □ P es un predicado de lógica temporal que depende de una ejecución, se lee "siempre", "de aquí en más"; – □ P es verdadero en s ∈ S ∞ sii P es verdadero en s[i] para todo i.

Siempre (2) ● Sea A un predicado que depende de dos estados (es decir, define una transición de estados): – □ A es un predicado de lógica temporal que depende de una ejecución; – □ A es verdadero en s ∈ S ∞ sii A es verdadero en (s[i],s[i+1]) para todo i. – Si A = (x' = x + 1), s[4]=[x2], s[5]=[x3], s[6]=[x 5], entonces A es verdadero en (s[4],s[5]) pero no lo es en (s[5],s[6]), y □ A es falso en s.

Eventualmente ● F = ¬ □ ¬F – Es decir F no es siempre es falsa lo que equivale a que es verdadera en algún momento. – Se lee "eventualmente (tal vez ahora)". ● □ F, indica que, para cualquier estado, F es verdadera allí o en un algún estado futuro. ● □ F, indica que existe algún estado tal que F es verdadera en todos los estados que le siguen.

Subir la barrera ● Consideremos el siguiente requerimiento: – Si la barrera está baja y no hay trenes pasando eventualmente debe levantarse la barrera. ● Establecemos que la barrera sólo puede subirse si está baja y no hay un convoy cruzando SBarrera ≙ b =Baja ∧ ¬convoy ∧ b'=Arriba ● Por lo tanto el requerimiento puede re- escribirse: – Siempre que se pueda subir la barrera hay que hacerlo.

● El requerimiento anterior se puede escribir así: ● □ (se puede subir la barrera ⇒ SBarrera) ● Podemos definir el predicado Enabled(Op) como verdadero sii la precondición de Op es cierta en el estado actual. Entonces: ● □ (Enabled(SBarrera) ⇒ SBarrera) ● Sin embargo, este predicado es muy difícil de implementar pues si SBarrera se habilita por un segundo y luego queda deshabilitada por siempre, igual habría que ejecutarla. Equidad

● Entonces, por un lado debilitando la fórmula anterior y por otro generalizándola, llegamos a: ● WF(Op) = □ ( □ Enabled(Op) ⇒ Op) ● Esto es lo que se conoce como equidad débil. ● En TLA es necesario modificar levemente estas fórmulas para que resulten invariantes a los pasos intrascendentes. ● La fórmula anterior es equivalente a: ● □ (¬Enabled(Op)) ∨ □ Op ● □ Enabled(Op) ⇒ □ Op Equidad débil

● WF exige que la operación esté habilitada por siempre. Entre WF y la fórmula que descartamos está la equidad fuerte: ● SF(Op) = □ Enabled(Op) ⇒ □ Op ● Es decir, si Op está infinitamente a menudo habilitada, entonces se la ejecutará infinitas veces. ● La fórmula anterior es equivalente a: ● □ (¬Enabled(Op)) ∨ □ Op Equidad fuerte

● WF dice que eventualmente debe ejecutarse Op si está continuamente habilitada. ● SF dice que si Op sólo a veces está inhabilitada, se la debe ejecutar infinitas veces. ● SF puede ser más difícil de implementar que WF, y es un requisito más infrecuente. ● Por ejemplo, en el caso de la vía sería exagerado pedir SF pues los trenes pasan cada tanto. Comparación

❑ Abadi-Lamport: ❑ Teorema. Si P es de seguridad y L es una conjunción numerable de fórmulas WF(Op) y/o SF(Op) tal que cada Op puede ejecutarse satisfaciendo P, entonces (P,L) es máquina cerrada. ❑ Luego de introducir TLA veremos un enunciado más formal de este teorema. Máquina cerrada (3)