Summary: | Multiagent systems (MAS) are considered a high level abstration for design and engineering
of complex systems. Such systems are characterized by organization structures and
coordination process more articulated and dynamic. Usually, agents cooperate and coexist in
an environment. In addition, there is a general consense in the research community that an
environment is an essential part of open and dynamic MAS. However, given the dynamic
characteristics present in complex systems, only the use of the agent-based paradigm in the
software development does not guarantee the flexibility and scalability of the project ahead of
the inevitable changes on requirements. For this reason, the component-based development
have been identified as promising in the building of applications with greater ability to adapt
to the changes of its requirements. This work aims at developing a component-based
framework for engineering open MAS enviroments. The framework is based on the concept
of dynamic software composition and supported by a specification that demand mapping from
agents concepts to components in order to ensure the flexibility and reusability provided in
the component approach. In addition, i) agents and resources are used to compose the
software, ii) components are used to compose agents, and iii) objects and aspects are used to
develop the functional and non-functional components requirements. The favorable results of
this proposal were checked in experiments developed in four case studies. === Sistemas Multiagentes (SMA) são considerados um alto nível de abstração para projeto e
engenharia de sistemas complexos, tendo sido caracterizados por estruturas de organização e
processos de coordenação cada vez mais articulados e dinâmicos. Geralmente, agentes
cooperam e coexistem dentro de um ambiente. Há um consenso geral na comunidade de
agentes que os ambientes são parte essencial dos SMA dinâmicos e abertos. Contudo, diante
das características dinâmicas presentes em tais SMA, apenas a utilização do paradigma de
agentes no desenvolvimento de software não garante a flexibilidade e escalabilidade do
projeto frente a inevitáveis mudanças de requisitos do mesmo. Por sua vez, o
desenvolvimento baseado em componentes tem sido apontado como promissor na construção
de aplicações com maior capacidade de adaptação a mudanças nos seus requisitos. Este
trabalho tem como objetivo o desenvolvimento de um arcabouço para engenharia de
ambientes de SMA abertos baseado no conceito de composição dinâmica de software. O
arcabouço é baseado em uma especificação que procura mapear os conceitos de agentes em
componentes para garantir a flexibilidade e reutilização provida na abordagem de
componentes. Agentes e recursos são utilizados para compor o software, componentes são
utilizados para compor agentes, e objetos e aspectos são utilizados para implementar as
características funcionais e não-funcionais dos componentes. Os resultados favoráveis da
presente proposta foram verificados nos experimentos realizados em quatro estudos de casos.
|