supporting self-adaptation in multi- agent systems
TRANSCRIPT
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)
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", "...")
}
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
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
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
... ... ... ...
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)
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}
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}
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)
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
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})
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
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
Supporting Self-Adaptation in Multi-Agent Systems