Articulo de referencia

Autómata temporizado

Un autómata temporizado es un modelo matemático en la teoría de autómatas que extiende los autómatas finitos con un conjunto finito de relojes de valor real. Este formalismo , i...

Un autómata temporizado es un modelo matemático en la teoría de autómatas que extiende los autómatas finitos con un conjunto finito de relojes de valor real. Este formalismo , introducido por Rajeev Alur y David Dill en 1994, [ 1 ] permite modelar sistemas donde las restricciones de temporización son cruciales.

En un autómata temporizado, todos los valores del reloj aumentan uniformemente con el paso del tiempo. Las transiciones entre estados pueden estar restringidas por condiciones de guarda (que comparan los valores del reloj con números enteros), lo que permite o deshabilita las transiciones según las condiciones de temporización. Los relojes también pueden reiniciarse durante las transiciones. Los autómatas temporizados son una subclase decidible de los autómatas híbridos , lo que los hace teóricamente manejables a la vez que conservan una gran capacidad de modelado.

Los autómatas temporizados se han convertido en herramientas fundamentales para el análisis de sistemas dependientes del tiempo, incluidos los sistemas en tiempo real, los protocolos de comunicación y los sistemas embebidos. En las últimas tres décadas, los investigadores han desarrollado métodos para verificar tanto las propiedades de seguridad (garantizando que nunca se alcancen estados adversos) como las propiedades de vivacidad (garantizando que finalmente se alcancen estados favorables).

La demostración de que el problema de alcanzabilidad de estados para autómatas temporizados es decidible [ 2 ] fue un resultado revolucionario que impulsó una extensa investigación en diversas extensiones, incluyendo cronómetros , tareas en tiempo real, funciones de costo y juegos temporizados. Se han desarrollado varias herramientas de software para especificar y analizar autómatas temporizados, entre las que destacan UPPAAL , Kronos y el analizador de planificabilidad TIMES. Si bien estas herramientas continúan desarrollándose, siguen siendo principalmente instrumentos de investigación académica.

Ejemplo

Antes de definir formalmente qué es un autómata temporizado, se ofrecen algunos ejemplos.

Consideremos el lenguajeL{\displaystyle {\mathcal {L}}}de palabras cronometradasw{\displaystyle w}sobre el alfabeto unario{a}{\displaystyle \{a\}}de tal manera que haya unaa{\displaystyle a}durante la primera unidad de tiempo, y hay menos de una unidad de tiempo entre dos unidades sucesivasa{\displaystyle a}Un autómata temporizado que reconoce este lenguaje, que se muestra en la imagen cercana, utiliza un solo reloj .incógnita{\displaystyle x}, que nunca debería ser igual a uno. Este reloj cuenta el tiempo desde el inicio de la carrera si noa{\displaystyle a}fueron emitidos, o desde el últimoa{\displaystyle a}emitido de otra manera. Esto significa que cada vez que una{\displaystyle a}Cuando se emite, este reloj se reinicia a cero.

Autómata temporizado que acepta el lenguaje a* de tal manera que se emite una letra en cada intervalo abierto de longitud uno.

Consideremos el lenguajeL{\displaystyle {\mathcal {L}}}de palabras cronometradasw{\displaystyle w}sobre el alfabeto binario{a,b}{\displaystyle \{a,b\}}de tal manera que cadaa{\displaystyle a}es seguido por unb{\displaystyle b}en la siguiente unidad de tiempo. El autómata temporizado que reconoce este lenguaje, que se muestra cerca, recuerda si hubo o no unaa{\displaystyle a}que aún no fue seguido por unb{\displaystyle b}. Si no es el caso, acepta la ejecución, de lo contrario la rechaza. Además, cuando existe tala{\displaystyle a}Tiene un relojincógnita{\displaystyle x}que registra el tiempo transcurrido desde el primero de estosa{\displaystyle a}fue emitido. En este caso, unb{\displaystyle b}No se puede emitir si el reloj es al menos igual a uno, y por lo tanto la ejecución falla.

Un autómata temporizado que acepta palabras temporizadas durante{a,b}{\displaystyle \{a,b\}}donde cada ocurrencia dea{\displaystyle a}es seguido menos de una unidad de tiempo después por una ocurrencia deb{\displaystyle b}.

Definición formal

