32
Laboratório de Engenharia de Software JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca [email protected] Wednesday, November 4, 2009

JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca [email protected]

  • Upload
    others

  • View
    24

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services

Baldoino [email protected]

Wednesday, November 4, 2009

Page 2: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

11/03/09 2

Roadmap

• Motivation

• OWL-S

• Model– Class Diagram

• Case Study : – GeoRisc

– Adaptive Personal Web Page

• Related Work

• Conclusion

Wednesday, November 4, 2009

Page 3: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Motivation

• Service-oriented computing (SOC) has taken hold in business in, for instance, the use of shipping services in e-commerce transactions; the aggregation of hotel, car rental, and airline services.

• Therefore, it is necessary to provide techniques to discover, invoke, compose and monitor web services.

• Semantic Web Service (SWS) has been pointed as a way to address these issues.

• Although SWS can solve some of the mentioned issues, the complexity of current systems has directed the software engineering community to look for systems able to adjust or adapt their behavior in response to requirement changes.

3

Wednesday, November 4, 2009

Page 4: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Motivation

• Considering that adaptive agents present properties like: reasoning, learning, autonomy and pro-activity, multi-agent system is a paradigm that fits on these concerns.

• The Java self-Adaptive Agent Framework (JAAF) was proposed.

– It extends the JADE framework;

– It offers support to the implementation of different self-adaptation processes composed of activities that can perform:

• Collect of data;

• Analysis;

• Decisions.

Wednesday, November 4, 2009

Page 5: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Motivation

• The Java self-Adaptive Agent Framework (JAAF)

– It provides reasoning mechanisms based on:

• Rules;

• Cases;

• Genetic Algorithm.

– It offers selection mechanisms based on:

• Utility Function;

• Reputation.

– It provides flexibility to create different plans for self-adaptation.

5

Wednesday, November 4, 2009

Page 6: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

OWL-S

6

Wednesday, November 4, 2009

Page 7: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Framework Model – Class Diagram

Wednesday, November 4, 2009

Page 8: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

JAAF: Collect

• It is responsible for providing mechanisms to collect, aggregate and filter (format) data collected from the application.

• The collect has two sub-activities:

– Sensor: It defines the place where the data should be collected (database, log, etc).

– Format: It defines the format of the collected data.

Wednesday, November 4, 2009

Page 9: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

JAAF: Analyze

• The analyze activity is responsible for providing mechanisms that analyze the data collected in the previous activity in order to detect problems and suggest new solutions.

• This activity gives support to three techniques:

– Rule-based reasoning (forward chaining, backward chaining and fuzzy logic) [12] ;

– Case-based reasoning [8] ;

– Genetic algorithm [11].

Wednesday, November 4, 2009

Page 10: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

JAAF: Decision and Effector

• Decision

– Decision is the activity responsible for deciding which action (or behavior) will be the next one to be executed by the agent, while trying to achieve the goal.

– This activity gives support to two techniques:

• Reputation;

• Utility Function.

• Effector

– It receives the selected action from the Decision activity, and informs the agent the action to be executed.

– When the action is executed, the control loop can be executed again whether any self-adaptation is necessary.

Wednesday, November 4, 2009

Page 11: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

JAAF: Hot-spots and Frozen-spots

• The hot-spots specifically defined in JAAF are:

– Agent (AdaptationAgent class):

• By extending such class and implementing the executedPlan method, it is possible to define different algorithms to execute the plans of an agent.

– Plan of self-adaptation (PlanAdaptation class):

• It is possible to define new control loops (or plans) and the sequence to execute the activities of the control loops. JAAF already provides a default control loop implemented in the ControlLoop class.

Wednesday, November 4, 2009

Page 12: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

JAAF: Hot-spots and Frozen-spots

– Activities (Behaviour class): • It is possible to define new activities to be called by the control

loops by extending the Behaviour class. JAAF already offers four activities (Collect, Analyze, Decision and Effector).

– Sensor (Sensor class):• One can define when and where the data should be collected.

– Format (Format class): • It is possible to define the format of the data to be collected by the

Sensor.

– Selection techniques:• Reputation and Utility Function.

– Intelligent Algorithm module: • JAAF offers three kinds of algorithms: rule-based reasoning

(forward chaining, backward chaining and fuzzy logic), case-based reasoning and genetic algorithm.

