View
116
Download
7
Category
Preview:
Citation preview
Avaliação da Modularidade e Estabilidade de Técnicas de
Implementação para Linhas de Produtos de Sistemas Multi-agentes
Camila Nunes
Orientadores:
Carlos Lucena
Uirá Kulesza
2camila © LES/PUC-Rio
Agenda
• Motivação / Problema / Solução Proposta
• As LP-SMAs– Expert Committee
– OLIS
• Avaliação da Estabilidade
• Avaliação da Modularidade
• Discussões e Lições Aprendidas
• Conclusões
3camila © LES/PUC-Rio
Motivação
• Linha de Produtos de Software (LPS)– Refere-se a um conjunto de técnicas de engenharia para
a criação de produtos similares a partir de um conjunto de artefatos compartilhados
– Explora as partes comuns e variáveis existentes entre os sistemas
– Reuso de um conjunto de diferentes artefatos:• Frameworks OO
• Desenvolvimento Baseado em Componentes
• Bibliotecas de software
– Novas técnicas têm sido exploradas:• Programação orientada a aspectos
• Geração de código
• Compilação condicional
4camila © LES/PUC-Rio
Motivação
• Vantagens dos Agentes de Software
– Recomendação de produtos e informações
– Serviços Inteligentes
– Aplicações em diversos domínios
• Linhas de Produto de Sistemas Multi-agentes (LP-SMA)
– Reuso em larga-escala de features de agência comuns e variáveis entre as aplicações de SMA
– Os pontos de variação associados as features de agência
• Autonomia
• Reatividade
• Pró-atividade
LPS + SMA
5camila © LES/PUC-Rio
Problema
• Projeto Modular e Estável de determinadas variabilidades em uma LP-SMA– Efeito transversal sobre as decomposições da arquitetura de
agentes– Técnicas de implementação para habilitar a configuração e
interdependências
• Ineficácia de mecanismos de implementação– Aumento da complexidade
– Dificuldades nas atividades de manutenção da arquitetura de LP-SMA
– Redução da estabilidade da arquitetura.
• Longevidade de uma LP-SMA é altamente dependente de mecanismos de implementação
6camila © LES/PUC-Rio
Problema
• Como lidar com a evolução de uma LP-MAS?
– Inclusão e remoção de features opcionais, alternativas e obrigatórias
– Features transversais
– Transformação de features
• Quais mecanismos de variabilidade são mais apropriados para promover a estabilidade de arquiteturas de LP-SMA?
– Compilação condicional
– Arquivos de configuração
– Programação Orientada a Aspectos
7camila © LES/PUC-Rio
Trabalhos Relacionados
• Figueiredo, E. et al (2008). Evolving software product
lines with aspects: An empirical study on design stability – Estudo empírico de duas linhas de produto para dispositivos
móveis: MobileMedia e BestLap
– Análise baseada em métricas para modularidade, propagação de mudanças e interação de features
• Garcia, A et al (2003). Agents and Objects: An Empirical Study on the Design and Implementation of MAS– Comparação de duas técnicas
• POA
• Desenvolvimento orientado a padrões
– Avaliação de interesses transversais de SMA: mobilidade, autonomia, interação, colaboração
8camila © LES/PUC-Rio
Limitações dos Trabalhos Relacionados
• Domínio diferente do utilizado neste trabalho: LP-SMA
– Inclusão de features de agentes nos cenários de evolução
• Não avaliam as (des)vantagens de diferentes estratégias de implementação para melhorar a longevidade do projeto de uma LP-SMA
• Não avaliam qualitativamente e quantitativamente o uso de plataformas de SMA e diferentes técnicas de implementação:
– Compilação Condicional
– Arquivos de configuração
– POA.
9camila © LES/PUC-Rio
Solução Proposta
• Estudo empírico para avaliar a Modularidade e Estabilidade de diferentes técnicas de implementação em LP-SMA
• Comparação de duas plataformas de desenvolvimento de SMA (JADE e Jadex) e técnicas de implementação de variabilidades:– Compilação Condicional– Arquivos de Configuração– Programação Orientada a Aspectos
• Avaliação de duas LP-SMA no domínio Web– Aplicação de um conjunto de cenários de evolução– Inclusão de agentes de software
• Avaliação quantitativa e qualitativa da modularidade e estabilidade de LP-SMA através de um conjunto de métricas
10camila © LES/PUC-Rio
Primeiro Estudo
• LP-SMA Expert Committee (EC)
• Sistema de Gerenciamento de Conferência
– Submissão de papers
– Processo de revisão
• Comparação de duas versões usando a plataforma JADE:
– Compilação condicional
– Técnicas de Programação Orientada a Aspectos
11camila © LES/PUC-Rio
Cenários de Mudanças
Releases Descrição Tipo de Mudança
R1 Arquitetura base do Expert Committee.
R2 Inclusão do papel Revisor. Inclusão de feature opcional
R3 Feature adicionada para incluir agentes de
usuário (User Agents), incluindo o papel de
autor. Nova feature para permitir a sugestão
de conferências para os autores.
Inclusão de feature opcional
R4 Inclusão do agente notificador (Notifier
Agent) para enviar mensagens para os
usuários do sistema através de e-mail e SMS.
Inclusão de feature opcional e alternativa
R5 Inclusão do agente de deadlines. Este agente é
responsável por monitorar os deadlines da
conferência.
Inclusão de feature opcional
R6 Inclusão da feature que permite o chair
distribuir automaticamente os artigos para os
membros do comitê. Extensão do agente de
deadlines para permitir o lembrete dos
deadlines.
Inclusão de feature opcional
e extensão de feature
opcional.
R7 Inclusão do agente de tarefas. Inclusão de feature opcional
12camila © LES/PUC-Rio
Arquitetura da LP-SMA do EC
Database
User DataAgent
AssignPapersAction
BaseAction
Observable
ConferenceServiceImp
l
ConferenceDAOHibernate
PaperDAOHibernate
…
CreateConferenceAction
…
GUI Layer
PaperServiceImpl
…
Observer
Business LayerData Layer
ObservableService
TaskAction
TaskServiceImpl
TaskDAOHibernate
EnvironmentAgent
<<creates>>
UserAgents
NotifierAgent
SMSMAIL
DeadlineAgent
TaskAgent
Chair Role
Coordinator Role
Author Role
Committee Member
Role
Reviewer Role
13camila © LES/PUC-Rio
Tipos de Variabilidades
• Tipos de Features na LP-SMA do EC: – (i) Novas features para o gerenciamento de
conferência:• Features relacionadas ao processo de gerenciamento da
conferência
– (ii) Novos agentes de software:• Inclusão de agentes
– (iii) Novos comportamentos e papéis para o agente:• Features que têm impacto dentro dos agentes,
variabilidades internas
14camila © LES/PUC-Rio
O Estudo Empírico
• Os estudos foram estruturados segundo os princípios definidos por Wholin et al (2000)
– Definição
– Planejamento
• Seleção do Contexto e Seleção dos Participantes
• Formulação das Hipóteses
• Seleção das Variáveis
– Operação
– Análise e Interpretação
• Caracterizados como um quasi-experimentos
Wohlin, C., et al. (2000). Experimentation in software engineering: an introduction. Kluwer Academic Publishers, Norwell, MA, USA.
15camila © LES/PUC-Rio
O Estudo Empírico
• Definição do Experimento
– Objetivo do experimento
– Template GQM (Goal-Question-Metric)
Analisar as duas diferentes versões da LP-SMA do EC
Com o propósito de avaliar técnicas de programação usando o framework JADE
Com respeito a modularidade e estabilidade
Do ponto de vista desenvolvedor/pesquisador
No contexto de estudantes da pós-graduação do Laboratório de Engenharia de Software da PUC-Rio
16camila © LES/PUC-Rio
Operação
• O estudo foi dividido em quatro fases:
– Projeto e Implementação das três duas da LP-SMA
– Avaliação da Modularidade
– Avaliação do impacto das mudanças
– Análise dos Dados
• Durante o desenvolvimento
– Boas práticas de projeto para todas as versões da LP-SMA
• Arquitetura em camadas e padrões de projeto
– Tornar a comparação confiável
17camila © LES/PUC-Rio
Operação
• Métricas usadas para quantificar a modularidade em termos dos seguintes atributos:
– Separação de concerns
– Interação entre concerns
– Tamanho
– Coesão
– Acoplamento
• Medição da Manutenibilidade
– Avaliar os efeitos de propagação em termos de componentes, linhas de código e operações
18camila © LES/PUC-Rio
Análise da Estabilidade
R2 R3 R4 R5 R6 R7
Componentes Adicionados
OO 3 27 11 3 3 26
OA 9 35 20 6 8 34
ComponentesModificados
OO 9 6 8 8 7 13
OA 0 0 0 0 0 0
OperaçõesAdicionadas
OO 32 103 31 29 20 128
OA 43 112 35 49 27 145
OperaçõesModificadas
OO 4 2 15 2 2 31
OA 0 0 0 0 0 0
PointcutsAdicionados
OA 5 7 9 1 1 19
PointcutsModificados
OA 0 0 0 0 0 0
LOC Adicionadas
OO 418 1134 639 391 249 2203
OA 511 1202 784 470 496 2166
LOCModificadas
OO 0 0 0 0 0 0
OA 0 0 0 0 0 0
19camila © LES/PUC-Rio
Análise da Modularidade
• Métricas de Concern da Feature Revisor (R2)
• Solução OA foi mais efetiva na modularização desta feature
– Código “cola”
• Compilação Condicional é mais invasiva
– Definição de #ifdef/#endif
Revisor
0
10
20
30
40
50
60
70
80
90
1 2 3 4 5 6 7
Releases
Dif
usã
o d
o C
on
cern
po
r L
OC
(C
DL
OC
)
Java
AspectJ
Revisor
0
10
20
30
40
50
60
1 2 3 4 5 6 7
Releases
Dif
usã
o d
o C
on
cern
po
r O
per
açõ
es (
CD
O)
Java
AspectJ
20camila © LES/PUC-Rio
Análise da Modularidade
• Difusão do Concern por Componentes (CDC) – Feature Revisor (R2)
• Solução OO encontra-se mais espalhada
• R7 houve um aumento significativo para todas as métricas
– Classes de eventos que se comunicam com a feature Revisor
Reviewer
0
5
10
15
20
1 2 3 4 5 6 7
Releases
Difu
são
do C
once
rn p
or
Com
pone
ntes
(CD
C)
Java
AspectJ
21camila © LES/PUC-Rio
Projeto OO da LP-SMA do EC
22camila © LES/PUC-Rio
Projeto OA da LP-SMA do EC
23camila © LES/PUC-Rio
Análise da Modularidade
• Difusão do Concern por Operações (CDO) – Agentes de Usuário (R3)
• Aumento no número de operações
– Operações adicionadas ao código base para os aspectos afetarem os joinpoints
Agentes de Usuário
0
10
20
30
40
50
60
70
80
1 2 3 4 5 6 7
Releases
Dif
usã
o d
o C
on
cern
po
r O
per
açõ
es (
CD
O)
Java
AspectJ
24camila © LES/PUC-Rio
Análise da Modularidade
• Difusão do Concern por Componentes (CDC) – Agentes de Usuário
• Solução OO encontra-se menos espalhada
– Compilação condicional -> inclusão das cláusulas localmente
• Solução AO
– Conjunto de aspectos para especificar os papéis
Agentes de Usuário
0
5
10
15
20
25
30
1 2 3 4 5 6 7
Releases
Dif
usã
o d
o C
on
cern
po
r C
om
po
nen
tes
(CD
C)
Java
AspectJ
25camila © LES/PUC-Rio
Projeto OO da LP-SMA do EC
26camila © LES/PUC-Rio
Projeto OA da LP-SMA do EC
27camila © LES/PUC-Rio
Análise da Modularidade
• Difusão do Concern por Linhas de Código (CDLOC)
• Solução OO
– Mudança nas classes aumenta o nível de entrelaçamento
Agentes de Usuário
0
10
20
30
40
50
60
1 2 3 4 5 6 7
Releases
Co
nce
rn D
ifu
sio
n o
ver
LO
C
Java
AspectJ
28camila © LES/PUC-Rio
Análise da Modularidade
• Difusão do Concern por Componentes (CDC) – Feature
Agente Notificador (R4)
• Solução OA: Aumento de CDC a partir do R5
– Aspectos relacionados a papéis específicos dos agentes
– Permitir melhor gerenciamento (inclusão/remoção)
Agente Notificador
0
5
10
15
20
25
1 2 3 4 5 6 7
Releases
Dif
usã
o d
o C
on
cern
po
r C
om
po
nen
tes
(CD
C)
Java
AspectJ
29camila © LES/PUC-Rio
Média de Acoplamento
• Solução OA
– Reduziu o acoplamento das classes
– Ainda mantém referências a algumas classes (declarações inter-tipos)
– Implementação do padrão Role
• Papéis melhores modularizados na solução OA
Acoplamento entre Componentes (CBC)
0,0
2,0
4,0
6,0
8,0
10,0
1 2 3 4 5 6 7
Releases
Java
AspectJ
30camila © LES/PUC-Rio
Média de Coesão
Falta de Coesão em Operações (LCOO)
-
0,05
0,10
0,15
0,20
0,25
1 2 3 4 5 6 7
Releases
Java
AspectJ
• Solução OA
– Alta coesão - Implementação do Padrão Observer
• Solução OO
– Implementação original da classe e código relacionado ao padrão
31camila © LES/PUC-Rio
Métricas de Tamanho
ExpertCommittee
0
50
100
150
200
250
1 2 3 4 5 6 7
Releases
Nú
mer
o d
e C
om
po
nen
tes
Java
AspectJ
• Solução OA
– Aspectos são heterogêneos
– Conseqüência - Métricas NOO e LOC são maiores
• Solução OO
– Uso de operadores AND/OR foram suficientes para permitir a combinação das features
32camila © LES/PUC-Rio
Dependência de Features
Revisor
0
2
4
6
8
10
1 2 3 4 5 6 7
Releases
CIB
C Java
AspectJ
• Solução OO
– Entrelaçamento (Papéis: Autor, Chair, Membro do Comitê de Programa, Coordenador; ACLMessage, Persistence, Review e MessageFactory)
• Solução AO
– Transferência dos elementos da implementação das classes para os aspectos
33camila © LES/PUC-Rio
Segundo Estudo
• OLIS é uma LP-SMA que provê diversos serviços
• Comparação de três versões:
– JADE e arquivos de configuração
– Jadex e arquivos de configuração
– JADE com técnicas de POA
34camila © LES/PUC-Rio
LP-SMA OLIS
• OLIS (OnLine Intelligent Services)
– LP-SMA para o domínio Web que provê diversos serviços pessoais para os usuários
– O núcleo da arquitetura do OLIS
• Anúncio de eventos
• Serviços de calendário
– Gerencia diversos tipos de Eventos
• Genérico
• Acadêmico
• Viagem
– Também foi estruturado de acordo com o padrão arquitetural em camadas
35camila © LES/PUC-Rio
LP-SMA OLIS
• Novas funcionalidades com comportamento autônomo– Lembrete de Eventos
• Sistema envia notificações para o usuário sobre os eventos que irão acontecer
– Escalonador de Eventos
• Sistema verifica se existe conflito com eventos já existentes e sugere uma nova data para o evento
– Sugestão de Eventos
• O sistema automaticamente recomenda o evento para outros usuários baseado nas suas preferências
– Tempo
• Provê informações sobre as condições de tempo atuais e as previsões do local
• Usado pelo sistema para recomendar eventos de viagens anunciados
36camila © LES/PUC-Rio
Cenários de Mudanças da LP-SMA OLIS
R# Descrição Tipo de Mudança
R1 Núcleo do OLIS - Sistema Web.
R2 Nova feature adicionada para permitir o usuário importar eventos para o seu calendário.
Inclusão de feature
obrigatória.
R3 Feature adicionada para permitir o suporte a eventos acadêmicos.
Inclusão de feature alternativa.
R4 Inclusão do papel de Sugestão de Eventos para sugerir eventos acadêmicos.
Inclusão de feature opcional.
R5 Inclusão do papel de lembrete de eventos.
Inclusão de feature opcional.
R6 Inclusão do papel de escalonador de eventos.
Inclusão de feature opcional.
R7 Inclusão do agente de tempo. Inclusão de feature opcional..
R8 Feature adicionada para permitir o suporte a eventos de viagem.
Inclusão de feature alternativa.
37camila © LES/PUC-Rio
O Estudo Empírico
• Definição do Experimento
– Objetivo do experimento
– Template GQM (Goal-Question-Metric)
Analisar as três diferentes versões da LP-SMA OLIS
Com o propósito de avaliar técnicas de programação
Com respeito a modularidade e estabilidade
Do ponto de vista desenvolvedor/pesquisador
No contexto de estudantes da pós-graduação do Laboratório de Engenharia de Software da PUC-Rio
38camila © LES/PUC-Rio
Análise da Estabilidade
R2 R3 R4 R5 R6 R7 R8
Components
A
Jade 0 19 30 3 12 33 28
Jadex 0 19 37 4 16 36 32
OA 1 18 31 5 13 32 25
M
Jade 2 5 7 2 4 6 4
Jadex 2 5 6 3 4 6 3
OA 0 4 3 0 3 5 4
Operações
A
Jade 2 97 154 13 49 264 112
Jadex 2 97 85 4 41 252 101
OA 4 96 163 16 52 264 111
M
Jade 2 1 3 3 2 1 1
Jadex 2 1 3 2 1 1 0
OA 0 0 0 0 0 0 1
PointcutsA OA 3 10 7 3 3 1 11
M OA 0 0 0 0 0 0 0
Linhas de Código
A
Jade 17 872 1656 226 575 2105 1265
Jadex 17 872 1894 302 863 2258 1380
OA 29 835 1652 255 623 2080 1189
M
Jade 0 8 1 1 0 1 1
Jadex 0 8 1 0 0 0 1
OA 0 1 0 0 0 0 1
Feature Obrigatória
39camila © LES/PUC-Rio
Análise da Estabilidade
R2 R3 R4 R5 R6 R7 R8
Components
A
Jade 0 19 30 3 12 33 28
Jadex 0 19 37 4 16 36 32
OA 1 18 31 5 13 32 25
M
Jade 2 5 7 2 4 6 4
Jadex 2 5 6 3 4 6 3
OA 0 4 3 0 3 5 4
Operações
A
Jade 2 97 154 13 49 264 112
Jadex 2 97 85 4 41 252 101
OA 4 96 163 16 52 264 111
M
Jade 2 1 3 3 2 1 1
Jadex 2 1 3 2 1 1 0
OA 0 0 0 0 0 0 1
PointcutsA OA 3 10 7 3 3 1 11
M OA 0 0 0 0 0 0 0
Linhas de Código
A
Jade 17 872 1656 226 575 2105 1265
Jadex 17 872 1894 302 863 2258 1380
OA 29 835 1652 255 623 2080 1189
M
Jade 0 8 1 1 0 1 1
Jadex 0 8 1 0 0 0 1
OA 0 1 0 0 0 0 1
Features Opcionais
40camila © LES/PUC-Rio
Análise da Estabilidade
R2 R3 R4 R5 R6 R7 R8
Components
A
Jade 0 19 30 3 12 33 28
Jadex 0 19 37 4 16 36 32
OA 1 18 31 5 13 32 25
M
Jade 2 5 7 2 4 6 4
Jadex 2 5 6 3 4 6 3
OA 0 4 3 0 3 5 4
Operações
A
Jade 2 97 154 13 49 264 112
Jadex 2 97 85 4 41 252 101
OA 4 96 163 16 52 264 111
M
Jade 2 1 3 3 2 1 1
Jadex 2 1 3 2 1 1 0
OA 0 0 0 0 0 0 1
PointcutsA OA 3 10 7 3 3 1 11
M OA 0 0 0 0 0 0 0
Linhas de Código
A
Jade 17 872 1656 226 575 2105 1265
Jadex 17 872 1894 302 863 2258 1380
OA 29 835 1652 255 623 2080 1189
M
Jade 0 8 1 1 0 1 1
Jadex 0 8 1 0 0 0 1
OA 0 1 0 0 0 0 1
Features Alternativas
41camila © LES/PUC-Rio
Análise da Modularidade (Multi-Releases)
• Feature Obrigatória adicionada na R2
– Importar Eventos
• Implementação OA foi mais efetiva
Importar Eventos
0
0,5
1
1,5
2
2,5
1 2 3 4 5 6 7 8
Releases
Dif
usã
o d
o C
on
cern
po
r C
om
po
nen
tes
(CD
C)
Jadex
Jade
AspectJ
0
2
4
6
8
10
12
1 2 3 4 5 6 7 8
Releases
Dif
usã
o d
o C
on
cern
po
r L
OC
(C
DL
OC
)
42camila © LES/PUC-Rio
Projeto OO da LP-SMA OLIS
43camila © LES/PUC-Rio
Projeto OA da LP-SMA OLIS
44camila © LES/PUC-Rio
Análise da Modularidade (Multi-Releases)
Eventos Acadêmicos
0
5
10
15
20
25
1 2 3 4 5 6 7 8
Releases
Dif
usão
do
Co
ncern
po
r
Co
mp
on
en
tes (
CD
C)
Jadex
Jade
AspectJ
0
10
20
30
4050
60
70
80
90
100
1 2 3 4 5 6 7 8
Releases
Dif
usã
o d
o C
on
cern
po
r O
per
açõ
es
(CD
O)
• Feature alternativa - Eventos Acadêmicos (R3)
• Mesmos valores para todas as implementações em termos das métricas de CDC e CDO– Componentes adicionais para todas as implementações
• OO + arquivos de configuração – criação de classes que estendem classes existentes no núcleo da LP-SMA
• AOP – criação de aspectos que afeta cada classe
45camila © LES/PUC-Rio
Análise da Modularidade (Multi-Releases)
• Feature opcional - Sugestão de Eventos (R4)
• Implementação Jadex exibiu mais componentes (CDC)
– Inclusão de muitos planos (classes Java) e arquivos XML para gerenciar estes planos
Sugestão de Eventos
0
5
10
15
20
25
30
35
40
45
1 2 3 4 5 6 7 8
Releases
Dif
us
ão
do
Co
nc
ern
po
r C
om
po
ne
nte
s
(CD
C)
0
20
40
60
80
100
120
140
160
180
1 2 3 4 5 6 7 8
Releases
Difu
são
do C
once
rn p
or O
pera
ções
(CD
O)
Jadex
Jade
AspectJ
46camila © LES/PUC-Rio
Ameaças à Validação da Análise
• Validade de Conclusão– Tamanho da LP-SMA– Aplicação do teste estatístico
• Validade de Construção– Conjunto de métricas utilizadas
• Métricas de concern aplicadas manualmente
– Algumas métricas foram coletadas automaticamente • Validade Interna
– Regras de alinhamento (projeto)– Utilizado os mesmos padrões para todas as versões
• Validade Externa – Natureza dos experimentos escolhidos– Necessidade de novos experimentos para generalização
dos resultados
47camila © LES/PUC-Rio
Discussões
• Implementação de Papéis– Inclusão de novos papéis nas releases da LP-SMA OLIS
• Melhores resultados na implementação Jadex
» CDO, CDC e número de atributos
– Uma boa estrutura infra-estrutura pode prover abstrações chaves para os desenvolvedores
• Plataforma Jadex
– A estrutura do framework OO pode ser enriquecida com técnicas de POA (entrelaçamento de papéis)
• Modularização de features alternativas– Inclusão de features alternativas na LP-SMA OLIS ocorreu nas
R3 e R8
– JADE foi melhor para a métrica CDC, Jadex para a métrica CDO e número de atributos e AO para métrica CDLOC
– Jade e Jadex OO são mais adequados
48camila © LES/PUC-Rio
Discussões
• Estabilidade das Implementações
– Jade-OA
• LOC, CDLOC e operações modificadas
• Mudanças em componentes não relacionados
– Jadex
• Menos operações adicionadas
• Jade com técnicas de compilação condicional
– Mudanças feitas diretamente nos componentes
• Arquivos de Configuração
– Aumento no número de componentes e operações
• Manutenibilidade X Tamanho do Sistema
49camila © LES/PUC-Rio
Discussões
• Evolução das LP-SMA com POA– Implementação dos agentes
– Implementação dos papéis
– Integração dos agentes no sistema
– Padrões com POA
– Mais aderente ao princípio Open-Closed
• Gerenciamento das Features– Inclusão das features
• Solução OA– Aumento no número de novos componentes na solução AO
– LP-SMA do EC são: inclusão dos agentes de usuário e agente notificador
– Redução do entrelaçamento
• Solução com arquivos de configuração– Maior número de componentes e linhas de código
50camila © LES/PUC-Rio
Discussões
• Modularidade das Implementações– Benefícios de algumas implementações
– Primeiramente, aplicação do teste Kolmogorov-Smirnov
– Aplicação do teste estatistico não parametrizado Kruskal-Wallis
• O teste foi aplicado com um nível de significância de =0.025, o que significa que o resultado é tratado com um grau de confiança de 97,5%
• Demonstrou que as três versões têm o mesmo grau de modularidade e manutenibilidade (Hipótese Nula)
– Projeto OO bem modularizado com arquivos de configuração Spring
– O uso de JADE com técnicas de POA não foi superior as implementações Jadex e Jade OO
51camila © LES/PUC-Rio
Conclusões
• O trabalho pode ser dividido em três partes:
– Projeto e implementação das LP-SMAs
– Modelagem dos estudos empíricos
– Relato das discussões e lições aprendidas com o estudo
• Comparação de diferentes técnicas de implementação de variabilidades utilizando dois frameworks de SMA (JADE e Jadex).
– Compilação Condicional
– Arquivos de Configuração
– POA
• Conjunto de lições aprendidas relacionadas ao desenvolvimento de features de agência
52camila © LES/PUC-Rio
Publicações
• NUNES, I. O.; NUNES, C.; KULESZA, U.; LUCENA, C. Developing and Evolving a Multi-Agent System Product Line: An Exploratory Study. In: 9th International Workshop on Agent-Oriented Software Engineering (AOSE’08), 2008, Estoril. pp. 177-188.
• NUNES, I. O.; NUNES, C.; KULESZA, U.; LUCENA, C. Developing and Evolving a Multi-Agent System Product Line: An Exploratory Study. In: Agent-Oriented Software Engineering IX: 9th International Workshop, AOSE 2008. Lecture Notes in Computer Science, Springer-Verlag, 2009. To appear.
• NUNES, C.; KULESZA, U.; SANT'ANNA, C.; NUNES, I.; GARCIA, A.; LUCENA, C. Comparing stability of implementation techniques for multi-agent system product lines. In: 13th European Conference on Software Maintenance and Reengineering (CSMR 2009), Kaiserslautern, Germany, pp. 229-232.
• NUNES, C.; KULESZA, U..; SANT'ANNA, C.; NUNES, I.; LUCENA, C. On the Modularity Assessment of Aspect-Oriented Multi-Agent Systems Product Lines: a Quantitative Study. In Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS 2008), 2008. pp. 122-135
Avaliação da Modularidade e Estabilidade de Técnicas de
Implementação para Linhas de Produtos de Sistemas Multi-agentes
Camila Nunes
Orientadores:
Carlos Lucena
Uirá Kulesza
Recommended