1 / 29

A Component Based Programming Framework for Autonomic Applications

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

viet
Download Presentation

A Component Based Programming Framework for Autonomic Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Outline • Pervasive wide-area distributed computing • Management • Existing frameworks • Accord • Autonomic Application Characteristics • Application Context • Component Definition • Dynamic Composition • Example: Forest Fire Application • Current Project State • Final Thoughts

  3. Management: Challenges • Heterogeneous resources • Physical location, connectivity method • Hardware functionality • Software interface • Uncertainty • Dynamism • Failures • Incomplete knowledge

  4. 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

  5. Outline • Pervasive wide-area distributed computing • Management • Existing frameworks • Accord • Autonomic Application Characteristics • Application Context • Component Definition • Dynamic Composition • Example: Forest Fire Application • Current Project State • Final Thoughts

  6. Component-based Frameworks • Examples • CORBA – related to Interface Definition Language • CCA – Common Component Architecture • JavaBeans – Java Component Architecture • Pros: separate interface from implementation • Cons: no self-management of components

  7. Service-based Frameworks • Examples • Web services (e.g. XML-RPC?) • Grid service model • Pros: little prior knowledge required • Cons • Rigid behavior, no customization • Grid service model requires reliable accessibility

  8. Outline • Pervasive wide-area distributed computing • Management • Existing frameworks • Accord • Autonomic Application Characteristics • Application Context • Component Definition • Dynamic Composition • Example: Forest Fire Application • Current Project State • Final Thoughts

  9. Accord Programming Framework • Builds on Grid model • Allows definition of • Autonomic components • Their respective behaviors • Interactions between components • Uses dynamic rules, defined at run-time, to organize components

  10. Outline • Pervasive wide-area distributed computing • Management • Existing frameworks • Accord • Autonomic Application Characteristics • Application Context • Component Definition • Dynamic Composition • Example: Forest Fire Application • Current Project State • Final Thoughts

  11. 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

  12. Outline • Pervasive wide-area distributed computing • Management • Existing frameworks • Accord • Autonomic Application Characteristics • Application Context • Component Definition • Dynamic Composition • Example: Forest Fire Application • Current Project State • Final Thoughts

  13. Component Definition • Extends traditional component model • Specified interfaces • Context dependencies • Allows self-managed operation based on rule set and constraints • Interface defined by several ports…

  14. 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…

  15. Operational Port: Rule Types • Behavior rules • Control 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

  16. Outline • Pervasive wide-area distributed computing • Management • Existing frameworks • Accord • Autonomic Application Characteristics • Application Context • Component Definition • Dynamic Composition • Example: Forest Fire Application • Current Project State • Final Thoughts

  17. Dynamic Composition • Run-time assembly of components: • “which components are composed” • “how and when they interact”

  18. Accord: Dynamic Composition • Component creation and registration with AutoMate • Component replacement • New component registration • Old component deactivation (quiescent state) • Allowable because connectivity is not required • State transfer • New component activation

  19. 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

  20. Accord: Dynamic Composition • Creation/Modification/Deletion of interaction rules • Rule agents (autonomic elements) can create new interactions based on application context • Users can adjust rules used by autonomic elements at run-time to change application function without restarting the system

  21. Outline • Pervasive wide-area distributed computing • Management • Existing frameworks • Accord • Autonomic Application Characteristics • Application Context • Component Definition • Dynamic Composition • Example: Forest Fire Application • Current Project State • Final Thoughts

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

  23. Component Interaction Rules

  24. Behavior Rules

  25. Outline • Pervasive wide-area distributed computing • Management • Existing frameworks • Accord • Autonomic Application Characteristics • Application Context • Component Definition • Dynamic Composition • Example: Forest Fire Application • Current Project State • Final Thoughts

  26. Requisite Performance Metrics

  27. Outline • Pervasive wide-area distributed computing • Management • Existing frameworks • Accord • Autonomic Application Characteristics • Application Context • Component Definition • Dynamic Composition • Example: Forest Fire Application • Current Project State • Final Thoughts

  28. 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.

  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

More Related