a framework to test autonomic containers brittany parsons and ronald stevens july 6, 2006 reu...

21
A Framework to Test Autonomic A Framework to Test Autonomic Containers Containers Brittany Parsons and Ronald Stevens Brittany Parsons and Ronald Stevens July 6, 2006 July 6, 2006 REU Sponsored by NSF REU Sponsored by NSF

Upload: marvin-leonard

Post on 03-Jan-2016

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

A Framework to Test Autonomic A Framework to Test Autonomic ContainersContainers

Brittany Parsons and Ronald StevensBrittany Parsons and Ronald Stevens

July 6, 2006July 6, 2006

REU Sponsored by NSFREU Sponsored by NSF

Page 2: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

22

Outline of PresentationOutline of Presentation

1.1. What are we trying to accomplish?What are we trying to accomplish?

2.2. What is an Autonomic Container?What is an Autonomic Container?

3.3. What is the architecture of an Autonomic What is the architecture of an Autonomic Container?Container?

4.4. What testing tools are being used for this What testing tools are being used for this project?project?

5.5. Future WorkFuture Work

Page 3: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

33

1. What are we trying to 1. What are we trying to accomplish?accomplish?

In this project, we are trying to address a In this project, we are trying to address a way to test autonomic systems.way to test autonomic systems.

In order to create an application simple In order to create an application simple enough to test autonomic characteristics, enough to test autonomic characteristics, we have come up with the idea of an we have come up with the idea of an autonomic container.autonomic container.

Page 4: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

44

2. What is an Autonomic Container?2. What is an Autonomic Container?

An Autonomic Container is a data An Autonomic Container is a data structure that can be dynamically changed structure that can be dynamically changed during run time.during run time.

A container a is structure used for object A container a is structure used for object holding or collecting.holding or collecting.

It must contain the four characteristics of It must contain the four characteristics of Autonomic Computing: self healing, self Autonomic Computing: self healing, self protecting, self optimizing, and self protecting, self optimizing, and self configuring.configuring.

Page 5: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

55

Testing within the Autonomic ManagerTesting within the Autonomic Manager

In order to properly test an Autonomic In order to properly test an Autonomic Container, we would like to implement a Container, we would like to implement a test set up in the autonomic element.test set up in the autonomic element.

Taking knowledge already known about Taking knowledge already known about Autonomic Computing, we would like to Autonomic Computing, we would like to add to the existing architecture.add to the existing architecture.

Page 6: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

66

Autonomic Manager

Managed Element

Monitor

Plan

Execute

Analyze

Knowledge

Sensors Effectors

Touchpoint Manager for an Touchpoint Manager for an Autonomic Computing SystemAutonomic Computing System

Page 7: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

77

Autonomic Manager

Managed Element

Monitor

Plan

Execute

Analyze

Knowledge

Sensors Effectors

Touchpoint Manager for an Touchpoint Manager for an Autonomic ContainerAutonomic Container

Test Controller

Page 8: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

88

Autonomic Manager

Managed Element

Monitor

Plan

Execute

Analyze

Knowledge

Sensors Effectors

Touchpoint Manager for an Touchpoint Manager for an Autonomic ContainerAutonomic Container

Test Monitor

Test Controller

Page 9: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

99

Autonomic Manager

Managed Element

Monitor

Plan

Execute

Analyze

Knowledge

Sensors Effectors

Touchpoint Manager for an Touchpoint Manager for an Autonomic ContainerAutonomic Container

Test Monitor

Test Analyzer

Test Controller

Page 10: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

1010

Autonomic Manager

Managed Element

Monitor

Plan

Execute

Analyze

Knowledge

Sensors Effectors

Touchpoint Manager for an Touchpoint Manager for an Autonomic ContainerAutonomic Container

Test Monitor

Test Analyzer Test Planner

Test Controller

Page 11: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

1111

Autonomic Manager

Managed Element

Monitor

Plan

Execute

Analyze

Knowledge

Sensors Effectors

Touchpoint Manager for an Touchpoint Manager for an Autonomic ContainerAutonomic Container

Test Monitor

