Articulo de referencia

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 en R d {\displaystyle \mathbb {R} ^{d}} por alguna dimensión d {\displaystyle d} y...

En la verificación de modelos , un campo de la informática , una región es un politopo convexo enRd{\displaystyle \mathbb {R} ^{d}}por alguna dimensiónd{\displaystyle d}y, más precisamente, una zona que satisface alguna propiedad de minimalidad. Las regiones se dividenRd{\displaystyle \mathbb {R} ^{d}}.

El conjunto de zonas depende de un conjuntoK{\displaystyle K}de restricciones de la formaincógnitado{\displaystyle x\leq c},incógnitado{\displaystyle x\geq c},incógnita1incógnita2+do{\displaystyle x_{1}\leq x_{2}+c}yincógnita1incógnita2+do{\displaystyle x_{1}\geq x_{2}+c}, conincógnita1{\displaystyle x_{1}}yincógnita2{\displaystyle x_{2}}algunas variables ydo{\displaystyle c}una constante. Las regiones se definen de tal manera que si dos vectoresincógnita{\displaystyle {\vec {x}}}yincógnita{\displaystyle {\vec {x}}'}pertenecen a la misma región, entonces satisfacen las mismas restricciones deK{\displaystyle K}Ademá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 deK{\displaystyle K}no 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 aristarr{\displaystyle r\to r'}asegurar quer{\displaystyle r'}es un posible futuro der{\displaystyle r}. Tomando un producto de este autómata de región y de un autómata temporizadoA{\displaystyle {\mathcal {A}}}que acepta un lenguajeL{\displaystyle L}crea un autómata finito o un autómata de Büchi que acepta datos sin temporización.L{\displaystyle L}. En particular, permite reducir el problema de la vacuidad paraA{\displaystyle {\mathcal {A}}}al 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

Dejardo={incógnita1,,incógnitad}{\displaystyle C=\{x_{1},\dots ,x_{d}\}}un conjunto de relojes . Para cadaincógnitanorte{\displaystyle x\in \mathbb {N} }dejardoincógnitanorte{\displaystyle c_{x}\in \mathbb {N} }Intuitivamente, este número representa un límite superior en los valores a los que el relojincógnita{\displaystyle x}se pueden comparar. La definición de una región sobre los relojes dedo{\displaystyle C}utiliza esos númerosdoincógnita{\displaystyle c_{x}}'s. Ahora se dan tres definiciones equivalentes.

Se me asignó un relojν{\displaystyle \nu }, [ν]{\displaystyle [\nu ]}denota la región en la que ν{\displaystyle \nu }pertenece. El conjunto de regiones se denota porR{\displaystyle {\mathcal {R}}}.

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 relojesν1{\displaystyle \nu _{1}}yν2{\displaystyle \nu _{2}}son equivalentes si satisfacen las siguientes restricciones: [ 2 ] : 202

  • ν1(incógnita)do{\displaystyle \nu _{1}(x)\sim c}si y solo siν2(incógnita)do{\displaystyle \nu _{2}(x)\sim c}, para cadaincógnitado{\displaystyle x\in C}y0dodoincógnita{\displaystyle 0\leq c\leq c_{x}}un número entero, y ~ siendo una de las siguientes relaciones = , < o .
  • {ν1(incógnita)}{ν1(y)}{\displaystyle \{\nu _{1}(x)\}\sim \{\nu _{1}(y)\}}si y solo si{ν2(incógnita)}{ν2(y)}{\displaystyle \{\nu _{2}(x)\}\sim \{\nu _{2}(y)\}}, para cadaincógnita,ydo{\displaystyle x,y\in C},ν1(incógnita)doincógnita{\displaystyle \nu _{1}(x)\leq c_{x}},ν1(y)doy{\displaystyle \nu _{1}(y)\leq c_{y}},{r}{\displaystyle \{r\}}siendo la parte fraccionaria de lo realr{\displaystyle r}y ~ siendo una de las siguientes relaciones = , < o .

El primer tipo de restricciones garantiza queν1{\displaystyle \nu _{1}}yν2{\displaystyle \nu _{2}}satisface las mismas restricciones. De hecho, siν1(incógnita)=0,5{\displaystyle \nu _{1}(x)=0.5}yν2(incógnita)=1{\displaystyle \nu _{2}(x)=1}, entonces solo la segunda asignación satisfaceincógnita=1{\displaystyle x=1}. Por otro lado, siν1(incógnita)=0,5{\displaystyle \nu _{1}(x)=0.5}yν2(incógnita)=0,6{\displaystyle \nu _{2}(x)=0.6}, 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, seaν1={incógnita0,5,y0,6}{\displaystyle \nu _{1}=\{x\mapsto 0.5,y\mapsto 0.6\}}yν2={incógnita0,5,y0,4}{\displaystyle \nu _{2}=\{x\mapsto 0.5,y\mapsto 0.4\}}. Entonces, la restriccióny=1incógnita<1{\displaystyle y=1\land x<1}finalmente se siente satisfecho por el futuro deν1{\displaystyle \nu _{1}}sin reinicio del reloj, pero no por el futuro deν2{\displaystyle \nu _{2}}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 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 conjuntoS{\displaystyle S}de ecuaciones e inecuaciones que satisfacen las siguientes restricciones:

  • para cadaincógnitado{\displaystyle x\in C},S{\displaystyle S}contiene:
    • incógnita=do{\displaystyle x=c}para algún número entero0dodoincógnita{\displaystyle 0\leq c\leq c_{x}}
    • incógnita(do,do+1){\displaystyle x\in (c,c+1)}para algún número entero0do<doincógnita{\displaystyle 0\leq c<c_{x}},
    • incógnita>doincógnita{\displaystyle x>c_{x}},
  • Además, por cada par de relojesincógnita,ydo{\displaystyle x,y\in C}, dóndeS{\displaystyle S}contiene restricciones de la formaincógnita(do,do+1){\displaystyle x\in (c,c+1)}yy(do,do+1){\displaystyle y\in (c',c'+1)}, entoncesS{\displaystyle S}contiene una (des)igualdad de la forma {incógnita}{y}{\displaystyle \{x\}\sim \{y\}}con{\displaystyle \sim }siendo = , < o .

Desde cuándodo{\displaystyle c}ydo{\displaystyle c'}son fijos, la última restricción es equivalente aincógnitay+dodo{\displaystyle x\sim y+c-c'}.

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 esO(registro(dok)+|do|registro(|do|)){\displaystyle O\left(\sum \log(c_{k})+|C|\log(|C|)\right)}con|do|{\displaystyle |C|}el 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ónr{\displaystyle r}comenzando con una asignación de relojν{\displaystyle \nu }, para cualquier otra tareaν{\displaystyle \nu '}En la misma región, hay una carrerar{\displaystyle r'}, 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 relojesdo{\displaystyle C}, dos asignaciones dos relojes asignacionesν1{\displaystyle \nu _{1}}yν2{\displaystyle \nu _{2}}pertenece a la misma región si para cada autómata temporizadoA{\displaystyle {\mathcal {A}}}en el que los guardias nunca comparan un relojincógnita{\displaystyle x}a un número mayor quedoincógnita{\displaystyle c_{x}}, dada cualquier ubicación{\displaystyle \ell }deA{\displaystyle {\mathcal {A}}}, existe una bisimulación temporizada entre los estados extendidos(,ν1){\displaystyle (\ell ,\nu _{1})}y(,ν2){\displaystyle (\ell ,\nu _{2})}Má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ónα{\displaystyle \alpha }definido por un conjunto de (in)ecuacionesS{\displaystyle S}y un conjunto de relojesdodo{\displaystyle C'\subseteq C}, la región similar aα{\displaystyle \alpha }en el que los relojes dedo{\displaystyle C'}se reinician ahora está definido. Esta región se denota porα[do0]{\displaystyle \alpha [C'\mapsto 0]}, se define por las siguientes restricciones:

  • cada restricción deS{\displaystyle S}que no contiene el relojincógnita{\displaystyle x},
  • las restriccionesincógnita=0{\displaystyle x=0}paraincógnitado{\displaystyle x\in C'}.

El conjunto de asignaciones definido porα[do0]{\displaystyle \alpha [C'\mapsto 0]}es exactamente el conjunto de asignacionesν[do0]{\displaystyle \nu [C'\mapsto 0]}paraνα{\displaystyle \nu \in \alpha }.

Sucesor temporal

Dada una regiónα{\displaystyle \alpha }, las regiones que se pueden alcanzar sin reiniciar un reloj se denominan sucesores temporales deα{\displaystyle \alpha }Ahora se dan dos definiciones equivalentes.

Definición

Una región del relojα{\displaystyle \alpha '}es un sucesor temporal de otra región del reloj.α{\displaystyle \alpha }si para cada asignaciónνα{\displaystyle \nu \in \alpha }, existe algún real positivotν,α>0{\displaystyle t_{\nu ,\alpha '}>0}de tal manera queν+tν,αα{\displaystyle \nu +t_{\nu ,\alpha '}\in \alpha '}.

Tenga en cuenta que eso no significa queα+tν,α=α{\displaystyle \alpha +t_{\nu ,\alpha '}=\alpha '}. Por ejemplo, la regiónα{\displaystyle \alpha }definido por el conjunto de restricciones{0<incógnita<1,0<y<1,incógnita<y}{\displaystyle \{0<x<1,0<y<1,x<y\}}tiene el sucesor temporalα{\displaystyle \alpha '}definido por el conjunto de restricciones{0<incógnita<1,y=1}{\displaystyle \{0<x<1,y=1\}}. De hecho, para cadaνα{\displaystyle \nu \in \alpha }, basta con tomartν,α=1ν(y){\displaystyle t_{\nu ,\alpha '}=1-\nu (y)}Sin embargo, no existe una realidad.t{\displaystyle t}de tal manera queα+t=α{\displaystyle \alpha +t=\alpha '}o incluso tal queα+tα{\displaystyle \alpha +t\subseteq \alpha '}; en efecto,α{\displaystyle \alpha }define un triángulo mientrasα{\displaystyle \alpha '}define 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ónα{\displaystyle \alpha }definido como un conjunto de restriccionesS{\displaystyle S}, definamos su conjunto de sucesores temporales. Para ello, se requieren las siguientes variables. Sea TS{\displaystyle T\subseteq S}el conjunto de restricciones deS{\displaystyle S}de la formaincógnitai=doi{\displaystyle x_{i}=c_{i}}. DejarYdo{\displaystyle Y\subseteq C}el conjunto de relojesy{\displaystyle y}de tal manera queS{\displaystyle S}contiene la restriccióny>doy{\displaystyle y>c_{y}}. DejarZdoY{\displaystyle Z\subseteq C\setminus Y}el conjunto de relojes{z}{\displaystyle \{z\}}de tal manera que no existan restricciones de la forma{incógnita}<{z}{\displaystyle \{x\}<\{z\}}enS{\displaystyle S}.

SiT{\displaystyle T}está vacío,α{\displaystyle \alpha }es su propio sucesor temporal. SiY=do{\displaystyle Y=C}, entoncesα{\displaystyle \alpha }es el único sucesor temporal deα{\displaystyle \alpha }. De lo contrario, existe un sucesor de menor tiempo deα{\displaystyle \alpha }no es igual aα{\displaystyle \alpha }. El menos sucesor en el tiempo, siT{\displaystyle T}no está vacío, contiene:

  • las limitaciones deST{\displaystyle S\setminus T}
  • incógnitai>doi{\displaystyle x_{i}>c_{i}},
  • {incógnitai}={incógnitaj}{\displaystyle \{x_{i}\}=\{x_{j}\}}, y
  • para caday{\displaystyle y}de tal manera quey>doy{\displaystyle y>c_{y}}no pertenece aS{\displaystyle S}la restricciónincógnitai<y{\displaystyle x_{i}<y}.

SiT{\displaystyle T}Si está vacío, el sucesor de menor tiempo se define mediante las siguientes restricciones:

  • las limitaciones deS{\displaystyle S}no usar los relojes deZ{\displaystyle Z},
  • la restricciónz=do+1{\displaystyle z=c+1}, para cada restriccióndo<z<do+1{\displaystyle c<z<c+1}enS{\displaystyle S}, conzZ{\displaystyle z\in Z}.

Propiedades

Hay como máximo|do|¡2|do|incógnitado(2doincógnita+2){\displaystyle |C|!2^{|C|}\prod _{x\in C}(2c_{x}+2)}regiones, donde|do|{\displaystyle |C|}es el número de relojes. [ 2 ] : 203

Autómata de región

Dado un autómata temporizadoA{\displaystyle {\mathcal {A}}}, su autómata de región es un autómata finito o un autómata de Büchi que acepta datos sin tiempo.L{\displaystyle L}Este autómata es similar aA{\displaystyle {\mathcal {A}}}donde los relojes son reemplazados por regiones. Intuitivamente, el autómata de región se construye como un producto deA{\displaystyle {\mathcal {A}}}y 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.α0{\displaystyle \alpha _{0}}, definido por el conjunto de restricciones{incógnita=0incógnitado}{\displaystyle \{x=0\mid x\in C\}},
  • el conjunto de aristas son(α,α[do0]){\displaystyle (\alpha ,\alpha '[C'\mapsto 0])}, paraα{\displaystyle \alpha '}un sucesor temporal deα{\displaystyle \alpha }.

Autómata de región

DejarA=Σ,L,L0,do,F,mi{\displaystyle {\mathcal {A}}=\langle \Sigma ,L,L_{0},C,F,E\rangle }un autómata temporizado . Para cada relojincógnitado{\displaystyle x\in C}, dejardoincógnita{\displaystyle c_{x}}el mayor númerodo{\displaystyle c}de tal manera que exista un guardia de la formaincógnitado{\displaystyle x\sim c}enA{\displaystyle {\mathcal {A}}}. El autómata de la región deA{\displaystyle {\mathcal {A}}}, denotado porR(A){\displaystyle R({\mathcal {A}})}es un autómata finito o de Büchi que es esencialmente un producto deA{\displaystyle {\mathcal {A}}}y 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 deA{\displaystyle {\mathcal {A}}}y 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Σ{\displaystyle \Sigma },
  • su conjunto de estados esL×R{\displaystyle L\times {\mathcal {R}}},
  • su conjunto de estados esL0×{α0}{\displaystyle L_{0}\times \{\alpha _{0}\}}conα0{\displaystyle \alpha _{0}}la región inicial,
  • su conjunto de estados aceptantes esF×R{\displaystyle F\times {\mathcal {R}}},
  • su relación de transiciónδ{\displaystyle \delta }contiene ((,α),a,(,α[do0])){\displaystyle ((\ell ,\alpha ),a,(\ell ',\alpha '[C'\mapsto 0]))}, para(,a,gramo,do,)mi{\displaystyle (\ell ,a,g,C',\ell ')\in E}, de tal manera queγα{\displaystyle \gamma \models \alpha '}yα{\displaystyle \alpha '}es un sucesor temporal deα{\displaystyle \alpha }.

Dado cualquier recorridor=(0,ν0)t1σ1(1,ν1){\displaystyle r=(\ell _{0},\nu _{0}){\xrightarrow[{t_{1}}]{\sigma _{1}}}(\ell _{1},\nu _{1})\dots }deA{\displaystyle {\mathcal {A}}}, la secuencia(0,[ν0])σ1(1,[ν1]){\displaystyle (\ell _{0},[\nu _{0}]){\xrightarrow {\sigma _{1}}}(\ell _{1},[\nu _{1}])\dots }se denota[r]{\displaystyle [r]}, es una carrera deR(A){\displaystyle R({\mathcal {A}})}y acepta si y solo sir{\displaystyle r}está aceptando [ 2 ] : 207 . De ello se deduce queL(R(A))=Intempestivo(L(A)){\displaystyle L(R({\mathcal {A}}))=\operatorname {Untime} (L({\mathcal {A}}))}. En particular,A{\displaystyle {\mathcal {A}}}acepta una palabra temporizada si y solo siR(A){\displaystyle R({\mathcal {A}})}acepta una palabra. Además, una secuencia de aceptación deA{\displaystyle {\mathcal {A}}}se puede calcular a partir de una ejecución de aceptación deR(A){\displaystyle R({\mathcal {A}})}.

Referencias

  1. 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.
  2. 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 .