Autómata temporizado

Formalmente, un autómata temporizado es una tupla.A=Σ,L,L0,do,F,mi{\displaystyle {\mathcal {A}}=\langle \Sigma ,L,L_{0},C,F,E\rangle }que consta de los siguientes componentes:

  • Σ{\displaystyle \Sigma }es un conjunto finito llamado alfabeto o acciones deA{\displaystyle {\mathcal {A}}}.
  • L{\displaystyle L}es un conjunto finito . Los elementos deL{\displaystyle L}se denominan ubicaciones o estados deA{\displaystyle {\mathcal {A}}}.
  • L0L{\displaystyle L_{0}\subseteteq L} es el conjunto de ubicaciones de inicio.
  • do{\displaystyle C}es un conjunto finito llamado los relojes deA{\displaystyle {\mathcal {A}}}.
  • FL{\displaystyle F\subseteq L}es el conjunto de ubicaciones de aceptación.
  • miL×Σ×B(do)×PAG(do)×L{\displaystyle E\subseteq L\times \Sigma \times {\mathcal {B}}(C)\times {\mathcal {P}}(C)\times L}es un conjunto de aristas, llamadas transiciones deA{\displaystyle {\mathcal {A}}}, dónde
    • B(do){\displaystyle {\mathcal {B}}(C)}es el conjunto de restricciones de reloj que involucran relojes dedo{\displaystyle C}, y
    • PAG(do){\displaystyle {\mathcal {P}}(C)}es el conjunto potencia dedo{\displaystyle C}.