Test Analyzer Test Planner

Test Executor (Runner)

Test Controller

Page 12: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

1212

Completed Autonomic Container Completed Autonomic Container Touchpoint ManagerTouchpoint Manager

Autonomic Manager

Managed Element

Monitor

Plan

Execute

Analyze

Knowledge

Sensors Effectors

Test Analyzer

Test Monitor

Test Planner

Test ExecutorTest Controller

Page 13: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

1313

3. Architecture of an Autonomic Container3. Architecture of an Autonomic Container

Test Monitor

Managed Element

Application

ME State Info

Test Coordinator GetStateME()

Copy of Managed Element

GetStateME Complete

ME State Info

Test Analyzer

TCO Evaluator

TS Analyzer

State Analyzer

4. Analyze TS()

5. AnalyzeTS Complete

1. InitValidation()

(a), (e)

(a) ME State Info

(b) TCO Policy

(c) TCO Data

(d) Templated Base TC’s (e) Current TS

(f) TSched Policy

Test Planner

TC Generator

Test Scheduler

Test Executer

TC Runner Code Profiler

2. CreateTestPlan()

3. InitTSAnalysis()

6. InitTSAnalysis Complete

updated (e)

Test Repository

7. CreateTestPlan Complete

8. InitTest()

10. Test()11. TestComplete

9.

ProfilingInfo

TCO Data

Page 14: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

1414

Our ContributionOur Contribution

We are in charge of working on the We are in charge of working on the managed element and the test executer.managed element and the test executer.

For the Autonomic Container, we need to For the Autonomic Container, we need to be able to make a copy of the managed be able to make a copy of the managed element that will run parallel to the original element that will run parallel to the original element. element.

During runtime, the copy of the element During runtime, the copy of the element will be tested on and updated as the will be tested on and updated as the original element is updated.original element is updated.

Page 15: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

1515

When a change is requested, the contents When a change is requested, the contents of the managed element copy are of the managed element copy are switched with the original element.switched with the original element.

Page 16: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

1616

Implementation of an Autonomic Implementation of an Autonomic ContainerContainer

In order to implement the Autonomic In order to implement the Autonomic Container, we need a simple application to Container, we need a simple application to run. run.

The simple application we have chosen to The simple application we have chosen to run is a stack.run is a stack.

This stack is a simple data structure This stack is a simple data structure written in Java that contains the functions written in Java that contains the functions push, pop, and resize. push, pop, and resize.

Page 17: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

1717

4. What testing tools are being used for 4. What testing tools are being used for this project?this project?

To test this project we will be using two To test this project we will be using two testing tools. They are JUnit and the testing tools. They are JUnit and the Rational Functional Tester.Rational Functional Tester.

Page 18: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

1818

What is JUnit?What is JUnit?

JUnit is a unit testing framework for Java.JUnit is a unit testing framework for Java. JUnit is part of a family of unit testing JUnit is part of a family of unit testing

frameworks [1]frameworks [1] PyUnit (Python language version)PyUnit (Python language version) fUnit (Fortran language version)fUnit (Fortran language version) CPPUnit (C++ language version)CPPUnit (C++ language version)

Collectively referred to as xUnit Collectively referred to as xUnit frameworks.frameworks.

Page 19: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

1919

What is Rational Functional Tester?What is Rational Functional Tester?

An automated functional and regression An automated functional and regression testing tool for testing and GUI testing tool for testing and GUI development that can be used with Java development that can be used with Java and Microsoft VisualStudio and Microsoft VisualStudio

Can be used with web-based applicationsCan be used with web-based applications

Page 20: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

2020

DemonstrationDemonstration

Page 21: A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF

2121

SourcesSources

[1] Wikipedia – JUnit[1] Wikipedia – JUnithttp://en.wikipedia.org/wiki/JUnithttp://en.wikipedia.org/wiki/JUnit

[2] IBM – Rational Functional Tester[2] IBM – Rational Functional Testerhttp://www-306.ibm.com/software/awdtools/tester/functional/http://www-306.ibm.com/software/awdtools/tester/functional/