En la verificación de modelos , un campo de la informática , una región es un politopo convexo enpor alguna dimensióny, más precisamente, una zona que satisface alguna propiedad de minimalidad. Las regiones se dividen.
El conjunto de zonas depende de un conjuntode restricciones de la forma,,y, conyalgunas variables yuna constante. Las regiones se definen de tal manera que si dos vectoresypertenecen a la misma región, entonces satisfacen las mismas restricciones deAdemás, cuando esos vectores se consideran como una tupla de relojes , ambos vectores tienen el mismo conjunto de futuros posibles. Intuitivamente, esto significa que cualquier fórmula lógica temporal proposicional temporizada , o autómata temporizado o autómata de señales que utilice únicamente las restricciones deno puede distinguir ambos vectores.
El conjunto de regiones permite crear el autómata de regiones , que es un grafo dirigido en el que cada nodo es una región y cada aristaasegurar quees un posible futuro de. Tomando un producto de este autómata de región y de un autómata temporizadoque acepta un lenguajecrea un autómata finito o un autómata de Büchi que acepta datos sin temporización.. En particular, permite reducir el problema de la vacuidad paraal problema de vacuidad para un autómata finito o de Büchi. Esta técnica es utilizada, por ejemplo, por el software UPPAAL . [ 1 ]
Definición
Dejarun conjunto de relojes . Para cadadejarIntuitivamente, este número representa un límite superior en los valores a los que el relojse pueden comparar. La definición de una región sobre los relojes deutiliza esos números's. Ahora se dan tres definiciones equivalentes.
Se me asignó un reloj, denota la región en la que pertenece. El conjunto de regiones se denota por.
Asignación de equivalencia de relojes
La primera definición permite comprobar fácilmente si dos asignaciones pertenecen a la misma región.
Una región puede definirse como una clase de equivalencia para alguna relación de equivalencia. Asignaciones de dos relojesyson equivalentes si satisfacen las siguientes restricciones: [ 2 ] : 202
- si y solo si, para cadayun número entero, y ~ siendo una de las siguientes relaciones = , < o ≤ .
- si y solo si, para cada,,,siendo la parte fraccionaria de lo realy ~ siendo una de las siguientes relaciones = , < o ≤ .
El primer tipo de restricciones garantiza queysatisface las mismas restricciones. De hecho, siy, entonces solo la segunda asignación satisface. Por otro lado, siy, ambas asignaciones satisfacen exactamente el mismo conjunto de restricciones, ya que las restricciones utilizan únicamente constantes enteras.
El segundo tipo de restricciones garantiza que el futuro de dos asignaciones satisfaga las mismas restricciones. Por ejemplo, seay. Entonces, la restricciónfinalmente se siente satisfecho por el futuro desin reinicio del reloj, pero no por el futuro desin reinicio del reloj.
Definición explícita de una región
Si bien la definición anterior permite comprobar si dos asignaciones pertenecen a la misma región, no permite representar fácilmente una región como una estructura de datos . La tercera definición que se presenta a continuación permite proporcionar una codificación canónica de una región.
Una región puede definirse explícitamente como una zona , utilizando un conjuntode ecuaciones e inecuaciones que satisfacen las siguientes restricciones:
- para cada,contiene:
- para algún número entero
- para algún número entero,
- ,
- Además, por cada par de relojes, dóndecontiene restricciones de la formay, entoncescontiene una (des)igualdad de la forma consiendo = , < o ≤ .
Desde cuándoyson fijos, la última restricción es equivalente a.
Esta definición permite codificar una región como una estructura de datos. Basta, para cada reloj, con indicar a qué intervalo pertenece y recordar el orden de la parte fraccionaria de los relojes que pertenecen a un intervalo abierto de longitud 1. De ello se deduce que el tamaño de esta estructura esconel número de relojes.
Bisimulación temporizada
Ahora demos una tercera definición de regiones. Si bien esta definición es más abstracta, también es la razón por la que se utilizan regiones en la verificación de modelos. Intuitivamente, esta definición establece que dos asignaciones de reloj pertenecen a la misma región si las diferencias entre ellas son tales que ningún autómata temporizado puede detectarlas. Dado cualquier ejecucióncomenzando con una asignación de reloj, para cualquier otra tareaEn la misma región, hay una carrera, pasando por los mismos lugares, leyendo las mismas letras, donde la única diferencia es que el tiempo esperado entre dos transiciones sucesivas puede ser diferente, y por lo tanto las variaciones sucesivas del reloj son diferentes.
Ahora se da la definición formal. Dado un conjunto de relojes, dos asignaciones dos relojes asignacionesypertenece a la misma región si para cada autómata temporizadoen el que los guardias nunca comparan un reloja un número mayor que, dada cualquier ubicaciónde, existe una bisimulación temporizada entre los estados extendidosyMás precisamente, esta bisimulación conserva las letras y las ubicaciones, pero no las asignaciones exactas de los relojes. [ 1 ] : 7
Operación en regiones
Algunas operaciones ahora se definen por regiones: Reiniciar parte de su reloj y dejar que pase el tiempo.
Reiniciar los relojes
Dada una regióndefinido por un conjunto de (in)ecuacionesy un conjunto de relojes, la región similar aen el que los relojes dese reinician ahora está definido. Esta región se denota por, se define por las siguientes restricciones:
- cada restricción deque no contiene el reloj,
- las restriccionespara.
El conjunto de asignaciones definido pores exactamente el conjunto de asignacionespara.
Sucesor temporal
Dada una región, las regiones que se pueden alcanzar sin reiniciar un reloj se denominan sucesores temporales deAhora se dan dos definiciones equivalentes.
Definición
Una región del relojes un sucesor temporal de otra región del reloj.si para cada asignación, existe algún real positivode tal manera que.
Tenga en cuenta que eso no significa que. Por ejemplo, la regióndefinido por el conjunto de restriccionestiene el sucesor temporaldefinido por el conjunto de restricciones. De hecho, para cada, basta con tomarSin embargo, no existe una realidad.de tal manera queo incluso tal que; en efecto,define un triángulo mientrasdefine un segmento.
Definición computable
La segunda definición que se da ahora permite calcular explícitamente el conjunto de sucesores temporales de una región, dado por su conjunto de restricciones.
Dada una regióndefinido como un conjunto de restricciones, definamos su conjunto de sucesores temporales. Para ello, se requieren las siguientes variables. Sea el conjunto de restricciones dede la forma. Dejarel conjunto de relojesde tal manera quecontiene la restricción. Dejarel conjunto de relojesde tal manera que no existan restricciones de la formaen.
Siestá vacío,es su propio sucesor temporal. Si, entonceses el único sucesor temporal de. De lo contrario, existe un sucesor de menor tiempo deno es igual a. El menos sucesor en el tiempo, sino está vacío, contiene:
- las limitaciones de
- ,
- , y
- para cadade tal manera queno pertenece ala restricción.
SiSi está vacío, el sucesor de menor tiempo se define mediante las siguientes restricciones:
- las limitaciones deno usar los relojes de,
- la restricción, para cada restricciónen, con.
Propiedades
Hay como máximoregiones, dondees el número de relojes. [ 2 ] : 203
Autómata de región
Dado un autómata temporizado, su autómata de región es un autómata finito o un autómata de Büchi que acepta datos sin tiempo.Este autómata es similar adonde los relojes son reemplazados por regiones. Intuitivamente, el autómata de región se construye como un producto dey del gráfico de región. Este gráfico de región se define primero.
Gráfico de región
El grafo de región es un grafo dirigido con raíz que modela el conjunto de posibles valores de reloj durante la ejecución de un autómata temporizado. Se define de la siguiente manera:
- sus nodos son regiones,
- Su raíz es la región inicial., definido por el conjunto de restricciones,
- el conjunto de aristas son, paraun sucesor temporal de.
Autómata de región
Dejarun autómata temporizado . Para cada reloj, dejarel mayor númerode tal manera que exista un guardia de la formaen. El autómata de la región de, denotado pores un autómata finito o de Büchi que es esencialmente un producto dey del grafo de región definido anteriormente. Es decir, cada estado del autómata de región es un par que contiene una ubicación dey una región. Dado que la asignación de dos relojes pertenecientes a la misma región satisface la misma condición, cada región contiene información suficiente para decidir qué transiciones se pueden tomar.
Formalmente, el autómata de región se define de la siguiente manera:
- su alfabeto es,
- su conjunto de estados es,
- su conjunto de estados esconla región inicial,
- su conjunto de estados aceptantes es,
- su relación de transicióncontiene , para, de tal manera queyes un sucesor temporal de.
Dado cualquier recorridode, la secuenciase denota, es una carrera dey acepta si y solo siestá aceptando [ 2 ] : 207 . De ello se deduce que. En particular,acepta una palabra temporizada si y solo siacepta una palabra. Además, una secuencia de aceptación dese puede calcular a partir de una ejecución de aceptación de.
Referencias
- 1 2 Bengtsson, Johan; Yi, Wang L (2004). "Autómatas temporizados: semántica, algoritmos y herramientas" . Lecciones sobre concurrencia y redes de Petri . Notas de clase en informática. Vol. 3098. págs. 87–124 . doi : 10.1007/978-3-540-27755-2_3 . ISBN 978-3-540-22261-3.
- 1 2 3 Alur, Rajeev; Dill, David L (25 de abril de 1994). "Una teoría de autómatas temporizados" (PDF) . Theoretical Computer Science . 126 (2): 183– 235. doi : 10.1016/0304-3975(94)90010-8 .
- Verificación de modelos
- Estructuras de datos
- politopos
- Geometría convexa