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)
Adaptation Policies Adaptation policies prescribe a set of rules that guide the behavior of system components Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Policy { Condition { ! helloWorldMB.isLoadHigh() } Decision { helloWorldMB.helloWorld() } Policy { Condition { ! helloWorldMB.isLoadHigh() } Decision { helloWorldMB.helloWorld() } Policy { Condition { helloWorldMB.isLoadHigh() } Decision { "High low problem", "...") } Policy { Condition { helloWorldMB.isLoadHigh() } Decision { "High low problem", "...") }
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. Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Helps to avoid wrong configuration. Facilitates the definition of complex adaptation roles IDWNNPI Interpolation Spline VegetationSlopeRain Factors GeoRisc
Working Example I - Self-healing Georisc Input Factors to be analyzed –Different data sources File Data Base Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Slope Factors FileDataBase Rain FileDataBase Vegetation FileDataBase c:\\GeoRisco\\dados\\rain.shp jdbc:mysql://localhost/olis...
Working Example I- public class Rain extends CyclicBehaviour { private GeoRiscAgent geoRiscAgent; private String dataSource =... public class Rain extends CyclicBehaviour { private GeoRiscAgent geoRiscAgent; private String dataSource =... } Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Analyzer Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Factors Rain FileDataBase x Factors Rain FileDataBase Feature Model Reconfiguration “file://c:\\GeoRisco\\dados\\rain.shp“; GenArch Derive a set of Tasks “db://jdbc:mysql://localhost/rain“; Failure(Rain,DataSource)
Working Example II - Self-Optimization Data Interpolation Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio IDWNNPI Interpolation Spline Data Response Time... Data Response Time {10ms} {100MB} {20ms} {1000MB} {25ms} {2000MB} {15ms} {500MB}
Working Example II - Self-Optimization Objective Function –Min(Response Time) –Data >= Limit Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio IDW Interpolation Spline Data Response Time... Data Response Time {10ms} {100MB} {20ms} {1000MB} IDW Interpolation Spline Data Response Time... Data Response Time {10ms} {100MB} {20ms} {1000MB}
Working Example II - public class InterpolationAgent extends Agent { private int responseTime;... public class InterpolationAgent extends Agent { private int responseTime;... } Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Analyzer Objective Function GenArch Derive a set of Tasks Feature Model Reconfiguration IDW Interpolation Spline Data Response Time... Data Response Time {10ms} {100MB} {20ms} {1000MB} IDW Interpolation Spline Data Response Time... Data Response Time {10ms} {100MB} {20ms} {1000MB} iDW Spline Tuning(Interpolation,responseTime)
Approach Overview Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio IDWNNPI Interpolation Spline VegetationSlopeRain Factors GeoRisc 1 Event 2 Analyze and System Reconfiguration Feature Model Reconfiguration IDWNNPI Interpolation Spline VegetationSlopeRain Factors GeoRisc 3 Feature Model Constraint Validation Adaptation selection 4 Structural Constraint Validation 5 Derive a set of Adaptation Tasks 6 System Reconfiguration Interpolation Agent Runtime system Architectural Models
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 Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio - Filter - Best configuration - Debug - Filter - Best configuration - Debug
Supporting Self-Adaptation in Multi- Agent Systems