supporting self-adaptation in multi- agent systems

15
Supporting Self-Adaptation in Multi-Agent Systems

Upload: derick-ramsey

Post on 04-Jan-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Supporting Self-Adaptation in Multi- Agent Systems

Supporting Self-Adaptation in Multi-Agent Systems

Page 2: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Autonomic Computing

• Autonomic computing aims at providing systems and applications with self-management capabilities– self-configuration (automatic configuration according

to a specified policy)

– self-optimization (continuous performance monitoring)

– self-healing (detecting defects and failures, and taking corrective actions)

– self-protection (taking preventive measures and defending against malicious attacks)

Page 3: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Adaptation Policies

• Adaptation policies prescribe a set of rules that guide the behavior of system components

Policy { Condition {

! helloWorldMB.isLoadHigh() } Decision {

helloWorldMB.helloWorld() }

Policy { Condition {

helloWorldMB.isLoadHigh() } Decision {

mailSender.sendEmail("[email protected]", "High low problem", "...")

}

Page 4: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Motivation

• Existing techniques mainly focus on defining a priori adaptation policies to manage system components.

• Adaptation polices can be specified using rules languages that they are often hard to write and cumbersome to maintain given their lower level specification and their low connection with the underlying system.

– SPL language

– Rainbow Adapation language

Page 5: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Our Approach

• It uses Feature Model as a language to specify adaptation polices.

• Helps to avoid wrong configuration.

• Facilitates the definition of complex adaptation roles

IDW NN PI

Interpolation

SplineVegetation Slope Rain

Factors

GeoRisc

Page 6: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Working Example I - Self-healing

• Georisc Input Factors to be analyzed– Different data sources

• File

• Data Base

Slope

Factors

File DataBase

Rain

File DataBase

Vegetation

File DataBase

c:\\GeoRisco\\dados\\rain.shp jdbc:mysql://localhost/olis

... ... ... ...

Page 7: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Working Example I- Self-healing

@MBehaviour(ID="Rain",agentName="GeoRiscAgent")

public class Rain extends CyclicBehaviour {

private GeoRiscAgent geoRiscAgent;

private String dataSource =

...

}

Analyzer

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Factors

Rain

File DataBasexFactors

Rain

File DataBase

Feature ModelReconfiguration

“file://c:\\GeoRisco\\dados\\rain.shp“;

GenArch Derive a set of Tasks

“db://jdbc:mysql://localhost/rain“;

Failure(Rain,DataSource)

Page 8: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Working Example II - Self-Optimization

• Data Interpolation

IDW NN PI

Interpolation

Spline

DataResponse

Time

......

DataResponse

Time

{10ms} {100MB} {20ms} {1000MB}

{25ms}

{2000MB}

{15ms}

{500MB}

Page 9: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Working Example II - Self-Optimization

• Objective Function– Min(Response Time)

– Data >= Limit

IDW

Interpolation

Spline

DataResponse

Time

...

DataResponse

Time{10ms} {100MB} {20ms} {1000MB} IDW

Interpolation

Spline

DataResponse

Time

...

DataResponse

Time{10ms} {100MB} {20ms} {1000MB}

Page 10: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Working Example II - Self-Optimization

@MAgent(ID="InperpolationAgent")

public class InterpolationAgent extends Agent {

private int responseTime;

...

}

Analyzer

Objective Function

GenArch Derive a set of Tasks

Feature ModelReconfiguration

IDW

Interpolation

Spline

DataResponse

Time

...

DataResponse

Time

{10ms} {100MB} {20ms} {1000MB}

IDW

Interpolation

Spline

DataResponse

Time

...

DataResponse

Time

{10ms} {100MB} {20ms} {1000MB}

iDW

Spline

Tuning(Interpolation,responseTime)

Page 11: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Approach Overview

IDW NN PI

Interpolation

SplineVegetation Slope Rain

Factors

GeoRisc

1

Event

2Analyze and System

Reconfiguration

Feature Model Reconfiguration

IDW NN PI

Interpolation

SplineVegetation Slope Rain

Factors

GeoRisc

3Feature Model

Constraint Validation

Adaptation selection

4Structural Constraint

Validation

5Derive a set of

Adaptation Tasks

6System

Reconfiguration

Interpolation Agent

Interpolation Agent

Runtime system

Architectural Models

Page 12: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Event-based Feature Reconfiguration

• Events are associated with Features and have a context

– Ev(feature,context)

• Events implies in a set of Reconfiguration Action regulated by a set of conditions

– Ev -> Ra

– Ra -> S({f}) ^ Ds({f})

Page 13: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Contributions

• Reconfiguration actions can be automatically derived using feature model reasoning techniques– Incomplete specification

• Architectural Models enables the definition of complex adaption rules and automatically derivate concrete reconfiguration actions

• Trace links enable deeper analysis of changes:– Impact

– Soundness

– Viability

Page 14: Supporting Self-Adaptation in Multi- Agent Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Contributions

• Reconfiguration actions can be automatically derived using feature model reasoning techniques

- Incomplete specification

• Architectural Models enables the definition of complex adaption rules and automatically derivate concrete reconfiguration actions

• Trace links enable deeper analysis of changes:– Impact

– Soundness

– Viability

- Filter- Best configuration- Debug

Page 15: Supporting Self-Adaptation in Multi- Agent Systems

Supporting Self-Adaptation in Multi-Agent Systems