Wednesday, November 4, 2009

Page 13: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

GeoRisc

Wednesday, November 4, 2009

Page 14: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

© LES/PUC-Rio

Problema

BR-101 – Rio-Santos

Quitandinha, Petrópolis, Dezembro de 2001

Morin, Petrópolis, Dezembro de 2002

Wednesday, November 4, 2009

Page 15: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

© LES/PUC-Rio

Camadas

Wednesday, November 4, 2009

Page 16: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

© LES/PUC-Rio

Agente de Recomendação

Tipos de análises Modelo Características Dados necessários

Escalas recomendadasEscalas recomendadasEscalas recomendadasTipos de análises Modelo Características Dados necessários

Regional Média Grande

Inventário

Distribuição dos escorregament

os

Análise da distribuição e classificação

3 sim sim sim

InventárioAtividade dos

escorregamentos

Análise das mudanças do padrão temporal

4,5,14,15,16,17 não sim simInventário

Densidade dos escorregament

os

Cálculo da densidade nas unidades de terreno

ou no mapa de isopletas

1,2,3 sim não não

Heurísticos

GeomorfológicaUsa observações de

campo do perito no zoneamento

2,3,4 sim sim sim

Heurísticos

Combinação qualitativa

Perito fornece ponderação de

valores dos mapas

2,3,5,6,7,8,9,10

,12,14,16,18sim sim não

Estatísticas

Bivariada Calcula a importância da combinação de

fatores

2,3,5,6,7,8,9,10

12,14,16,18não sim não

Estatísticas

MultivariadaCalcula a formula de

previsão a partir de uma matriz de

dados

2,3,5,6,7,8,9,10

12,14,16,18não sim não

Determinísticas

Fator de segurançaAplicada a modelos de

hidrologia e estabilidade de

taludes

6,11,12,13,16

20,21,22,23não não sim

• Regras

Wednesday, November 4, 2009

Page 17: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

© LES/PUC-Rio

Regras Iniciais

Geomorfologia

1. Mapeamento de unidades de terreno

2. Unidades e subunidades geomorfológicas

3. Escorregamentos recentes

4. Escorregamentos antigosTopografia

5. Modelo digital do terreno

6. Mapa de declividades

7. Mapa de direção dos taludes

8. Comprimento do talude

9. Concavidade / convexidade

Geotecnia

10. Litologia

11. Pedologia

12. Mapa geológico estrutural

13. Acelerações sísmicas

Uso do Solo

14. Infra-estrutura recente

15. Infra-estrutura antiga

16. Mapa de uso do solo recente

17. Mapa do uso do solo antigo

Hidrologia

18. Drenagem

19. Bacia hidrológica

20. Regime de chuvas

21. Temperatura

22. Evapotranspiração

23. Mapa do Nível de água

Caracterização Escalas Áreas mínimas de estudo

Nacional 1:1.000.000 250.000 km2

Regional 1:100.000 a 1:500.00

0

2.500 a 62.500

km2Média 1:25.000 a

1:50.00056,25 a 625

km2

Grande 1:5.000 a 1:15.000

6,25 a 56,25 km2

Local 1:5.000 e maiores

Wednesday, November 4, 2009

Page 18: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Case Study: Motivation

• Landslides are natural phenomena, which are difficult to predict since they depend on many (unpredicted) factors and on relationships among those factors.

• One of the main challenges faced by specialists is to decide the most appropriate configuration of susceptibility model to generate susceptibility maps (SM).

• In this context, we used the JAAF framework to create a multi-agent system in order to generate a SM that shows the places with landslide risks of Rio de Janeiro, a city in Brazil.

• Each application agent is able to adapt the configuration of its susceptibility model in order to meet the SM that represents the reality.

Wednesday, November 4, 2009

Page 19: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Vision

Wednesday, November 4, 2009

Page 20: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Manager Agent

Wednesday, November 4, 2009

Page 21: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Service Agent

Wednesday, November 4, 2009

Page 22: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Adaptive Personal Web Pages

Wednesday, November 4, 2009

Page 23: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Wednesday, November 4, 2009

Page 24: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Vision

Wednesday, November 4, 2009

Page 25: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Related Works: Rainbow

