Definición
Una lógica temporal interpretada sobre estructuras de tiempo lineales donde las fórmulas se evalúan sobre secuencias infinitas únicas (líneas temporales); operadores comunes son X (siguiente), F (eventualmente), G (siempre) y U (hasta).
Principio
Principio
Interpretar modalidades temporales sobre trazas de ejecución individuales de modo que una fórmula sea verdadera o falsa respecto de una única línea temporal; falta la cuantificación sobre futuros alternativos, y el foco está en propiedades de secuencias más que en árboles de posibilidad.
Demostración
Demostración
En verificación de hardware, la propiedad LTL G(reset -> X ready) afirma que en toda traza sincronizada tras un reset el siguiente estado es ready; los model checkers exploran trazas o traducen LTL a autómatas para verificar esta propiedad contra una implementación.
Aplicación incorrecta
Aplicación incorrecta
Usar LTL para especificar requisitos ramificados como 'existe un futuro donde φ siempre se cumple' cuando en realidad se necesita cuantificación sobre caminos; esos requisitos suelen requerir lógicas ramificadas como CTL o CTL*.
Consecuencia
Consecuencia
La aplicación correcta de LTL produce especificaciones basadas en trazas para propiedades de seguridad (invariantes) y vivacidad (eventualidades) y permite reducciones a autómatas para la verificación algorítmica de comportamientos secuenciales.
Inversión
Inversión
El reverso es la lógica temporal ramificada, en la que las fórmulas cuantifican sobre múltiples futuros posibles desde un estado; las propiedades que requieren cuantificadores de camino explícitos no pueden capturarse con LTL pura.
Límite
Límite
LTL presupone tiempo lineal (a menudo infinito) discreto y no incluye cuantificadores de camino ni restricciones de tiempo real sin extensiones; no es el formalismo adecuado cuando las propiedades cuantifican intrínsecamente sobre distintos futuros posibles desde un mismo estado.
Tensión semántica
Tensión semántica
Hay tensión entre LTL y las lógicas ramificadas (CTL, CTL*): algunas propiedades son expresables fácilmente en una y no en otra, y la elección afecta a los algoritmos de model checking y a las construcciones de autómatas apropiadas.
Síntesis
Síntesis
LTL es el fragmento del razonamiento temporal dedicado a especificaciones por traza: al interpretar operadores temporales a lo largo de líneas temporales lineales, ofrece un lenguaje compacto y compatible con autómatas para expresar y verificar propiedades temporales secuenciales de sistemas.