¿Cuáles son las propiedades prácticamente computables de los sistemas de transición etiquetados?

13

Encontré que los sistemas de transición etiquetados son un buen modelo para mi aplicación, es decir, hay un documento sobre modelos de casos de uso con LTS. La pregunta es, ¿qué se puede probar fácilmente sobre los LTS? Me gustaría reutilizar las soluciones existentes para ver si son útiles para mi aplicación. Me gustaría saber qué propiedades de los LTS (y los casos de uso) se pueden probar fácilmente de forma automática, por lo que puedo decidir si existe una contraparte práctica del problema para los casos de uso.

Gabriel Ščerbák
fuente
1
Necesitas ser más preciso. Que quieres probar ¿Quieres una herramienta automática para probar las propiedades? ¿Cuál es tu aplicación?
Dave Clarke
@Dave Clarke editado
Gabriel Ščerbák
2
El segundo resultado en Google "Sistemas de transición etiquetados": doc.ic.ac.uk/ltsa
Kaveh
Muchas gracias a todos por su ayuda, no he esperado tanta ayuda. Ahora tengo mucho que leer y hasta que termine, no puedo aceptar ninguna respuesta, a menos que algunas se destaquen por los votos. Así que por favor sea paciente.
Gabriel Ščerbák

Respuestas:

11

Las fórmulas de la lógica de Hennessy-Milner son muy fáciles de probar sobre los sistemas de transición etiquetados. Sin embargo, esta lógica es lo suficientemente inexpresiva (no hay forma de establecer propiedades de caminos infinitos) que probablemente desee considerar alguna extensión, como la lógica temporal lineal. LTL tiene un problema decidible, pero completo para PSPACE.

El verificador de modelos SPIN es una herramienta ampliamente utilizada para verificar propiedades de LTL de modelos.

Neel Krishnaswami
fuente
11

Otras dos herramientas, para complementar la sugerida por Neel, son muCRL y mCRL2 . Ambos conjuntos de herramientas tienen una amplia gama de herramientas para definir LTS en varios niveles de abstracción. La visualización del espacio de estado y las herramientas de verificación de modelos también están disponibles. La lógica subyacente es el cálculo modal modal proposicional , que es mucho más expresivo que LTL, pero aún así decidible. Otras herramientas útiles le permiten realizar una bisimulación de módulo de reducción de espacio de estado para obtener la representación más pequeña de su sistema.

Dave Clarke
fuente
¡No sabía que el cálculo modal era decidible! Ahora me voy a ver la prueba en su enlace ...
Neel Krishnaswami
55
μμ
5

NPco-NPAG

Aubrey da Cunha
fuente
3
NPcoNPEXP
3

Las propiedades de CTL se pueden verificar en tiempo lineal (ver Clarke et al ).

Hace mucho tiempo, solía trabajar en una empresa donde muchos colegas usaban Rulebase para verificar diseños de circuitos integrados. El lenguaje de propiedad es PSL , está estandarizado por IEEE y es una especie de CTL con esteroides.

Radu GRIGore
fuente
Dudo que FRELIMO haya verificado el modelo con CTL; es posible que desee corregir ese enlace.
reinierpost
Fijo. ¿Quizás Google Scholar cambió sus ID? No recuerdo haber visto "FRELIMO" nunca antes.
Radu GRIGore
2

En un curso conocí a Isabelle , una "asistente de pruebas genéricas". Admite programación funcional (total) (cercana a ML) y lógica de orden superior. Puede definirse (o buscar) lenguajes para LTS y LTL y probar teoremas sobre ellos. No sé si esto califica como fácil, pero ciertamente funciona.

Rafael
fuente
1
Leí (una parte de) la pregunta como "¿Cuáles son las herramientas que me ayudan a probar las propiedades de LTS?", Y comprobé que los asistentes vinieron a mi mente. Ciertamente tienes razón, otros también pueden hacer el trabajo, pero no puedo afirmar que lo hagan si no lo sé con seguridad, ¿verdad?
Raphael
1
Radu, interpolé. Tenga en cuenta que herramientas como Isabelle tienen la capacidad de automatizar pruebas, aunque pueden ser más débiles en una aplicación específica (ya que son herramientas generales). Podrían ser más útiles que las herramientas especializadas si desea probar propiedades que esas herramientas no pueden probar automáticamente.
Raphael
Es interesante ver cómo el término "asistente de prueba genérico" que L. Paulson introdujo en 1989 puede interpretarse en estos días. Esto está perfectamente bien. Originalmente, la idea era tener un marco lógico genérico para fumular la teoría de tipo Martin-Löf de la semana (que estaba cambiando mucho en ese momento). Más tarde, el marco se reutilizó para Isabelle / ZF, nuevamente más tarde para Isabelle / HOL, que ahora es la aplicación principal.
Makarius
2

Si su fondo es CTL interpretado sobre estructuras de Kripke y busca algo similar interpretado sobre LTS, entonces ACTL (CTL basado en acciones) podría ser interesante.

En 1990, R. De Nicola y F. Vaandrager introdujeron ACTL como un CTL basado en acción (Lógicas basadas en acción versus estado para sistemas de transición , Semántica de sistemas de procesos concurrentes (1990), págs. 407-419). Se ha estudiado más en 1993 (R. De Nicola, A. Fantechi, S. Gnesi, G. Ristori: un marco basado en la acción para verificar las propiedades lógicas y de comportamiento de los sistemas concurrentes , redes de computadoras y sistemas ISDN, Vol. 25, No. 7., pp. 761-778.) Y más recientemente en 2008 (R. Meolic, T. Kapus, Z. Brezočnik: ACTLW - Una lógica de árbol de cómputo basada en la acción con un operador a menos , Information Sciences, 178 (6) , pp. 1542-1557.)

La idea principal de ACTL (que no debe confundirse con un subconjunto de CTL con el mismo acrónimo) es tener operadores similares y algoritmos similares para la verificación de modelos como los de CTL. Además, los operadores se definen mediante expresiones de punto fijo análogas a las utilizadas para CTL. La complejidad (no estoy seguro acerca de la expresividad) de ACTL está en algún lugar entre HML y el cálculo modal μ proposicional.

meolic
fuente