David Garlan, Shang-Wen Cheng, An-Cheng Huang, Bradley Schmerl and Peter Steenkiste. Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure. In IEEE Computer, Vol. 37(10), October 2004.

Wednesday, November 4, 2009

Page 26: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Related Works: A framework for Dynamic Adaptation of Power-Aware Server Clusters

PETRUCCI, V. ; LOQUES, O. ; Mossé, D. A framework for dynamic adaptation of power-aware server clusters. In: 24th ACM Symposium on Applied Computing, 2009, Honolulu, Hawaii, USA. SAC '09: Proceedings of the 24th ACM Symposium on Applied Computing. New York, NY, USA : ACM, 2009. p. 1034-1039.

Wednesday, November 4, 2009

Page 27: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Related Works: DySOA

Bosloper, I.; Silgee, J.; Nijhuis, J. and Hammer, D., 2005, Creating Self-Adaptive Service Systems with DySOA , Proceedings of the Third European Conference on Web Services.

Wednesday, November 4, 2009

Page 28: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Related Works: DySOA

Poggi, A.; Tomaiuolo, M. and Turci, P., 2007, An Agent-Based Service Oriented Architecture, Agenti e Industria: Applicazioni tecnologiche degli agenti software.

Wednesday, November 4, 2009

Page 29: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Conclusion and Future Works

• New control-loops of self-adaptation

• Safe Adaptation

– Norms

• Software Test and Metrics

Wednesday, November 4, 2009

Page 30: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Reference

1. S. Dobson, S. Denazis, A. Fernández, D. Gaiti, E. Gelenbe, F. Massacci, P. Nixon, F. Saffre, N. Schmidt, and F. Zambonelli. A survey of autonomic communications. ACM Transactions Autonomous Adaptive Systems (TAAS), 1(2):223-259, December 2006.

2. David Garlan, Shang-Wen Cheng, An-Cheng Huang, Bradley Schmerl and Peter Steenkiste. Rainbow: Architecture-Based Self Adaptation with Reusable Infrastructure. In IEEE Computer, Vol. 37(10), October 2004.

3. Kaiser, G.; Parekh, J.; Gross, P. and Valetto, G. Kinesthetics eXtreme: An external infrastructure for monitoring distributed legacy systems. In Proceedings of the Autonomic Computing Workshop at the5th Annual International Workshop on Active Middleware Services (AMS), 2003.

4. Bigus, J. P.; Schlosnagle, D. A., Pilgrim, J. R.; et. al..ABLE: A toolkit for building multiagent autonomic systems. IBM Syst. J. 41, 3, 350–371, 2002.

5. Jennings, N. R. and Wooldridge, “M. Agent-oriented software engineering,” In Bradshaw, J. (Ed.) Handbook of Agent Technology, AAAI/MIT Press, 2000.

6. Wooldridge, M. and Jennings, “N. R. Pitfalls of agent-oriented development,” Proceedings of the Second International Conference on Autonomous Agents (Agents'98), ACM Press, pp. 385-391, 1998.

Wednesday, November 4, 2009

Page 31: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

Reference

1. Huebscher, M. C. and McCann, J. A. A survey of Autonomic Computing—Degrees, Models, and Applications. ACM Computing Survey, August 2008.

2. A. Amodt and E. Plaza. Case-based reasoning: Foundational issues, methodological variations, and system approaches. In AI Communications, volume 7:1, pages 39–59. IOS Press, March 1994.

3. Melanie Mitchell, An Introduction to Genetic Algorithms (Complex Adaptive Systems), The MIT Press, February 6, 1998.

4. Costa, A., Lucena, C. J. P.; Silva, V., Cowan, D.; Alencar, P., A Hybrid Diagnostic-Recommendation System for Agent Execution in Multi-Agent Systems, ICSOFT 2008 – 3rd International Conference on Software and Data Technologies, Porto, Portugal, July 2008.

Wednesday, November 4, 2009

Page 32: JAAF: A Framework to Implement Self-Adaptive Agents Able ...€¦ · e JAAF: A Framework to Implement Self-Adaptive Agents Able to Deal with Web Services Baldoino Fonseca baldoino.fonseca@gmail.com

La

bo

rató

rio

de

En

ge

nh

ari

a d

e S

oft

wa

re

The End!!

Questions?

Wednesday, November 4, 2009