29
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

A Component Based Programming Framework for Autonomic Applications

  • Upload
    viet

  • View
    82

  • Download
    0

Embed Size (px)

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

Page 1: A Component Based Programming Framework for Autonomic Applications

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

John OttoWi06 CS 395/495 Autonomic Computing Systems

Page 2: A Component Based Programming Framework for Autonomic Applications

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Page 3: A Component Based Programming Framework for Autonomic Applications

Management: Challenges

Heterogeneous resourcesPhysical location, connectivity methodHardware functionalitySoftware interface

UncertaintyDynamismFailures Incomplete knowledge

Page 4: A Component Based Programming Framework for Autonomic Applications

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

Page 5: A Component Based Programming Framework for Autonomic Applications

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Page 6: A Component Based Programming Framework for Autonomic Applications

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

Page 7: A Component Based Programming Framework for Autonomic Applications

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

Page 8: A Component Based Programming Framework for Autonomic Applications

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Page 9: A Component Based Programming Framework for Autonomic Applications

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

Page 10: A Component Based Programming Framework for Autonomic Applications

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Page 11: A Component Based Programming Framework for Autonomic Applications

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

Page 12: A Component Based Programming Framework for Autonomic Applications

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Page 13: A Component Based Programming Framework for Autonomic Applications

Component Definition

Extends traditional component modelSpecified interfacesContext dependencies

Allows self-managed operation based on rule set and constraints

Interface defined by several ports…

Page 14: A Component Based Programming Framework for Autonomic Applications

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…

Page 15: A Component Based Programming Framework for Autonomic Applications

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

Page 16: A Component Based Programming Framework for Autonomic Applications

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Page 17: A Component Based Programming Framework for Autonomic Applications

Dynamic Composition

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

Page 18: A Component Based Programming Framework for Autonomic Applications

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

Page 19: A Component Based Programming Framework for Autonomic Applications

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

Page 20: A Component Based Programming Framework for Autonomic Applications

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

Page 21: A Component Based Programming Framework for Autonomic Applications

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Page 22: A Component Based Programming Framework for Autonomic Applications

Example Components

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

Page 23: A Component Based Programming Framework for Autonomic Applications

Component Interaction Rules

Page 24: A Component Based Programming Framework for Autonomic Applications

Behavior Rules

Page 25: A Component Based Programming Framework for Autonomic Applications

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Page 26: A Component Based Programming Framework for Autonomic Applications

Requisite Performance Metrics

Page 27: A Component Based Programming Framework for Autonomic Applications

Outline Pervasive wide-area distributed computing

ManagementExisting frameworksAccord

Autonomic Application CharacteristicsApplication ContextComponent DefinitionDynamic Composition

Example: Forest Fire Application Current Project State Final Thoughts

Page 28: A Component Based Programming Framework for Autonomic Applications

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.

Page 29: A Component Based Programming Framework for Autonomic Applications

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

John OttoWi06 CS 395/495 Autonomic Computing Systems