stringtranslate.com

Región (verificación de modelos)

En la verificación de modelos , un campo de la informática , una región es un politopo convexo de alguna dimensión , y más precisamente una zona , que satisface alguna propiedad de minimalidad. Las regiones son particiones .

El conjunto de zonas depende de un conjunto de restricciones de la forma , , y , con y algunas variables, y una constante. Las regiones se definen de modo que si dos vectores y pertenecen a la misma región, entonces satisfacen las mismas restricciones de . Además, cuando esos vectores se consideran como una tupla de relojes , ambos vectores tienen el mismo conjunto de futuros posibles. Intuitivamente, significa que cualquier lógica temporal proposicional temporizada -fórmula, o autómata temporizado o autómata de señales que use solo las restricciones de no puede distinguir ambos vectores.

El conjunto de regiones permite crear el autómata de región , que es un grafo dirigido en el que cada nodo es una región, y cada arista asegura que es un futuro posible de . Tomando un producto de este autómata de región y de un autómata temporizado que acepta un lenguaje se crea un autómata finito o un autómata Büchi que acepta no temporizado . En particular, permite reducir el problema de vacío para al problema de vacío para un autómata finito o Büchi. Esta técnica es utilizada por ejemplo por el software UPPAAL . [1]

Definición

Sea un conjunto de relojes . Para cada sea . Intuitivamente, este número representa un límite superior de los valores con los que se puede comparar el reloj. La definición de una región sobre los relojes de utiliza esos números . A continuación se dan tres definiciones equivalentes.

Dada una asignación de reloj , denota la región a la que pertenece. El conjunto de regiones se denota por .

Asignación de equivalencia de relojes

La primera definición permite probar 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. Dos asignaciones de relojes y son equivalentes si satisfacen las siguientes restricciones: [2] : 202 

El primer tipo de restricciones garantiza que y satisface las mismas restricciones. De hecho, si y , entonces solo la segunda asignación satisface . Por otro lado, si y , ambas asignaciones satisfacen exactamente el mismo conjunto de restricciones, ya que las restricciones usan solo constantes integrales.

El segundo tipo de restricciones garantiza que el futuro de dos asignaciones satisfaga las mismas restricciones. Por ejemplo, sea y . Entonces, la restricción se satisface eventualmente para el futuro de sin reinicio del reloj, pero no para el futuro de sin 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 proporciona a continuación permite dar una codificación canónica de una región.

Una región puede definirse explícitamente como una zona, utilizando un conjunto de ecuaciones e inecuaciones que satisfacen las siguientes restricciones:

Dado que, cuando y son 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, 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 es proporcional al 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 cronometrado puede notarlas. Dada cualquier ejecución que comience con una asignación de reloj , para cualquier otra asignación en la misma región, hay una ejecución , que pasa por las mismas ubicaciones, lee 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 asignaciones de relojes y pertenece a la misma región si para cada autómata temporizado en el que los guardias nunca comparan un reloj con un número mayor que , dada cualquier ubicación de , existe una bisimulación temporizada entre los estados extendidos y . Más precisamente, esta bisimulación conserva letras y ubicaciones pero no las asignaciones de relojes exactas. [1] : 7 

Operación en regiones

Algunas operaciones ahora están definidas sobre regiones: reiniciar parte de su reloj y dejar pasar el tiempo.

Reinicio de relojes

Dada una región definida por un conjunto de (in)ecuaciones y un conjunto de relojes , ahora se define la región similar a en la que se reinician los relojes de . Esta región se denota por , y se define por las siguientes restricciones:

El conjunto de asignaciones definido por es exactamente el conjunto de asignaciones para .

Sucesor del tiempo

Dada una región , las regiones a las que se puede llegar sin reiniciar un reloj se denominan sucesores temporales de . A continuación se dan dos definiciones equivalentes.

Definición

Una región de reloj es un sucesor temporal de otra región de reloj si para cada asignación , existe algún real positivo tal que .

Obsérvese que esto no significa que . Por ejemplo, la región definida por el conjunto de restricciones tiene el sucesor temporal definido por el conjunto de restricciones . De hecho, para cada , basta con tomar . Sin embargo, no existe ningún real tal que o incluso tal que ; de hecho, define un triángulo mientras que define un segmento.

Definición computable

La segunda definición dada ahora permite calcular explícitamente el conjunto de sucesores temporales de una región, dado por su conjunto de restricciones.

Dada una región definida como un conjunto de restricciones , definamos su conjunto de sucesores temporales. Para ello, se requieren las siguientes variables. Sea el conjunto de restricciones de de la forma . Sea el conjunto de relojes tales que contiene la restricción . Sea el conjunto de relojes tales que no hay restricciones de la forma en .

Si está vacío, es su propio sucesor temporal. Si , entonces es el único sucesor temporal de . De lo contrario, existe un sucesor temporal menor de distinto de . El sucesor temporal menor, si no está vacío, contiene:

Si está vacío, el sucesor temporal mínimo se define mediante las siguientes restricciones:

Propiedades

Hay en la mayoría de las regiones, donde es el número de relojes. [2] : 203 

Autómata de región

Dado un autómata cronometrado , su autómata de región es un autómata finito o un autómata de Büchi que acepta . Este autómata es similar a , donde los relojes se reemplazan por región. Intuitivamente, el autómata de región se construye como un producto de y del gráfico de región. Este gráfico de región se define primero.

Gráfica de regiones

El gráfico de región es un gráfico dirigido con raíz que modela el conjunto de posibles valores de reloj durante la ejecución de un temporizador automático temporizado. Se define de la siguiente manera:

Autómata de región

Sea un autómata temporizado . Para cada reloj , sea el mayor número tal que exista un guarda de la forma en . El autómata de región de , denotado por es un autómata finito o de Büchi que es esencialmente un producto de y del gráfico de región definido anteriormente. Es decir, cada estado del autómata de región es un par que contiene una ubicación de y una región. Dado que la asignación de dos relojes que pertenecen a la misma región satisface el mismo guarda, cada región contiene suficiente información para decidir qué transiciones se pueden tomar.

Formalmente, el autómata de región se define de la siguiente manera:

Dada cualquier ejecución de , la secuencia se denota , es una ejecución de y acepta si y solo si acepta [2] : 207  . De ello se deduce que . En particular, acepta una palabra cronometrada si y solo si acepta una palabra. Además, una ejecución de aceptación de se puede calcular a partir de una ejecución de aceptación de .

Referencias

  1. ^ ab Bengtsson, Johan; Yi, Wang L (2004). "Autómatas temporizados: semántica, algoritmos y herramientas". Lecciones sobre concurrencia y redes de Petri . Apuntes 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.
  2. ^ abc 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 .