[en] FROM OBJECTS TO AGENTS: AN ASPECT ORIENTED APPROACH
[pt] OBJETOS E AGENTES: UMA ABORDAGEM ORIENTADA A ASPECTOS
Description
[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.
Collections
Related items
Showing items related by title, author, creator and subject.
-
Um sistema multi-agente colaborativo para gestão da mudança de requisitos de software
Dall Oglio, Pablo (Universidade do Vale do Rio do Sinos, 2010-03-24)Many methodologies were created to organize the software development, most of them based upon the requirements previsibility premise. Since getting a precise set of requirements before the software construction is the ... -
[pt] ENGENHARIA DE SOFTWARE PARA SOFTWARE LIVRE
ROBERTO DE HOLANDA CHRISTOPH