1 |
A coordination-based framework for reconfigurable mobile applicationsFjellheim, Tore January 2006 (has links)
Mobile applications are deployed in highly dynamic environments. Devices have limited resources available and the user context changes frequently. This introduces new requirements for applications, and requires that applications are able to adapt during runtime. In addition, developers must be able to incrementally add new behaviour to applications as required by unanticipated situations. Current approaches to mobile application development and architectures do not properly address these requirements of mobile applications. This work proposes a framework, based on coordination principles, which is able to facilitate the required methods of adaptation. The framework incorporates a methodology and an architecture. The architecture provides significant advantages over previous work in terms of adaptation support. The methodology provides developers with a development process and guidelines whereby adaptive applications may be specified. As new requirements of existing applications emerge, developers can build and deploy additions to applications during runtime. The research has been evaluated through the design of application prototypes. These were built through the use of an implemented toolkit for application development, which is based on the specified methodology. The architecture, methodology and toolkit provide a unifying framework for mobile applications. The work presented in this thesis closes a gap in existing knowledge in the design and execution of distributed mobile applications.
|
2 |
[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.
|
3 |
[en] A REFLECTIVE TUPLESPACE-BASED ARCHITECTURE FOR THE DEVELOPMENT OF MULTI-AGENT SYSTEMS / [pt] UMA ARQUITETURA PARA SISTEMAS MULTI-AGENTES BASEADA EM ESPAÇOS DE TUPLAS REFLEXIVOSOTAVIO REZENDE DA SILVA 01 September 2003 (has links)
[pt] A tecnologia de software está passando por uma transição de
arquiteturas monolíticas e coesas para arquiteturas
compostas por agentes e sistemas multiagentes
semi-autônomos e heterogêneos. Estas arquiteturas são
marcadas pela existência de propriedades adicionais no
nível do sistema, como comunicação, coordenação,
mobilidade, adaptabilidade e persistência. No entanto, o
gerenciamento e controle destas propriedades e dos
diferentes agentes de software não é uma tarefa simples e
exige uma abordagem mais sofisticada desde a fase
arquitetural deste tipo de sistema. Neste contexto, neste
trabalho, propomos a definição de um padrão arquitetural,
denominado Reflective Blackboard. Este padrão é o
resultado da composição de dois outros padrões
arquiteturais bem conhecidos: o padrão Blackboard e o
padrão Reflection. Através da utilização do padrão, uma
melhor separação de responsabilidades é atingida pelo
tratamento separado, por meio de técnicas de reflexão
computacional, das diferentes estratégias de controle
incorporadas no sistema. De forma complementar à definição
do padrão foi desenvolvida uma infra-estrutura para o
desenvolvimento de sistemas multi-agentes que utilizam a
arquitetura proposta pelo padrão apresentado. Esta infra-
estrutura, além de funcionar como uma implementação do
padrão Reflective Blackboard, provê suporte a diferentes
propriedades do nível do sistema como mobilidade,
comunicação, coordenação e persistência. A utilização do
padrão e da infraestrutura desenvolvida foi aplicada em uma
aplicação de Marketplace com o objetivo de validar os
conceitos propostos. / [en] Software technology is undergoing a transition from
monolithic architectures, constructed according to a single
overall design, into open architectures composed of
conglomerates of collaborative, heterogeneous, and
independently designed agents and multi-agent systems
(MAS). These architectures are driven by additional system-
wide properties, such as communication, coordination,
adaptability, mobility and persistence. However,
controlling these properties and managing different
application agents is not an easy task, requiring a more
sophisticated software architectural approach. In this
context, we propose the Reflective Blackboard architectural
pattern, which is the result of the composition of tho
other well-known architectural patterns: the Blackboard
pattern and the Reflection pattern. The pattern allows a
better separation of concerns, supporting the separate
handling of control strategies, by means of the
computational reflection technique. An infrastructure,
which implements the proposed pattern and provides support
to multiple system-level properties, such as mobility,
communication, coordination and persistence, was also
developed. The Reflective Blackboard pattern was applied
together with this infrastructure to the development of a
Marketplace application in order to validate de concepts
proposed in this work.
|
4 |
AspectKE*: Security aspects with program analysis for distributed systemsFan, Yang, Masuhara, Hidehiko, Aotani, Tomoyuki, Nielson, Flemming, Nielson, Hanne Riis January 2010 (has links)
Enforcing security policies to distributed systems is difficult, in particular, when a system contains untrusted components. We designed AspectKE*, a distributed AOP language based on a tuple space, to tackle this issue. In AspectKE*, aspects can enforce access control policies that depend on future behavior of running processes. One of the key language features is the predicates and functions that extract results of static program analysis, which are useful for defining security aspects that have to know about future behavior of a program. AspectKE* also provides a novel variable binding mechanism for pointcuts, so that pointcuts can uniformly specify join points based on both static and dynamic information about the program. Our implementation strategy performs fundamental static analysis at load-time, so as to retain runtime overheads minimal. We implemented a compiler for AspectKE*, and demonstrate usefulness of AspectKE* through a security aspect for a distributed chat system.
|
Page generated in 0.0321 seconds