1 |
[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.
|
2 |
[en] A STUDY OF TCHINIQUES FOR THE ADAPTATION OF SOFTWARE COMPONENTS IN JAVA / [pt] UM ESTUDO DE TÉCNICAS PARA ADAPTAÇÃO DE COMPONENTES DE SFTWARE EM JAVAEDUARDO PILLA PORTILHO 19 February 2016 (has links)
[pt] Sistemas de Software fatalmente necessitam passar por modificações ao longo de sua existência para que sejam efetuadas tanto correções de erros quanto alterações evolutivas que contemplem novos requisitos. Processos de manutenção desse tipo normalmente exigem que os sistemas sejam interrompidos por algum período de tempo, que varia de acordo com a complexidade da modificação e com a tecnologia utilizada. Essa interrupção pode ser inaceitável no caso de aplicações que exijam um alto grau de disponibilidade. Nesse caso, qualquer tipo de alteração precisa ser feita de maneira dinâmica, sem interromper a aplicação. No caso de sistemas distribuídos, essa dificuldade é significantemente agravada em decorrência do número naturalmente maior de usuários atendidos e da própria distribuição de seus módulos. A implementação de mecanismos que permitem substituir ou introduzir novas funcionalidades em aplicações de maneira dinâmica foge de escopo da maioria das aplicações, por se tratar de um desenvolvimento de elevada complexidade. Acreditamos que a crescente demanda por mecanismo deste tipo justifica que eles sejam oferecidos sob a forma de serviços pela camada de middleware. Neste trabalho, avaliamos a implementação de mecanismos de adaptação dinâmica em um sistema de componentes desenvolvido em Java. Estes mecanismos devem permitir efetuar alterações nas aplicações de maneira simples e estruturada, sem que seja necessário interromper o seu funcionamento. Posteriormente, comparamos a solução obtida com uma solução similar implementada com a linguagem Lua para avaliar as vantagens e desvantagens apresentadas por dois tipos de linguagem para sistemas dinamicamente adaptáveis. Avaliamos também o desempenho da solução, comparando o tempo de execução de aplicação desenvolvidas sobre ela com similares desenvolvidas sem ela, medindo assim a sobrecarga de desempenho imposto pela solução proposta. / [en] Software systems will inevitably need to suffler modifications during its existence, in order to receive both error corrections and evolutionary changes that address new requirements. This kind of maintenance processes typically involves the interruption of the systems for an amount of time that varies with the complexity of the change and with the used technology. This interruption may be unacceptable in the case of applications that demand a high degree of availability. In this case, any modification must be made dynamically, without interrupting the application. In the case of distributed systems, this difficulty is significantly increased due to the typical greater number of users and to the distribution of their modules. Replacement or addition of features dynamically in applications developed with the major middleware platforms , such as CORBA or RMI, is a fairly complex process, which requires both the replaced modules and those that interact with the implementation of dynamic adaptation mechanisms that circumvent these limitations of dynamic adaptation mechanisms that circumvent these limitations is beynd of the scope of most applications, due to its highly complex nature. We believe that the increasing demand for such mechanisms justifies that they should be offered as services on the middleware layer. In this dissertation we evaluete the implementation of dynamic adaptation mechanisms in a component system developed using the Java programming language. These mechanisms should allow changing applications in simple and structured way, without the need to interrupt its operation. We compare the developed solution with a similar solution developed using the Lua proramming Language, in order to evaluate the advantages and disadvantages presented by this two types of languages in the implementation of dynamically adaptable sustems. We also evaluate the performance of the proposed.
|
3 |
[en] A FRAMEWORK FOR DYNAMIC ADAPTATION OF DISTRIBUTED COMPONENT-BASED SYSTEMS / [pt] UM FRAMEWORK PARA ADAPTAÇÃO DINÂMICA DE SISTEMAS BASEADOS EM COMPONENTES DISTRIBUÍDOSRENATO FIGUEIRO MAIA 04 August 2004 (has links)
[pt] A adaptação dinâmica de aplicações distribuídas tem se
tornado um recurso cada vez mais essencial na construção de
sistemas de computação. Isso é justificado especialmente
pelo avanço da tecnologia, que tem permitido a automação de
tarefas complexas em domínios de aplicação cada vez menos
tolerantes à suspensão de serviços. Nesta dissertação é
proposto o LuaOrb Adaptation Framework, que utiliza os
recursos da linguagem Lua na adaptação dinâmica de sistemas
baseados em componentes do Modelo de Componentes de CORBA
(CCM - CORBA Component Model ). Através desse framework é
possível utilizar as abstrações de papéis e protocolos para
realizar adaptações criando novas interações entre os
componentes do sistema, assim como reconfigurar
dinamicamente os componentes CCM. Devido a limitações do
modelo CCM, é proposta uma adaptação desse modelo para a
linguagem Lua, de onde surge o conceito de contêiner
dinâmico, que permite a construção de componentes
dinamicamente adaptáveis através de alterações na estrutura
e implementação desses componentes. O contêiner dinâmico
permite que essas alterações sejam feitas em níveis
diferentes, ou seja, no nível de uma única instância ou
implementação de componente, assim como em todas as
instâncias de um determinado componente. / [en] Dynamic adaptation of distributed applications has become
an essential feature in development of computer systems,
mainly justified by nowadays technology, which enables
complex tasks to be performed by computers in application
domains less suited for service interruption. This
dissertation proposes the LuaOrb Adaptation Framework,
which uses features of the programming language Lua to
dynamically adapt systems based on the CORBA Component
Model (CCM). This framework uses abstractions like
roles and protocols to adapt systems by creating new
interactions between systems components, as well as
provides features for dynamic reconfigurations of CCM
components. Due to limitations of CCM, an adaptation of this
model to Lua concepts is proposed, resulting in the
definition of dynamic containers, which enable development
of dynamically adaptable components by changes on component
structure and implementation. Dynamic containers allows
adaptations to be done on different levels, namely on the
level of a single component instance or implementation, as
well as on all instances of a given component.
|
Page generated in 0.0421 seconds