[en] A GALS APPROACH FOR POGRAMMING DISTRIBUTED INTERACTIVE MULTIMEDIA APPLICATIONS - RODRIGO COSTA MESQUITA SANTOS (2019)
[pt] Neste trabalho, investigamos como garantir duas propriedades no desenvolvimento de aplicações multimídia distribuídas interativas: determinismo e consistência. Determinismo é uma propriedade individual dos nós em uma aplicação distribuída e refere-se à característica de um programa sempre produzir a mesma saída a partir de uma mesma entrada. Consistência é uma propriedade de todo o sistema e está relacionada a todos os nós terem sempre a mesma visão da ordem dos eventos. Avaliamos o uso da linguagem síncrona Céu no contexto de programação multimídia para garantir o determinismo. Em relação à consistência, avaliamos se a arquitetura GALS (Globally Asynchronous Local Synchronous) é capaz de prover consistência. Tradicionalmente, aplicações multimídia são desenvolvidas usando linguagens de domínio específico ou linguagens de propósito geral utilizando frameworks especializados. Nenhuma dessas duas abordagens promove o desenvolvimento de aplicações multimídia distribuídas interativas determinísticas e consistentes. Nossa investigação sobre o uso de linguagens síncronas no campo de multimídia levou ao desenvolvimento de Céu-Media, uma biblioteca multimídia determinística para a linguagem síncrona Céu, e Mars, um middleware GALS para aplicações multimídia distribuídas interativas. Os resultados desta tese indicam que, usando as garantias da linguagem síncrona Céu, é possível desenvolver aplicações multimídia determinísticas usando Céu-Media. Além disso, eles também indicam que o modelo de consistência implementado pelo middleware GALS Mars garante que todos os nós sempre concordem com a ordem dos eventos em uma apresentação distribuída. Nós validamos nossa proposta discutindo o desenvolvimento de aplicações multimídia distribuídas propostas pela comunidade de pesquisa usando Céu-Media e Mars, destacando as principais vantagens e também as desvantagens em usar nossa abordagem.