Java Autonomic Agent Framework with Self-Testing Andrew Diniz da Costa Camila Nunes...
-
Upload
madeline-mclean -
Category
Documents
-
view
213 -
download
1
Transcript of Java Autonomic Agent Framework with Self-Testing Andrew Diniz da Costa Camila Nunes...
Java Autonomic Agent Framework with Self-Testing
Andrew Diniz da Costa
Camila Nunes
2© LES/PUC-Rio
Roadmap
• Motivation
• Related Works
• Proposal
• Challenges
• Conclusions
3© LES/PUC-Rio
Motivation
• Many strategies have been proposed to address the problems associated with managing increasingly complex computing systems.
• IBM’s Autonomic Computing (AC) paradigm is one such strategy
• Researchers have been heavily investigating many areas of AC systems but there remains a lack of development in the area of testing these systems at runtime.
4© LES/PUC-Rio
Motivation
• Dynamic self-configuration, self-healing, self-optimizing, and self-protecting features of autonomic systems require that validation be an integral part of these types of systems.
• Some works revealed that one of the most dormant areas of AC research is the dynamic validation of these self-managing systems.
– Quality of service
– Trust of self-adaptation
5© LES/PUC-Rio
Motivation
• There were not works found that apply self-test with SMA frameworks.
• Offer support to apply self-test in agents of software
• Define new control-loops with test.
6© LES/PUC-Rio
Related Work (1)
• The control loop is defined as:– Monitoring mechanisms– Diagnosis mechanisms– Adaptation strategies
• A prototype implementation consists of a pre-processing and a generation step.
• Pre-processing test:– Identify possible integration problems– Generate test cases for revealing integration problems– Design suitable recovery actions
• Applications– World-Weather– Virtual-Store– Personal-Mobility-Manager (PMM)
Denaro, G., Pezze, M., and Tosi, D. 2007. Designing Self-Adaptive Service-Oriented Applications. InProceedings of the Fourth international Conference on Autonomic Computing (June 11 - 15, 2007).International Conference on Autonomic Computing. IEEE Computer Society, Washington, DC.
7© LES/PUC-Rio
Related Work (1)
Application Service Mismatches Test Cases Adapters
World-Weather 1 1 1 1
Virtual-store 3 11 24 11
PMM 7 24 66 24
8© LES/PUC-Rio
Related Work (2)
• Propose a methodology for testing AC System using copies of managed resources
Stevens, R., Parsons, B., and King, T. M. 2007. A self-testing autonomic container. In Proceedings of the
45th Annual Southeast Regional Conference (Winston-Salem, North Carolina, March 23 - 24, 2007). ACM-
SE 45. ACM, New York, NY, 1-6.
9© LES/PUC-Rio
Related Work (3)
• Metrics and Evaluation
– Quality of Service (QoS)
– Cost
– Granularity and Flexibility
– Failure avoidance
– Degree of Autonomy
– Time to adapt and reaction time
– Stabilization
• These metrics are more general than other
Evaluation Issues in Autonomic Computing. International Workshop on Agents and Autonomic Computing
and Grid Enabled Virtual Organizations (AAC-GEVO’2004). LNCS.
10© LES/PUC-Rio
Proposal
• Extend the JAAF to apply self-testing.
• Define an activity of Test that can be used in different control loops.
• Propose a new control loop.
• Define attributes of quality.
• The framework offers support to:– Define which test cases to execute
• Integration with JUnit, RFT
– Input data (pool)
– Execution of the test cases
– Output data (log)
– Decide what to do
• Measurement
11© LES/PUC-Rio
New Control Loop
Collect Data
Format
Collect
Analyze
Effector
Self-AdaptationLayer
Decision
Tester
Selection of test cases
Data for testing(quality of service)
Execution
Output Log
(1)
(2)
(3)QSDLTDL
12© LES/PUC-Rio
“Selection of Test Cases” Activity
• Test Definition Language (TDL)
<testcases><setTestCase version=“1.0” type=“JUnit” context=“travel” priority=“1”>
<testcase classname=“SumUnit.class” priority=“1”><testcase classname=“MultUnit.class” priority=“2”><testcase classname=“DivUnit.class” priority=“3”>
</setTestCase><setTestCase version=“1.0” type=“RFT” context=“travel” priority= “2”>
<testcase classname=“reportRFT.class” priority=“1”><testcase classname=“warningRFT.class” priority=“2”><testcase classname=“printRFT.class” priority=“3”>
</setTestCase>
...</testcases>
TDL file
13© LES/PUC-Rio
“Data for Testing” Activity
• Quality of Service Definition Language (QSDL file)
<contexts><context version=“1.0” name=“travel”>
<data name=“cost” value=“2000”><data name=“flexible” value=“String”><data name=“complexity” value=“3”>
</context><context version=“2.0” name=“travel”>
<data name=“cost” value=“1000”><data name=“flexible” value=“Double”><data name=“complexity” value=“2”>
</context>
...</contexts>
QSDL file
14© LES/PUC-Rio
Class Diagram
15© LES/PUC-Rio
Case Study
• Virtual Market Place
• Using OWL-S
• Searching a domain more real
16© LES/PUC-Rio
Challenges
• Measurement in control loops*
– Impact of the adaptation
• Norms with self-testing
• Reputation with self-testing
17© LES/PUC-Rio
Conclusion
• Self-testing is an area without a lot of works.
• Interactions within our testing framework by implementing the self-management characteristics such as self-healing, self-protection and self-optimization.
• Investigate the use of safe adaptation methods.
The End