nomes teccomm.lesf.puc-rio.br/SoCAgents

Preview:

DESCRIPTION

nomes http://www.teccomm.les.inf.puc-rio.br/SoCAgents. Brasil. Estudos Empíricos - Padrões OO vs. Aspectos -. Sistemas Multi-Agentes - O Domínio -. Padrões GoF. Interação Adaptação Autonomia Colaboração Mobilidade Aprendizagem. Comparação. Comparação. Resultados. Resultados. - PowerPoint PPT Presentation

Citation preview

Aspectos @ PUC-RioPUC-RioPUC-Rio

nomeshttp://www.teccomm.les.inf.puc-rio.br/SoCAgents

BrasilBrasil

Metrics Definition

Concern Diffusion over Components (CDC)

Counts the number of classes and aspects whose main purpose is to contribute to the implementation of a concern and the number of other classes and aspects that access them.

Concern Diffusion over Operations (CDO)

Counts the number of methods and advices whose main purpose is to contribute to the implementation of a concern and the number of other methods and advices that access them.

SoC

Concern Diffusion over LOC (CDLOC)

Counts the number of transition points through lines of code. A transition point is a place in the code where there is a “concern switch”.

Coupling Between Components (CBC)

Counts the number of other classes and aspects to which a class or an aspect is coupled.

Cou

pli

ng

Depth of Inheritance Tree (DIT)

Counts how far down in the inheritance hierarchy a class or aspect is declared.

Coh

esio

n

Lack of Cohesion in Operations (LCOO)

Measures the lack of cohesion of a class or an aspect in terms of the amount of method and advice pairs that do not access the same instance variable.

Lines of Code (LOC) Counts the lines of code. Number of Attributes (NOA) Counts the number of attributes of each class or aspect.

Siz

e

Weighted Operations per Component (WOC)

Counts the number of methods and advices of each class or aspect and the number of its parameters.

getXgetYgetColoraddObserverremoveObservernotifysetXsetYsetColor

PointgetP1getP2getColoraddObserverremoveObservernotifysetP1setP2setColor

Line

FigureElementFigure 1 *

updateDisplay

Screen

update

<<interface>>Observer

addObserverremoveObservernotify

<<interface>>Subject

getXgetYgetColoraddObserverremoveObservernotifysetXsetYsetColor

PointgetXgetYgetColoraddObserverremoveObservernotifysetXsetYsetColor

PointgetP1getP2getColoraddObserverremoveObservernotifysetP1setP2setColor

LinegetP1getP2getColoraddObserverremoveObservernotifysetP1setP2setColor

Line

FigureElementFigure 1 *

updateDisplay

ScreenupdateDisplay

Screen

update

<<interface>>Observer

update

<<interface>>Observer

addObserverremoveObservernotify

<<interface>>Subject

addObserverremoveObservernotify

<<interface>>Subject

Métricas- Avaliação -

Estudos Empíricos- Padrões OO vs. Aspectos -

Abordagem Gerativa

- Ver Poster 12 -

Sistemas Multi-Agentes- O Domínio -

Método para SMAs

Agent

Observable

addLC()removeLC()notifyLC()

LMS

processInformation()getLR()…

LearningComponent

Role

collaboratingAgentscollaborationProtocolgetName()addAgent()removeAgent()…

Chair

paperslearningComponentssubmissionDeadlinereviewDeadlineaddLC()removeLC()notifyLC()distributeProposal()...

Reviewer

JADEAgent

getName()moveAgent()beforeMove()

UserAgent

researchInterestspublicationsreviewslearningComponentsaddPCparticipation()addLC()removeLC()notifyLC()…

Plan

goalagent…clone()execute ()…

CVUpdatePlan

learningComponentsaddLC()removeLC()notifyLC()execute ()updateCV()...

JudgementPlan JudgementReceptionPlan

learningRateprocessInformation()…

TD-Learning

processInformation()getTD()getReward()setReward()…

Strategypattern

learningComponentsaddLC()removeLC()notifyLC()execute ()evaluateResponse()...

– learning-specific members

– methods with some learning code

learning-specific classes

Co

llab

ora

tio

n

Learning

BasicConcerns

public Result judgeProposal(...) { ...lc.processInformation();...

}

Interaction

Observerpattern

Environment

... ...

Agenda

addAppointment()…

PersistentCV

addResearchKW()addPublication()addAward()addConference()…

DSInterface

getUserAnswer()getAnswerTime()… public void addPublication(...){

...sensor.senseEvent();...

}

Effector Sensor

receive()senseEvent()...

send()...

– interaction-specific members

– methods with some interaction code

interaction-specific classes

RevisionProposal

paperdeadlinescurrentPaperInterestproposalEvaluationisAccepted()…getPaperInterest()getEvaluation()…

