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 lenguajede palabras cronometradassobre el alfabeto unariode tal manera que haya unadurante la primera unidad de tiempo, y hay menos de una unidad de tiempo entre dos unidades sucesivasUn autómata temporizado que reconoce este lenguaje, que se muestra en la imagen cercana, utiliza un solo reloj ., que nunca debería ser igual a uno. Este reloj cuenta el tiempo desde el inicio de la carrera si nofueron emitidos, o desde el últimoemitido de otra manera. Esto significa que cada vez que unCuando se emite, este reloj se reinicia a cero.

Consideremos el lenguajede palabras cronometradassobre el alfabeto binariode tal manera que cadaes seguido por unen la siguiente unidad de tiempo. El autómata temporizado que reconoce este lenguaje, que se muestra cerca, recuerda si hubo o no unaque aún no fue seguido por un. Si no es el caso, acepta la ejecución, de lo contrario la rechaza. Además, cuando existe talTiene un relojque registra el tiempo transcurrido desde el primero de estosfue emitido. En este caso, unNo se puede emitir si el reloj es al menos igual a uno, y por lo tanto la ejecución falla.

Definición formal
Autómata temporizado
Formalmente, un autómata temporizado es una tupla.que consta de los siguientes componentes:
- es un conjunto finito llamado alfabeto o acciones de.
- es un conjunto finito . Los elementos dese denominan ubicaciones o estados de.
- es el conjunto de ubicaciones de inicio.
- es un conjunto finito llamado los relojes de.
- es el conjunto de ubicaciones de aceptación.
- es un conjunto de aristas, llamadas transiciones de, dónde
- es el conjunto de restricciones de reloj que involucran relojes de, y
- es el conjunto potencia de.
Una ventajadees una transición desde ubicacionesacon acción, guardiay reinicios del reloj.
estado extendido
Un par con una ubicacióny una valoración del relojse 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 de. Para mayor claridad, este artículo utilizará el término ubicación para referirse al elemento dey 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 cronometradacon,una secuencia creciente de números no negativos y un autómata temporizadocomo se indicó anteriormente, una carrera es una secuencia de la formaque satisface la siguiente restricción:
- (inicialización)
- (procedimiento), para todos, existe una arista ende la formade tal manera que:
- asumimos queTranscurrieron unidades de tiempo y, en este momento, el guardia está satisfecho. Es decir,Satisface,
- la nueva valoración del relojcorresponde a, en el cualunidades de tiempo transcurridas y en las que los relojes dedonde se reinicia. Formalmente,.
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, sies de longitud finita, entonces la ejecución es aceptable si. Si la palabra es infinita, entonces la secuencia es aceptable si y solo si existe un número infinito de posiciones.de tal manera que.
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 estadoy una carta, solo hay un estado posible al que se puede llegar desdeleyendoSin 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:
- es un singleton
- para cada par de transicionesy, el conjunto de valoraciones de relojes que satisfacenes disjunto del conjunto de valoraciones de relojes que satisfacen.
Propiedad de cierre
La clase de lenguajes reconocidos por autómatas temporizados no deterministas es:
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
- Autómata temporizado alternante : una extensión del autómata temporizado con transiciones universales.
- Autómata de señales
Notas
- ↑ 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
- 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
- ↑ Aplicaciones modernas de los autómatas, página 118
- 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 .
- Autómatas (computación)