1 |
[en] A COMMUNICATION PROCESSOR FOR CONNECTION OF A COMPUTER TO A NETWORK SWITCHED TO PACKAGES / [pt] UM PROCESSADOR DE COMUNICAÇÃO PARA LIGAÇÃO DE UM COMPUTADOR A UMA REDE COMUTADA POR PACOTESSELDA TEREZA TRIBUZI LULA 24 January 2008 (has links)
[pt] O presente trabalho contém o projeto da arquitetura de
hardware e software de um Processador de Comunicação
(PC)
que tem como finalidade a realização do protocolo X.25
para a ligação de um computador, em particular o sistema
de multimicrocomputadores (MULTIPUC) da Pontifícia
Universidade Católica do Rio de Janeiro, a uma rede de
comunicação de dados comutada por pacotes.
O Processador de Comunicação é baseado no
microprocessador
8085 e no controlador de linha 8273 da Intel. A
arquitetura de software do PC é composta de um conjunto
de
processos e monitores que implementam os procedimentos
da
recomendação X.25 do CCITT, aliviando assim o computador
hospedeiro das tarefas de comunicação de dados. / [en] Communication processors are used to alleviate the main
processor from data communications tasks. This work
presens the design an implementation of a communications
processor which serves as a front-end between a host
computer and a packet switched network. The host computer
is a local microprocessor network, MULTIPUC, under
development at the Laboratório de Engenharia e Sistemas de
Comunicação of the Pontifícia Universidade Católica do Rio
de Janeiro. The Communication Processor implements the
three levels of the X.25 CCITT recommendation. The
software architecture, composed of several processes and
monitors, is also described here.
|
2 |
[en] BLENDING AND REUSING RULES FOR ARCHITECTURAL DEGRADATION PREVENTION / [pt] COMPOSIÇÃO E REUSO DE REGRAS PARA PREVENÇÃO DA DEGRADAÇÃO ARQUITETURALALESSANDRO CAVALCANTE GURGEL 29 January 2015 (has links)
[pt] Durante a manutenção de sistemas de software, os projetos arquiteturais
podem se degradar através dos processos de erosão e descaracterização
arquitetural. Estes processos estão usualmente entrelaçados e, consequentemente,
sintomas de descaracterização arquitetural favorecem a manifestação posterior de
sintomas de erosão e vice-versa. De fato, estudos empíricos recentes revelam que
estes sintomas tendem a afetar os mesmos módulos de um sistema. Desta forma,
arquitetos devem elaborar estratégias híbridas para uma prevenção simultânea de
ambos os processos de degradação arquitetural. Embora as especificações de
regras arquiteturais demandem um esforço considerável, estas são frequentemente
similares em diversos projetos de uma mesma companhia ou de um mesmo
domínio de aplicação. Essa dissertação descreve a linguagem específica de
domínio TamDera para: (i) especificar estratégias de regras para permitir
prevenção simultânea de ambos os processos de erosão e descaracterização
arquitetural, e (ii) prover o reúso tanto hierárquico quanto composicional de regras
de projetos em múltiplos contextos. Essa dissertação apresenta a avaliação
empírica da linguagem em termos de provisão de suporte para descrição e reúso
de regras de projeto em cinco projetos de software. O presente trabalho também
apresenta um protótipo que suporta a utilização da linguagem para detecção de
sintomas de degradação arquitetural.. Nossos resultados sugerem que arquitetos
podem se beneficiar de abordagens que permitam a definição e reúso de regras
híbridas para detectar ocorrências de ambos os processos de erosão e
descaracterização arquitetural in diversos cenários. / [en] During the maintenance of software systems, their architecture often
degrades through processes of architectural erosion and drift. These processes are
often intertwined and, as a consequence, a given module in the code becomes the
locus of both erosion and drift symptoms. Architects should elaborate strategies
for detecting co-occurrences of both degradation symptoms. Strategies for
enabling the detection of these symptoms are based on design rules. While the
specification of design rules is time-consuming, they are often similar across
different software projects. In this context, the contribution of this dissertation is
threefold. First, it presents TamDera, an unified domain-specific language for: (i)
specifying rule-based strategies to detect both erosion and drift symptoms, and (ii)
promoting the hierarchical and compositional reuse of design rules across multiple
contexts. Second, a tool implementation for supporting the language usage and
rule enforcement is also presented in this dissertation. Third, we evaluated the
language in supporting the description and reuse of design rules on five software
projects. Our evaluation revealed that architects could be benefited by using
TamDera to blend and reuse rules for detecting erosion and drift occurrences in
multiple scenarios.
|
3 |
[en] ARCHITECTURAL DESCRIPTION OF THE QOS PROVISION IN GENERIC PROCESSING AND COMMUNICATION ENVIRONMENTS / [pt] DESCRIÇÃO ARQUITETURAL DA PROVISÃO DE QOS EM AMBIENTES GENÉRICOS DE PROCESSAMENTO E COMUNICAÇÃOCARLOS DE SALLES SOARES NETO 19 December 2003 (has links)
[pt] O aumento da demanda por plataformas com suporte a
aplicações multimídia torna evidente a importância de
mecanismos que ofereçam garantias de Qualidade de Serviço
(QoS), uma vez que cada mídia exige requisitos próprios
de processamento e comunicação. O modelo SCM (Service-
Composition Model) fornece abstrações adequadas para a
representação e programação de aspectos de QoS e
comunicação em grupo em serviços de comunicação. Seguindo
sua terminologia, a provisão de QoS pode ser vista como
um
provedor de serviços onde atuam meta serviços de
negociação
e sintonização de QoS. A negociação de QoS define
mecanismos responsáveis pela admissão de novos fluxos do
usuário, enquanto a sintonização de QoS age, durante o
fornecimento do serviço, na manutenção do nível de
serviço
negociado. Tais meta serviços já foram previamente
descritos por meio de frameworks em UML. O presente
trabalho
focaliza a descrição arquitetural desses meta serviços,
utilizando a linguagem de descrição de arquitetura (ADL)
Wright, permitindo o emprego de suas ferramentas de
análise
e verificação formal para inferir propriedades. Para
facilitar o emprego dessa abordagem através do uso de uma
notação mais próxima do domínio do problema, uma
linguagem
de domínio específico (DSL) chamada LindaQoS é proposta
especificamente para definir hierarquias de subsistemas de
negociação e sintonização. O trabalho é complementado por
um compilador que traduz especificações LindaQoS para
descrições arquiteturais (atualmente, usando Wright) e
para
linguagens de programação (futuramente em JAVA). / [en] The increased demand for platforms with support for
multimedia applications raised the importance of mechanisms
for Quality of Service provisioning, since each media has
its own processing and communication requirements. SCM
Model (Service-Composition Model) provides abstractions
for the representation and programming of QoS aspects and
multicast in communication services. According to its
terminology, the QoS provisioning can be seen as a service
provider, where QoS negotiation and QoS maintenance meta
services act upon it. The QoS negotiation are the
mechanisms responsible for the admission of new user flows,
while the QoS maintenance meta service is responsible for
maintaining the negotiated level of service during the
service operation. Such meta services had been previously
described as frameworks modelled in UML. The present work
focuses on the architectural description of these meta
services using Wright architecture description language
(ADL), which allows the use of its analysis and formal
verification tools to infer properties. To smooth this
approach, a domain-specific language (DSL) called LindaQoS
is proposed as a notation closest to the abstraction level
of the problem domain, specifically designed to define
hierarchies of negotiation and maintenance subsystems.
Moreover this work presents a compiler allowing the
translation of LindaQoS specifications into architectural
descriptions (currently, using Wright) and into programming
languages (JAVA in the future).
|
4 |
[en] AN ARCHITECTURE FOR DYNAMIC NCL APPLICATIONS BASED ON DOCUMENT FAMILIES / [pt] UMA ARQUITETURA PARA APLICAÇÕES DINÂMICAS NCL BASEADAS EM FAMÍLIAS DE DOCUMENTOSJOSE GERALDO DE SOUSA JUNIOR 05 June 2012 (has links)
[pt] A apresentação de aplicações hipermídia dinâmicas pode ser vista em
alguns casos como um processo de autoria recursivo, no qual aplicações são
recriadas em tempo de apresentação quando modificações no conteúdo são
desencadeadas por interações entre a máquina de apresentação e outras entidades
(tais como usuários, objetos imperativos, aplicações externas etc.). Em alguns
cenários de aplicações hipermídia dinâmicas, é possível identificar um padrão de
composição hipermídia que se mantém mesmo após o documento ter sido
recriado. Aplicações desse tipo são comuns, por exemplo, em um ambiente de
TV Digital Interativa. A existência de um padrão durante a apresentação de uma
aplicação para TV Digital Interativa permite estabelecer uma analogia entre os
processos de recriar documentos dinamicamente e de especificar aplicações pelo
método orientado a templates. Nesse último método, o autor especifica uma
aplicação preenchendo lacunas deixadas por um template que representa o
padrão de composição hipermídia da aplicação. Analogamente, na recriação
dinâmica de documentos o módulo que processa atualizações no documento faz
o papel de preencher as lacunas de templates. O objetivo principal do presente
trabalho é definir uma arquitetura, inspirada nessa analogia, para estruturar
aplicações NCL que podem ser refatoradas dinamicamente e que se mantêm em
conformidade com seus respectivos templates. Nested Context Language (NCL)
é a linguagem para autoria de aplicações do Sistema Brasileiro de TV Digital
terrestre. Para validar a solução proposta, foram desenvolvidas uma aplicação
que captura um cenário real de uso e uma ferramenta de autoria que permite
especificar graficamente o preenchimento de templates. / [en] The presentation of dynamic hypermedia applications may be seen as a
recursive authoring process, in which applications are recreated during
presentation time, whenever content changes are triggered by interactions
between the presentation engine and other entities such as users, imperative
objects, external applications, etc. In some scenarios of dynamic hypermedia
applications, it is possible to identify a hypermedia composition pattern that
remains consistent even after the document is recreated. This kind of
applications is common, for instance, in an Interactive Digital Television
environment. The presence of such a pattern throughout the presentation of an
application for Interactive Digital Television allows the establishment of an
analogy between recreating documents dynamically and authoring applications
through a template-driven authoring method. Using the latter, the authoring
process is conducted by filling gaps left by a template that represents the
hypermedia composition pattern of an application. Analogously, in the dynamic
document re-creation, the module that processes document updates fulfills the
role of filling the templates gaps. The main goal of the present work is to
define an architecture, inspired by this analogy, to structure NCL applications
that can be dynamically refactored and that remain conform to their respective
templates. Nested Context Language (NCL) is the language of Brazilian System
of Digital Terrestrial Television applications. In order to validate the proposal,
an application that captures a real scenario and an authoring tool for specify
graphically document filling was developed.
|
5 |
[en] A DEONTIC APPROACH TO DEVELOP AUTONOMOUS NORMATIVE AGENTS / [pt] UMA ABORDAGEM DEONTICA PARA O DESENVOLVIMENTO DE AGENTES NORMATIVOS AUTÔNOMOSBALDOINO FONSECA DOS SANTOS NETO 14 June 2012 (has links)
[pt] Normas sociais têm se tornado uma das abordagens mais promissoras
para garantir uma ordem social desejável em sistemas multiagentes. Nestes
sistemas, agentes autônomos trabalham a fim de atingir objetivos comuns
ou diferentes. Normas regulam o comportamento de tais agentes definindo
obrigações e proibições, fornecendo recompensas e estabelecendo punições a
fim de incentivá-los a se comportarem de acordo com as normas. Embora o
uso de normas seja um mecanismo promissor para regular o comportamento
de agentes, o desenvolvimento de agentes capazes de atuar em um sistema,
adotar as normas e lidar com as mesmas autonomamente tem sido mais
difícil do que o desenvolvimento de agentes tradicionais. A razão para esta
dificuldade é a falta de mecanismos que possibilitem o desenvolvimento de
agentes autônomos capazes de lidar com questões relacionadas a normas. Nesta
tese, apresenta-se uma abordagem para desenvolvimento de agentes capazes
de lidar autonomamente com questões normativas. Para tanto, a abordagem
fornece um modelo arquitetural para apoiar um agente no raciocínio sobre
as normas. Tal modelo estende o modelo Belief-Desire-Intention adicionando
um conjunto de funções que auxiliam o agente na adoção de novas normas,
na verificação da ativação, desativação, cumprimento e violação das normas,
na seleção de quais normas devem ser cumpridas ou violadas, na detecção
e resolução de conflitos entre normas, na geração de novos objetivos e na
seleção de objetivos, planos e intenções, levando em consideração as normas
do sistema. Além disto, a abordagem fornece os mecanismos necessários
para implementação de agentes projetados a partir do modelo arquitetural
proposto. Dois cenários são utilizados para exemplificar a abordagem proposta.
O primeiro está relacionado ao planejamento de missões de resgate reguladas
por normas. O segundo está relacionado ao suporte ao desenvolvimento de
software regulado por normas. Por fim, experimentos são apresentados que
demonstram a importância de desenvolver agentes a partir da abordagem
proposta seja na visão do agente ou da sociedade. / [en] Social norms have become one of the most promising approaches toward
ensuring a desirable social outcome in multi-agent systems. In these systems,
autonomous and heterogeneous agents work toward common or different goals.
Norms regulate the behaviour of these agents by defining obligations and
prohibitions, and by creating rewards and penalties to encourage the agents to
behave so as to meet these norms. Although the use of norms is a promising
mechanism to regulate the agents’ behavior, the development of agents able to
join an agents society, to adopt the norms and to work with them autonomously
has shown to be significantly more challenging than traditional agents. The
reason for this difficulty is the lack of agent models that allow developing of
autonomous agents able to cope with issues related to norms. In this thesis,
we introduce an approach to develop agents able to deal with normative
questions in an autonomous way. The approach extends the Belief-Desire-
Intention model including functions that assist the agent in adopting new
norms, in verifying norm activation, deactivation, fulfillment and violation, in
selecting the norms to be fulfilled or violated by the agent, in identifying and
overcoming conflicts among norms, in generating new goals from norms and
in selecting goals, plans and intentions while taking into account the system
norms. In addition, the approach provides mechanisms that are necessary
to implement agents designed from the proposed architectural model. Two
scenarios are used in order to exemplify the proposed approach. The first is
related to the planning of rescue missions regulated by norms. The second is
related to the support to software development regulated by norms. Finally,
experiments that demonstrate the importance of developing agent by using the
proposed architectural model, both in the agent and society point of view, are
presented.
|
6 |
[en] ON THE DETECTION OF ARCHITECTURALLY RELEVANT CODE ANOMALIES IN SOFTWARE SYSTEMS / [pt] DETECÇÃO DE ANOMALIAS DE CÓDIGO ARQUITETURALMENTE RELEVANTES EM SISTEMAS DE SOFTWAREISELA MACIA BERTRAN 29 January 2015 (has links)
[pt] Anomalias de código podem sinalizar a degradação da arquitetura de software. No entanto, a identificação de anomalias de código arquiteturalmente relevantes (ou seja, aquelas que implicam em deficiências arquiteturais) é particularmente difícil devido: (i) a falta de compreensão sobre a relação existente entre anomalias de código e degradação arquitetural, (ii) ao fato do processo de detecção de anomalias ter como foco somente o código fonte, sem considerar como ele se relaciona com sua arquitetura, e (iii) a falta de conhecimento sobre a confiabilidade das técnicas de detecção em revelar anomalias de código que são arquiteturalmente relevantes. Esta tese apresenta técnicas para identificar anomalias de código que são arquiteturalmente relevantes. Métricas sensíveis à arquitetura e estratégias de detecção foram definidas para superar as limitações das técnicas de detecção convencionais. Estas métricas e estratégias aproveitam rastros que podem ser estabelecidos entre as visões arquiteturais e a implementação dos sistemas. A tese também documenta padrões de anomalias de código (ou seja, relações recorrentes de anomalias) que estão relacionados com problemas arquiteturais. Uma ferramenta, chamada de SCOOP, foi desenvolvida para coletar as métricas sensíveis à arquitetura, aplicar as novas estratégias de detecção, e identificar os padrões de anomalias de código. Usando esta ferramenta, a técnica proposta foi avaliada em uma série de estudos empíricos, comparando sua acurácia com técnicas convencionais de detecção durante o processo de identificação de anomalias de código que são arquiteturalmente relevantes. / [en] Code anomalies can signal software architecture degradation. However, the identification of architecturally-relevant code anomalies (i.e. code anomalies that strongly imply architectural deficiencies) is particularly challenging due to: (i) lack of understanding about the relationship between code anomalies and architectural degradation, (ii) the focus on source code anomaly detection without considering how it relates to the software architecture, and (iii) lack of knowledge about how reliable these detection techniques are when revealing architecturally-relevant code anomalies. This thesis presents techniques for identifying architecturally-relevant code anomalies. Architecture-sensitive metrics and detection strategies were defined to overcome the limitations of conventional detection strategies. These metrics and strategies leverage traces that can be established between architectural views and system implementation. The thesis also documents code anomaly patterns (i.e. recurring anomaly relationships) that are strongly related to architectural problems. A tool, called SCOOP, was developed to collect the architecture-sensitive metrics, apply the new detection strategies, and identify the documented code anomaly patterns. Using this tool, we evaluated our technique in a series of empirical studies, comparing its accuracy with that of conventional detection techniques when identifying architecturally-relevant code anomalies.
|
7 |
[en] AN ASPECT-ORIENTED FRAMEWORK FOR SOFTWARE AGENTS MOBILITY / [pt] UM FRAMEWORK ORIENTADO A ASPECTOS PARA MOBILIDADE DE AGENTES DE SOFTWARECIDIANE ARACATY LOBATO 29 March 2006 (has links)
[pt] Engenheiros de sistemas multi-agentes (SMAs) móveis devem
lidar com
o projeto e a implementação de mobilidade de código, além
do projeto e
implementação de funcionalidades básicas e outros
requisitos. À medida que a
complexidade dos SMAs aumenta, questões referentes à
mobilidade não podem
ser modularizadas somente a partir da utilização de
abstrações e mecanismos
orientados a objetos (OO). Além disso, vários
programadores freqüentemente
evidenciam a presença de problemas de entrelaçamento e
espalhamento em suas
linhas de código referentes à mobilidade. Apesar de tais
problemas, os
desenvolvedores de SMAs têm se apoiado vastamente na
utilização de
interfaces de programação de aplicações (APIs) OO das
plataformas de
mobilidade e na linguagem de programação Java. O resultado
é a produção de
SMAs que são difíceis de entender, manter e reutilizar.
Este trabalho apresenta
três contribuições principais. Primeiramente, é realizada
uma análise das
soluções existentes para separação dos interesses de
mobilidade. Além disso,
são propostos a arquitetura de software ArchM e o
framework AspectM, ambos
baseados em aspectos, visando: (i) uma clara separação dos
interesses de
mobilidade em relação às funcionalidades básicas e outros
requisitos, (ii) uma
introdução transparente do código de mobilidade em agentes
estacionários, e
(iii) uma integração flexível dos SMAs com plataformas de
mobilidade
existentes. O desenvolvimento de software orientado a
aspectos é um novo
paradigma com abstrações e mecanismos de composição que
possibilitam o
aumento do grau de reusabilidade e manutenibilidade dos
sistemas. Os
benefícios de ArchM e AspectM são ilustrados através de
dois estudos de caso e
com o uso de duas plataformas de mobilidade. / [en] Software engineers of multi-agent systems (MASs) are
concerned with
the design and implementation of the mobility issues in
addition to the agents`
basic functionalities and other agent-related concerns. As
the agents`
complexity increases, mobility issues cannot be
modularized based only on
object-oriented (OO) abstractions and mechanisms. Besides,
some programmers
frequently evidence the presence of mobility tangling and
scattering problems
on their systems. Despite these problems, MAS developers
have mostly relied
on application programming interfaces (APIs) OO from
mobility platforms and
on the use of the Java programming language. The result is
the production of
MASs that are difficult to understand, maintain, and
reuse. This work presents
three main contributions. Firstly, an analysis of existent
solutions for
modularization of mobility issues. Besides, the proposal
of the ArchM software
architecture and the AspectM framework, both based on
aspects, which support:
(i) improved modularization of the mobility issues, that
is, a clean separation
between the mobility-specific concerns and the other agent
concerns, (ii) a
seamless introduction of code mobility into stationary
agents, and (iii) a flexible
integration with multiple mobility platforms. The aspect-
oriented software
development (AOSD) is a new paradigm with abstractions and
composition
mechanisms that support an improvement of reuse and
maintainability of
systems. The benefits of the AspectM framework are
illustrated through two
case studies and through use of two mobility platforms.
|
8 |
[en] A STUDY OF DYNAMIC UPDATE FOR SOFTWARE COMPONENTS / [pt] UM ESTUDO SOBRE ATUALIZAÇÃO DINÂMICA DE COMPONENTES DE SOFTWAREEDUARDO CASTRO MOTA CAMARA 07 October 2014 (has links)
[pt] O desenvolvimento baseado em sistemas de componentes de software consiste em compor sistemas a partir de unidades de sotfware prontas e reutilizáveis. Muitos sistemas de componentes software em produção, precisam ficar disponíveis durante 24 horas por dia nos 7 dias da semana. Atualizações dinâmicas permitem que os sistemas sejam atualizados sem interromperem a execução dos seus serviços, aplicando a atualização em tempo de execução. Muitas técnicas de atualização dinâmica, na literatura, utilizam aplicações feitas especificamente para cobrir os pontos implementados e poucas utilizam um histórico de necessidades de um sistema real. Este trabalho estuda os principais casos de atualizações que ocorrem em um sistema de componentes de uso extenso, o Openbus, que consiste em uma infraestrutura de integração responsável pela comunicação de diversas aplicações de aquisição, processamento e interpretação de dados. Além deste estudo, implementamos uma solução de atualização dinâmica para acomodar as necessidades deste sistema. Depois, utilizando a solução implementada, apresentamos um teste de sobrecarga e algumas aplicações de atualizações do Openbus. / [en] The component-based development of software systems consists on composing systems from ready and reusable sotfware units. Many software componente systems on production, need to be available 24 hours a day 7 days a week. Dynamic updates allow systems to be upgraded without interrupting the execution of its services, applying the update at runtime. Many dynamics software update techniques in the literature use applications specically implemented to cover the presented points and only a few use a historical need
of a real system. This work studies the main cases of updates that occur in a system of components with extensive use, the Openbus, which consists of an integration infrastructure responsible for communication of various applications for acquisition, processing and interpretation of data. In addition to this study, we implement a solution of dynamic software update to accommodate the needs of this system. After, using the implemented solution, we present an overhead test and applications of updates on Openbus.
|
9 |
[en] FROM OBJECTS TO AGENTS: AN ASPECT ORIENTED APPROACH / [pt] OBJETOS E AGENTES: UMA ABORDAGEM ORIENTADA A ASPECTOSALESSANDRO FABRICIO GARCIA 13 July 2004 (has links)
[pt] Agentes de software incorporam várias propriedades
específicas, como
autonomia, adaptação, interação, aprendizagem e mobilidade.
A inclusão dessas
propriedades de agência é uma das maiores fontes de
complexidade na construção de
sistemas multiagentes. Dificilmente elas são modularizadas
com abstrações e
mecanismos da engenharia de software orientada a objetos. À
medida que a
complexidade da arquitetura interna dos agentes aumenta,
essas propriedades tendem a
se espalhar através dos vários módulos ou objetos do
sistema. O espalhamento é
observado desde fases preliminares de desenvolvimento, como
a fase de definição
arquitetural. O uso de abstrações e mecanismos existentes
conduz ao projeto e à
implementação de sistemas multiagentes que são difíceis de
manter e reutilizar.
Este trabalho apresenta uma abordagem orientada a aspectos
para o
desenvolvimento de sistemas baseados em agentes. A
abordagem provê suporte para
modularização e composição das propriedades de agência por
meio de abstrações e
mecanismos do paradigma orientado a aspectos. Além disso,
tais propriedades são
incorporadas de forma transparente à funcionalidade básica
do sistema de software,
desde a fase de definição arquitetural. A abordagem
compreende três componentes: (i)
um método arquitetural, (ii) uma linguagem de padrões e
(iii) um framework para
avaliação quantitativa. O método e a linguagem apresentam
um conjunto de soluções
orientadas a aspectos para a definição arquitetural,
projeto e implementação de agentes
de software. O framework define um conjunto de métricas e
um modelo de qualidade
que permite a avaliação empírica da nossa abordagem em
termos de reusabilidade e
manutenibilidade. Estudos experimentais qualitativos e
quantitativos foram realizados
para avaliar nossa proposta em diferentes domínios de
aplicação. Os resultados
empíricos concluíram que nossa abordagem permite a
construção de sistemas baseados
em agentes com modularização superior, menor acomplamento,
menos linhas de código
e menor complexidade interna dos componentes. / [en] Software engineers of Multi-Agent Systems (MASs) are faced
with different
concerns (properties), such as autonomy, adaptation,
interaction, collaboration, learning,
and mobility. Many of these agent concerns cannot be
modularized based only on
object-oriented abstractions. MAS developers however have
relied mostly on objectoriented
design techniques and on object-oriented programming
languages, such as
Java. As the agent complexity increases, the agent concerns
tend to spread across
several system components at the architectural, design and
implementation levels. It
often leads to a poor separation of agent concerns in the
software system, and in turn to
the production of MASs that are difficult to maintain and
reuse.
This thesis presents an innovative aspect-oriented approach
for the seamless
integration of agents into object-oriented software
engineering from the architectural
stage to the implementation stage. Aspect is the
abstraction used to modularize agent
concerns that crosscut several system components. The
proposed approach encourages
the separate handling of agent properties, and provides a
disciplined scheme for their
composition. The approach is composed of an architectural
method, a pattern language,
and an assessment framework. The architectural method and
the pattern language
provide aspect-oriented solutions for modularizing the
agent concerns at different stages
of design and implementation. The purpose of the assessment
framework is to support
the evaluation of the reusability and maintainability of
aspect-oriented solutions based
on a metrics suite and a quality model. Experimental
studies in different application
domains have been conducted to assess the proposed approach
based on qualitative and
quantitative criteria. The use of the aspect-oriented
solutions resulted in fewer lines of
code, fewer design and implementation components, lower
internal complexity of
system components, and lower coupling.
|
10 |
[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.
|
Page generated in 0.05 seconds