Actualización dinámica de controladores de eventos discretos - Nahabedian, Leandro Ezequiel (2020)
Los sistemas de eventos discretos están en el corazón de muchos sistemas de software que requieren operación continua como los sistemas reactivos. Cambiar estos controladores en tiempo de ejecución, para dar soporte a cambios del ambiente o cambios en los requerimientos, es una problema desafiante y no resuelto hasta ahora. En esta tesis, se plantea formalmente el problema de actualizar dinámicamente sistemas de eventos discretos que controlan sistemas reactivos. Presento aquí un enfoque general para especificar criterios de correctitud para actualizaciones dinámicas y una técnica que computa automáticamente un controlador que maneja la transición desde la vieja especificación hasta la nueva especificación, garantizando que el sistema alcance un estado en el cual esa transición pueda ocurrir correctamente y en la cual la arquitectura del sistema subyacente pueda reconfigurarse. La solución usa síntesis de controladores de eventos discretos para construir automáticamente un controlador que garantiza ambas: progreso sobre la actualización y actualizaciones seguras. La técnica desarrollada fue aplicada a distintos dominios como sistemas reactivos o sistemas robóticos. Cada uno de ellos comprende distintos desafíos entre los cuales se destaca la urgencia por adaptarse a los nuevos requerimientos y las variedades de estrategias que se pueden computar para lograr la actualización. Otro dominio de aplicación de la técnica fue la reconfiguración de procesos de negocio. Como es esperado, las organizaciones requieren que sus procesos de negocios evolucionen manteniendo el cumplimiento de nuevas políticas, estrategias y regulaciones. La reconfiguración de un proceso de negocio es un problema desafiante ya que no solo se debe idear un nuevo workflow, sino que también, requiere de entender de cómo debe ser la transición entre el viejo workflow y el nuevo. Si bien los procesos de negocio suelen ser más lentos que los sistemas reactivos o los sistemas robóticos, este problema solo fue levemente estudiado, sin poder garantizar un proceso automático que lo resuelva. En esta tesis producimos procesos de reconfiguración que garantiza la evolución de un antiguo workflow a uno nuevo, satisfaciendo los requerimientos de transición definidos por el usuario.