1 |
[pt] ORFEO: PROGRAMAÇÃO DISTRIBUÍDA ORIENTADA A EVENTOS COM FUNÇÕES E CONTINUAÇÕES COMO VALORES DE PRIMEIRA CLASSEMARIA JULIA DIAS DE LIMA 14 August 2002 (has links)
[pt] Neste trabalho defenderemos a tese de que funções e continuações como valores de primeira classe constituem uma boa base para construção de abstrações que se beneficiem do comportamento assíncrono da programação distribuída orientada a eventos.Propomos e desenvolvemos o sistema
ORFEO, baseado na linguagem LUA 34, que atribui às funções remotas o mesmo status de primeira classe de funções locais.O sistema também possui a propriedade de tratar continuações como valores de primeira classe, permitindo capturar o que resta a ser executado do processamento de um evento.A aplicação dessas duas propriedades, funções remotas e continuações como valores de primeira classe,
em um contexto de comunicação por eventos permite que um desenvolvedor possa construir abstrações de objetos distribuídos e de sincronização sem precisar de primitivas especiais no sistema.O resultado une a expressividade de uma linguagem procedural de técnicas funcionais e mecanismos de extensão presentes na linguagem LUA.
|
2 |
[en] CONCURRENCY AND COORDINATION MODELS FOR EVENT-DRIVEN IN LUA / [pt] MODELOS DE CONCORRÊNCIA E COORDENAÇÃO PARA O DESENVOLVIMENTO DE APLICAÇÕES ORIENTADAS A EVENTOS EM LUABRUNO OLIVEIRA SILVESTRE 08 February 2010 (has links)
[pt] O uso de multithreading tem se popularizado como forma de separar a execução
de tarefas concorrentes e de alcançar maior desempenho aproveitando melhor o
tempo das CPUs. No entanto, a programação com threads não é uma tarefa fácil.
O uso dos recursos compartilhados deve ser coordenado, pois o acesso concorrente
aos mesmos, na maioria dos casos, gera inconsistência na aplicação. O
modelo de desenvolvimento orientado a eventos foi apontado por alguns como
uma boa alternativa na criação de aplicações. Nesse modelo, a tarefa é realizada
por um ou mais eventos, e um loop principal fica responsável por receber
e despachar esses eventos. Investigamos, neste trabalho, um modelo em Lua que
combina orientação a eventos com preempção sem trazer de volta os problemas
de programação concorrente. Investigamos também como características da linguagem
podem ser utilizadas para prover mecanismos de coordenação flexíveis.
Essas características podem ajudar, por exemplo, a compor novos mecanismos a
partir de existentes. / [en] Multithreading has become popular as a way to organize concurrent tasks and
achieve better performance from CPUs. However, programming with threads is
not an easy task. Usage of shared resources needs to be coordinated because
concurrent access to them, in most cases, may create inconsistency in the
application. The event-driven model has been pointed as a good alternative
to multithreaded programming. In this model, a task is performed by one or
more events, where a main loop is responsible for receiving and dispatching
these events. In this work, we investigate a model to combine event-driven
and preemption in Lua without bringing back all the concurrent programming
problems. We also investigate how the language’s characteristics can be used
to provide flexible coordination mechanisms. These characteristics can aid, for
example, to create new mechanisms based on the ones already existent.
|
3 |
[en] LUATS A REACTIVE EVENT-ORIENTED TUPLE SPACE / [pt] LUATS: UM ESPAÇO DE TUPLAS REATIVO ORIENTADO A EVENTOSMARCUS AMORIM LEAL 11 June 2003 (has links)
[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.
|
Page generated in 0.0398 seconds