Autómatas para la vinculación parcial de servicios - Davidovich Caballero, Ezequiel (2020)
Los sistemas distribuidos resultantes de paradigmas emergentes como service-oriented computing(SOC) y Cloud/Fog computing están transformando al mundo del software, impulsando lo que se denomina economía de API. La idea subyacente de economía de API es la posibilidad de construir software componiendo servicios externos y registrados previamente en repositorios. Aplicaciones que corren sobre recursos disponibles a nivel global con una infraestructura de comunicación que se reconfiguran en forma dinámica y transparente, a través de un middleware dedicado capaz de descubrir y conectarlas a servicios que puedan cumplir determinados requisitos. En general los aspectos principales del comportamiento de una API son documentados informalmente limitando la posibilidad de lograr la utopía de SOC: la negociación de servicios en forma automática. Un elemento clave para esto es la existencia de lenguajes formales, junto con técnicas asociadas de análisis, capaces de expresar por completo el contrato de comportamiento de una API. Estos formalismos usualmente están definidos de forma que la correctitud se reduce a la ausencia de ciertas configuraciones consideradas erróneas (i.e., deadlock, receptor no especificado, y mensajes huérfanos), que sólo puede sercomprobada con la presencia de todos los participantes involucrados a través de propiedades como Generalized Multiparty Compatibility (GMC). En este trabajo nos abocaremos al estudio de: 1) una nueva clase de Communicating Finite State Machines (CFSMs), llamada Multichannel Communicating Finite State Machines (mCFSMs), que cuenta con una definición explícita de canales de comunicación que permiten, para un participante, la posibilidad de tener más de un canal de comunicación con los otros participantes, 2) una definición de la propiedad de GMC para sistemas de mCFSMs, 3) una clase de Autómatas Finitos de Comunicación Asincrónica (AFCAs) con la capacidad de internalizar la comunicación entre participantes como operaciones de lectura/escritura en buffers internos, permitiendo la composición parcial de AFCAs, y 4) una forma de relacionar un AFCA con su correspondiente mCFSM, facilitando un mecanismo para comprobar la propiedad de GMC para la clase de AFCAs.