Una ventaja(,σ,gramo,r,){\displaystyle (\ell ,\sigma ,g,r,\ell ')}demi{\displaystyle E}es una transición desde ubicaciones{\displaystyle \ell }a{\displaystyle \ell '}con acciónσ{\displaystyle \sigma }, guardiagramo{\displaystyle g}y reinicios del relojr{\displaystyle r}.

estado extendido

Un par con una ubicación{\displaystyle \ell }y una valoración del relojν{\displaystyle \nu }se denomina estado extendido o estado .

Nótese que la palabra estado es, por lo tanto, ambigua, ya que, dependiendo del autor, puede significar tanto un par como un elemento deL{\displaystyle L}. Para mayor claridad, este artículo utilizará el término ubicación para referirse al elemento deL{\displaystyle L}y el término ubicación extendida para pares.

Aquí radica una de las mayores diferencias entre los autómatas temporizados y los autómatas finitos . En un autómata finito, en algún punto de la ejecución, el estado se describe completamente por el número de letras leídas y por un número finito de valores posibles, que en realidad se denominan "estados". Esto significa que, dado un estado y el sufijo de la palabra a leer, el resto de la ejecución está totalmente determinado. De ahí el término "finito" en "autómata finito". Sin embargo, como se explica en la sección "ejecución" más adelante, se utilizan relojes para determinar qué transiciones se pueden realizar. Por lo tanto, para conocer el estado del autómata, es necesario conocer tanto la ubicación como la valoración del reloj.

Correr

Dada una palabra cronometradaw=(σ1,t1),(σ2,t2),,{\displaystyle w=(\sigma _{1},t_{1}),(\sigma _{2},t_{2}),\dots ,}conσiΣ{\displaystyle \sigma _{i}\in \Sigma },(ti)i{\displaystyle (t_{i})_{i}}una secuencia creciente de números no negativos y un autómata temporizadoA{\displaystyle {\mathcal {A}}}como se indicó anteriormente, una carrera es una secuencia de la forma(0,ν0)t1σ1(1,ν1){\displaystyle (\ell _{0},\nu _{0}){\xrightarrow[{t_{1}}]{\sigma _{1}}}(\ell _{1},\nu _{1})\dots }que satisface la siguiente restricción:

  • (inicialización)0L0{\displaystyle \ell _{0}\in L_{0}}
  • (procedimiento), para todosi1{\displaystyle i\geq 1}, existe una arista enmi{\displaystyle E}de la formai1,σi,gramoi,ri,i{\displaystyle \langle \ell _{i-1},\sigma _{i},g_{i},r_{i},\ell _{i}\rangle }de tal manera que:
    • asumimos quetiti1{\displaystyle t_{i}-t_{i-1}}Transcurrieron unidades de tiempo y, en este momento, el guardia está satisfecho. Es decir,νi1+titi1{\displaystyle \nu _{i-1}+t_{i}-t_{i-1}}Satisfacegramoi{\displaystyle g_{i}},
    • la nueva valoración del relojνi{\displaystyle \nu _{i}}corresponde aνi1{\displaystyle \nu _{i-1}}, en el cualtiti1{\displaystyle t_{i}-t_{i-1}}unidades de tiempo transcurridas y en las que los relojes deri{\displaystyle r_{i}}donde se reinicia. Formalmente,νi=(νi1+titi1)[ri0]{\displaystyle \nu _{i}=(\nu _{i-1}+t_{i}-t_{i-1})[r_{i}\rightarrow 0]}.

La noción de aceptar la ejecución se define como en los autómatas finitos para palabras finitas y como en los autómatas de Büchi para palabras infinitas. Es decir, siw{\displaystyle w}es de longitud finitanorte{\displaystyle n}, entonces la ejecución es aceptable sinorteF{\displaystyle \ell _{n}\in F}. Si la palabra es infinita, entonces la secuencia es aceptable si y solo si existe un número infinito de posiciones.i{\displaystyle i}de tal manera queiF{\displaystyle \ell _{i}\in F}.

Autómata temporizado determinista

Al igual que en el caso de los autómatas finitos y de Büchi, un autómata temporizado puede ser determinista o no determinista. Intuitivamente, ser determinista tiene el mismo significado en ambos casos. Significa que el conjunto de ubicaciones iniciales es un conjunto único y que, dado un estados{\displaystyle s}y una cartaa{\displaystyle a}, solo hay un estado posible al que se puede llegar desdes{\displaystyle s}leyendoa{\displaystyle a}Sin embargo, en el caso de un autómata temporizado, la definición formal es un poco más compleja. Formalmente, un autómata temporizado es determinista si:

  • L0{\displaystyle L_{0}}es un singleton
  • para cada par de transiciones(,σ,gramo,r,){\displaystyle (\ell ,\sigma ,g,r,\ell ')}y(,σ,gramo,r,){\displaystyle (\ell ,\sigma ,g',r',\ell '')}, el conjunto de valoraciones de relojes que satisfacengramo{\displaystyle g}es disjunto del conjunto de valoraciones de relojes que satisfacengramo{\displaystyle g'}.

Propiedad de cierre

La clase de lenguajes reconocidos por autómatas temporizados no deterministas es:

  • cerrado bajo unión, de hecho, la unión disjunta de dos autómatas temporizados reconoce la unión del lenguaje reconocido por esos autómatas.
  • cerrado bajo la intersección. [ 3 ]
  • no cerrado bajo complemento. [ 4 ]

Los problemas y su complejidad

A continuación se presenta la complejidad computacional de algunos problemas relacionados con autómatas temporizados.

El problema de la vacuidad para autómatas temporizados se puede resolver construyendo un autómata de región y comprobando si acepta el lenguaje vacío. Este problema es PSPACE-completo . [ 2 ] : 207

El problema de universalidad de un autómata temporizado no determinista es indecidible, y más precisamente Π 1 1 . Sin embargo, cuando el autómata contiene un solo reloj, la propiedad es decidible; sin embargo, no es recursiva primitiva . [ 4 ] Este problema consiste en decidir si cada palabra es aceptada por un autómata temporizado.

Véase también

Notas

  1. Ingólfsdóttir, Anna; Srba, Jiri; Larsen, Kim Guldstrand; Aceto, Luca, eds. (2007), "Autómatas temporizados" , Sistemas reactivos: modelado, especificación y verificación , Cambridge: Cambridge University Press, pp. 175–192 , ISBN  978-0-521-87546-2, consultado el 10 de mayo de 2025
  2. 1 2 Rajeev Alur, David L. Dill. 1994 Una teoría de autómatas temporizados . En Theoretical Computer Science , vol. 126, 183–235, pp. 194–1955
  3. Aplicaciones modernas de los autómatas, página 118
  4. 1 2 Lasota, SƗawomir; Walukiewicz, Igor (2008). "Autómatas temporizados alternados". ACM Transactions on Computational Logic . 9 (2): 1– 26. arXiv : cs/0512031 . doi : 10.1145/1342991.1342994 . S2CID 12319 .