autonomic systems autonomic systems
play

Autonomic Systems Autonomic Systems Autonomic : adaptive : adaptive - PowerPoint PPT Presentation

Autonomic Systems Autonomic Systems Autonomic : adaptive : adaptive Autonomic Self Self- -healing healing: : cluster systems via node restart cluster systems via node restart Self Self- -optimizing: optimizing:


  1. Autonomic Systems Autonomic Systems Autonomic : adaptive : adaptive Autonomic � � Self Self- -healing healing: : � cluster systems via node restart cluster systems via node restart � Self Self- -optimizing: optimizing: � variable encoding schemes for web audio streaming variable encoding schemes for web audio streaming services services � Self Self- -regulating regulating : : � apache web server periodically kills child processes apache web server periodically kills child processes Maintenance : : Maintenance � � expensive expensive, time , time- -consuming consuming I want my availability, but I won’t do it myself I want my availability, but I won’t do it myself Automated maintenance : : Automated maintenance � � Cheaper Cheaper � Quicker response than human Quicker response than human � 24/7 watch, can afford to “forget and leave running” 24/7 watch, can afford to “forget and leave running” Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 1

  2. Items for discussion Items for discussion Can large- -scale, distributed applications be self scale, distributed applications be self- - Can large � healing, self- healing, self -regulating, self regulating, self- -optimizing? optimizing? Important issues with respect to automated Important issues with respect to automated � maintenance of large- maintenance of large -scale, software systems scale, software systems � Harder to build. Focus on reusable components Harder to build. Focus on reusable components � Specify maintenance operations during development Specify maintenance operations during development � Considering maintenance as runtime adaptations Considering maintenance as runtime adaptations � Gracefully handle unfamiliar, exceptional conditions Gracefully handle unfamiliar, exceptional conditions Proposal: design methodology Proposal: design methodology � � Separation of concerns: Separation of concerns: � Application code vs. Application code vs. adaptation mechanisms {decision logic, implementation} adaptation mechanisms {decision logic, implementation} � Introspection: Introspection: � Communicate runtime data to decision logic Communicate runtime data to decision logic � Intercession: Intercession: � Transport reconfiguration code from decision logic Transport reconfiguration code from decision logic Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 2

  3. Build large- -scale systems scale systems Build large with reusable components with reusable components Inherent problem with the development of large- - Inherent problem with the development of large � scale systems scale systems � Hugely complex, unwise for one group of developers Hugely complex, unwise for one group of developers to create the whole thing from scratch to create the whole thing from scratch � Outsource sub Outsource sub- -projects to experts projects to experts vs. vs. license their license their technology technology � Integrate with COTS components: Integrate with COTS components: � Cheaper than to re Cheaper than to re-implement them implement them Software engineering and practicality reasons Software engineering and practicality reasons � � component has already been implemented component has already been implemented � available immediately available immediately � no duplication of effort no duplication of effort � 3 types of software components: 3 types of software components: � COTS COTS � In In-house house � One One-use, specific use, specific-purpose component purpose component Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 3

  4. Component- -based based Component Software Engineering Software Engineering Software component : : Software component � � unit of software that conforms to a component model unit of software that conforms to a component model � e.g. COM+, JavaBeans e.g. COM+, JavaBeans � Defines standards: Defines standards: � Composition: how components are composed together Composition: how components are composed together � Interaction: IDL description of interface elements Interaction: IDL description of interface elements Two stages of CBSE Two stages of CBSE � 1. Component development Component development 1. � No feedback from customer No feedback from customer � No waterfall model with iterations No waterfall model with iterations � Exhibit openness, adaptability, Exhibit openness, adaptability, 2. Integrating component into applications Integrating component into applications 2. � Requirements analysis Requirements analysis � Choose component with required functionality Choose component with required functionality Take it or leave it ... Take it or leave it ... but then go on looking for another implementation but then go on looking for another implementation Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 4

  5. Component- -based based Component Software Engineering – – ii ii Software Engineering Imperfect match in functionality and requirements Imperfect match in functionality and requirements � � “Fixed” contract “Fixed” contract � No means for component evolution No means for component evolution � Active Interfaces [12] Active Interfaces [12] � Adaptation interface. Open policies Adaptation interface. Open policies � Static adaptation of component functionality Static adaptation of component functionality � Interface Incompatibilities Interface Incompatibilities � Granularity of operations and data Granularity of operations and data-types, interaction types, interaction mechanisms, implementation languages mechanisms, implementation languages � Component wrappers Component wrappers � Connectors [14] Connectors [14] � SWIG, JNI, SWIG, JNI, popen(..) popen(..) , , system(..) system(..) Considerations Considerations � � Application builder is Application builder is not not going to re going to re- -implement the implement the component component � Want to maintain encapsulation, information hiding Want to maintain encapsulation, information hiding Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 5

  6. Items for discussion Items for discussion Can large- -scale, distributed applications be self scale, distributed applications be self- - Can large � healing, self- healing, self -regulating, self regulating, self- -optimizing? optimizing? Important issues with respect to automated Important issues with respect to automated � maintenance of large- maintenance of large -scale, software systems scale, software systems � Harder to build. Focus on reusable components Harder to build. Focus on reusable components � Specify maintenance operations during development Specify maintenance operations during development � Considering maintenance as runtime adaptations Considering maintenance as runtime adaptations � Gracefully handle unfamiliar, exceptional conditions Gracefully handle unfamiliar, exceptional conditions Proposal: design methodology Proposal: design methodology � � Separation of concerns: Separation of concerns: � Application code vs. Application code vs. adaptation mechanisms {decision logic, implementation} adaptation mechanisms {decision logic, implementation} � Introspection: Introspection: � Communicate runtime data to decision logic Communicate runtime data to decision logic � Intercession: Intercession: � Transport reconfiguration code from decision logic Transport reconfiguration code from decision logic Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 6

  7. Static modeling of possible Static modeling of possible runtime reconfigurations runtime reconfigurations Runtime adaptation of software Runtime adaptation of software � � Ever Ever- -changing resource availability changing resource availability � Dynamic execution environment Dynamic execution environment Separation of concerns : : Separation of concerns � � application logic vs. adaptation application logic vs. adaptation Granularity of adaptation Granularity of adaptation � � Micro Micro- -level: level: � component developer component developer-enabled mechanism, setting enabled mechanism, setting switches via Active Interfaces [12, 13, 16] switches via Active Interfaces [12, 13, 16] � Medium Medium- -level: level: � change how components interact with the system, change how components interact with the system, modify the interface [13, 14] modify the interface [13, 14] � Macro Macro- -level: level: � phase in/out (groups of) components as part of the phase in/out (groups of) components as part of the dynamic adaptation [13, 14] dynamic adaptation [13, 14] Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 Autonomic Systems ... Gaurav S. Kc ... September 26th, 2002 7

Recommend


More recommend