goalsplanssensorseffectorsaddAgent()sendMsg()receiveMsg()…

Legend:

chairNamepapersToReviewlearningComponentssetChair()addLC()removeLC()notifyLC()returnJudgement()…

learningComponentsaddLC()removeLC()notifyLC()execute ()judgeProposal()emitJudgement()...

Padrões GoF

KnowledgeUpdating

BehaviorAdaptation

Kernel

Services

KnowledgeAdaptation

TravelingMessageReception

Interaction

Adaptation

GoalCreation

ExecutionAutonomy

Autonomy

RoleBinding

CollaborationProtocol

Collaboration

Mobility

Legend:

aspectual component

component

crosscutting interface

normal interface

MessageSending

Agenthood Additional Properties

ExtrinsicKnowledge

Answerer#4

ailabilityPlan

Agent

UserAgent

InformationAgent

InterfaceAgent

MiddleAgent

#2 Evolution and Reuse Scenario

#2

Plan

SearchingPlan

Knowledge

Proposal

AutonomyAutonomy

InteractionInteraction

CollaborationCollaboration

AdaptationAdaptation

EditorEditorContentContentSupplierSupplier

Caller#4

CounterProposal

System Viewpoint

0

10

20

30

40

50

60

70

80

90

100

Per

cen

tag

e

Patterns

Aspects

Answerer#4

ailabilityPlan

Agent

UserAgent

InformationAgent

InterfaceAgent

MiddleAgent

#2 Evolution and Reuse Scenario

#2

Plan

SearchingPlan

Knowledge

Proposal

AutonomyAutonomy

InteractionInteraction

CollaborationCollaboration

AdaptationAdaptation

EditorEditorContentContentSupplierSupplier

Caller#4

CounterProposal

0

2

4

6

8

10

12

14

16

18

20

Observer Subject Mediator Colleague Context Strategy Prototype

Nu

mb

er o

f O

per

atio

ns

Before After Before After Before After Before After Before After Before After Before After

ObserverPattern

MediatorPattern

StrategyPattern

PrototypePattern

-50%

+33%

+67%

+88%

0% 0%0%

+66%

-50%

+33%

+25%-40%

+29%

Nu

mb

ero

f O

per

atio

ns

+25%

AO

OO

50

43

Interação Adaptação Autonomia

Colaboração Mobilidade Aprendizagem

Modularização

Medição Medição

Comparação Comparação

paperInterestevaluation...

getInterest()...

LearningKnowledgeRevisionProposal

reviewerpaperdeadlinesisAccepted()getReviewer()getPaper()…

<< crosscuttinginterface >>

events_()

InformationGathering

<< crosscuttinginterface >>

InformationGathering

<< crosscuttinginterface >>

init()learn()adaptKnowledge()...

Learning

init()learn()getResponse()...

ReviewerLearning TDLearning

processInformation()getTD()getReward()setReward()…

Reviewer

UserAgent

JudgementPlan

execute()judgeProposal()...

LearningComponent

learningRateprocessInformation()...

*

events_()

Automatização Automatização

Auto

mati

zaçã

o

Referências

Refinam

ento

Refinam

ento

- Arquitetura -

- Projeto - - Implementação

-

Resultados Resultados

[1] A. GARCIA, C. SANT'ANNA, C. CHAVEZ, V. SILVA, C. LUCENA, A. STAA. Separation of Concerns in Multi-Agent Systems: An Empirical Study. In: Software Engineering for Multi-Agent Systems II, Springer, LNCS 2940, March 2004, pp. 49-72.

[2] A. GARCIA, C. LUCENA, D. COWAN. Agents in Object-Oriented Software Engineering. Software: Practice & Experience, Elsevier, 34(5): 489 - 521, May 2004.

[3] C. SANT'ANNA, A. GARCIA, C. CHAVEZ, C. LUCENA, A STAA. On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework. Proceedings of 17th Brazilian Symposium on Software Engineering, Manaus, Brazil, October 2003, pp. 19-34.

[4] C. SANT'ANNA, A. GARCIA, U. KULESZA, C. LUCENA, A. STAA. Design Patterns as Aspects: A Quantitative Assessment. Proceedings of the XIX Brazilian Symposium on Software Engineering, Brasília, Brazil, October 2004.

[5] A. GARCIA, U. KULESZA, C. LUCENA. Aspectizing Multi-Agent Systems: From Architecture to Implementation. In: “Software Engineering for Multi-Agent Systems III”, LNCS, Springer, December 2004. (To Appear)

[6] U. KULESZA, A. GARCIA, A. LUCENA, A. STAA. Integrating Generative and Aspect-Oriented Technologies. Proceedings of the XIX Brazilian Symposium on Software Engineering, Brasília, Brazil, October 2004.

Aspectos @ PUC-RioPUC-RioPUC-Rio

Recommended