Síntesis dirigida de controladores para sistemas de eventos discretos - Ciolek, Daniel Alfredo (2018)
El problema de construir automáticamente un componente de software que al ser ejecutado en un ambiente dado satisfaga un objetivo, es recurrente en la ingeniería del software y en particular en el campo de los sistemas de eventos discretos. El control supervisor, la síntesis de sistemas reactivos y la planificación automática son tres disciplinas que se alinean con esta visión. Proviniendo de distintas comunidades, consideran distintas perspectivas con respecto a aspectos de representación y cómputo. Resulta interesante que las tres disciplinas comparten la característica importante de que la semántica de sus problemas está basada en variantes de sistemas de transiciones, que frecuentemente resultan ser exponenciales con respecto al tama˜no de especificaciones compactas. En esta tesis estudiamos el problema de síntesis desde la perspectiva del control supervisor resaltando la relación entre las tres disciplinas. Comenzamos mostrando cómo la síntesis reactiva y la planificación automática pueden ser utilizadas efectivamente para resolver problemas de control supervisor de sistemas de eventos discretos determinísticos. Para lograrlo, proponemos traducciones eficientes del problema de control supervisor en el marco de la síntesis reactiva y la planificación automática. Notablemente, nuestras traducciones capturan la naturaleza composicional y reactiva de las especificaciones de control, evitando la explosión exponencial a la que están sujetos acercamientos similares. Reportamos los resultados de una evaluación experimental comparando la eficacia de distintas herramientas provenientes de las tres disciplinas. Los resultados muestran que nuestras traducciones permiten aplicar transparentemente técnicas de síntesis reactiva y planificación automática con una eficiencia competitiva con las herramientas nativas al control supervisor. Continuamos presentando una técnica de síntesis dirigida de controladores para sistemas de eventos discretos. Inspirado en la combinación de técnicas, este método explora el espacio de solución buscando supervisores guiado por una heurística independiente del dominio. La heurística es derivada de una abstracción basada en la forma componetizada en la que se describen ambientes complejos. La abstracción puede verse como una versión relajada del problema, cuya solución más simple puede proveer indicios sobre cómo resolver el problema original. Luego, construyendo la composición de los componentes “sobre la marcha” obtenemos una solución explorando sólo una porción reducida del espacio de estados. Presentamos una evaluación de la técnica comparándola con acercamientos establecidos de las tres disciplinas y mostramos que nuestro método se desempe˜na bien incluso a medida que el espacio de estados crece. Finalmente, discutimos una extensión a la síntesis dirigida de controladores que permite computar supervisores en ambientes parcialmente observables y nodeterminísticos, incurriendo en una complejidad adicional. Aprovechamos el vínculo entre observabilidad parcial y no-determinismo y mostramos que podemos reducir el primer problema en el segundo composicionalmente. Adicionalmente, hacemos notar que en este contexto la existencia de una solución puede depender del modelo de interacción entre el controlador a sintetizar y el ambiente, y mostramos cómo nuestra técnica se adapta a dos modelos de interacción relevantes.