[en] LUATS A REACTIVE EVENT-ORIENTED TUPLE SPACE
[pt] LUATS UM ESPAÇO DE TUPLAS REATIVO ORIENTADO A EVENTOS
Description
[pt] Com a evolução da Internet e o crescente sucesso de ambientes Web como plataformas genéricas de aplicação, expandiram-se as necessidades de integração e coordenação de componentes de software heterogêneos e autônomos. Os requisitos específicos deste contexto impulsionaram uma nova leva de trabalhos sobre mecanismos de coordenação, dentre os quais o espaço de tuplas reativo. Neste trabalho apresentamos LuaTS, um espaço de tuplas reativo com uma dinâmica de execução orientada a eventos e com suporte apenas a chamadas assíncronas. Desenvolvido em Lua, o sistema incorpora funcionalidades diferenciadas que permitem ao programador expandir a sua semântica básica e flexibilizam o processo de busca e recuperação de tuplas. Descrevemos a implementação de LuaTS e exploramos suas particularidades através de alguns exemplos, incluindo problemas clássicos de programação concorrente e distribuída. Conforme ilustramos, os benefícios do desacoplamento proporcionado pelo modelo de espaço de tuplas, aliados à dinâmica de programação orientada a eventos, simplificam a sincronização inter-processos e geram um fluxo de execução mais claro, reduzindo em muitos casos o esforço associado ao desenvolvimento de aplicações distribuídas.[en] The widespread use of the Internet along with the rapid growth and acceptance of the Web as a general application platform impose new requirements associated with the integration and coordination of autonomous and heterogeneous software components. The specific needs of this context led to the development of new coordination mechanisms, among which the reactive tuple space. In this work we present LuaTS, a reactive, event oriented tuple space that supports only asynchronous calls. The system, developed in Lua, provides functionalities that allow programmers to extend its basic semantics and also support a more flexible tuple search and retrieval process. We describe the implementation of LuaTS and explore its features through different examples that include classic concurrent and distributed programming problems. We show that the uncoupling provided by the tuple space model, together with an event oriented programming dynamics,simplify inter- process synchronization and yield a clear execution stream, improving, in many cases, the development process of distributed applications.