A Component Based Programming Framework for Autonomic Applications

Preview:

DESCRIPTION

A Component Based Programming Framework for Autonomic Applications. Hua Liu, Manish Parashar, and Salim Hariri ICAC ‘04 John Otto Wi06 CS 395/495 Autonomic Computing Systems. Outline. Pervasive wide-area distributed computing Management Existing frameworks Accord - PowerPoint PPT Presentation

Citation preview

A Component Based Programming Framework for Autonomic ApplicationsHua Liu, Manish Parashar, and Salim HaririICAC ‘04

John OttoWi06 CS 395/495 Autonomic Computing Systems

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Management: Challenges

Heterogeneous resourcesPhysical location, connectivity methodHardware functionalitySoftware interface

UncertaintyDynamismFailures Incomplete knowledge

Management: Requirements

Separation of interface definition from implementation

Separation of application computation from component interactions

On-the-fly interaction programmability Self-monitoring and resource adaptation to

changing application demands and system state

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Component-based Frameworks

ExamplesCORBA – related to Interface Definition

LanguageCCA – Common Component ArchitectureJavaBeans – Java Component Architecture

Pros: separate interface from implementation

Cons: no self-management of components

Service-based Frameworks

ExamplesWeb services (e.g. XML-RPC?)Grid service model

Pros: little prior knowledge required Cons

Rigid behavior, no customizationGrid service model requires reliable

accessibility

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Accord Programming Framework

Builds on Grid model Allows definition of

Autonomic componentsTheir respective behaviors Interactions between components

Uses dynamic rules, defined at run-time, to organize components

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Application Context

Define “common syntax and semantics”Allows definition of rules governing

component interactions Extends CCA and OGSA (Open Grid

Services Architecture)uses existing mechanisms for defining context

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Component Definition

Extends traditional component modelSpecified interfacesContext dependencies

Allows self-managed operation based on rule set and constraints

Interface defined by several ports…

Port-based Interface

Functional port Defines inputs and outputs

Control port Sensors and actuator interfaces for controlling and

gaining state information about a component Operational port

Rule definition interface governing actions under specified conditions

Rule types…

Operational Port: Rule Types

Behavior rulesControl computation, algorithms based on

context and input events Interaction rules

Establish methods and contents of communication between components

Define interaction with environment, autonomic application as a whole

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Dynamic Composition

Run-time assembly of components:“which components are composed”“how and when they interact”

Accord: Dynamic Composition

Component creation and registration with AutoMate

Component replacementNew component registrationOld component deactivation (quiescent state)

Allowable because connectivity is not required

State transferNew component activation

Accord: Dynamic Composition

Addition of components New component creation State injection based on user-defined interaction rules State injection into related components to notify them

of new component availability

Deletion of components Related components delete component from

interaction rules AutoMate cleans up after the deleted component

Accord: Dynamic Composition

Creation/Modification/Deletion of interaction rulesRule agents (autonomic elements) can create

new interactions based on application contextUsers can adjust rules used by autonomic

elements at run-time to change application function without restarting the system

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Example Components

DSM (Data Space Manager) CRM (Computation Resource Manager) Rothermel (Simulates fire spread) WindModel (Simulates wind direction) GUI (Manages user interaction)

Component Interaction Rules

Behavior Rules

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Requisite Performance Metrics

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Questions and Thoughts

Simply a component-based distributed application architecture, where some components measure system state and send control messages to other components—is this really innovative?

What is the interface language, specifically?

Demonstrates the necessary components for an autonomic framework, but I’m not convinced that it’s either innovative or robust.

A Component Based Programming Framework for Autonomic ApplicationsHua Liu, Manish Parashar, and Salim HaririICAC ‘04

John OttoWi06 CS 395/495 Autonomic Computing Systems

Recommended