Software Self-Adaptation A survey of the field “Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates it.

Slides:



Advertisements
Similar presentations
IMA 2.5: Software Architecture and Development Environment Roberto Olivares M.S. Electrical Engineering Vanderbilt University, Spring 2003.
Advertisements

Approaches, Tools, and Applications Islam A. El-Shaarawy Shoubra Faculty of Eng.
Sazalinsyah Razali (syah)‏ Dr. Q. Meng (Supervisor)‏
Agents & Mobile Agents.
50s Computer Software and Software Engineering
The 20th International Conference on Software Engineering and Knowledge Engineering (SEKE2008) Department of Electrical and Computer Engineering
15 th International Conference on Design Theory and Methodology 2-6 September 2003, Chicago, Illinois Intelligent Agents in Design Zbigniew Skolicki Tomasz.
TECHNOLOGY GUIDE 4: Intelligent Systems
4 Intelligent Systems.
Distributed Network and System Management Based on Intelligent and Mobile Agents Jianguo Ding 25/03/2002 DVT-DatenVerarbeitungsTechnik FernUniversität.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
ICT 1 “Putting Context in Context: The Role and Design of Context Management in a Mobility and Adaptation Enabling Middleware” Marius Mikalsen Research.
Chapter 4 DECISION SUPPORT AND ARTIFICIAL INTELLIGENCE
Parallelized Evolution System Onur Soysal, Erkin Bahçeci Erol Şahin Dept. of Computer Engineering Middle East Technical University.
Agent Mediated Grid Services in e-Learning Chun Yan, Miao School of Computer Engineering Nanyang Technological University (NTU) Singapore April,
Dynamic adaptation of parallel codes Toward self-adaptable components for the Grid Françoise André, Jérémy Buisson & Jean-Louis Pazat IRISA / INSA de Rennes.
Quality of Service in IN-home digital networks Alina Albu 23 October 2003.
1 Dr. Frederica Darema Senior Science and Technology Advisor NSF Future Parallel Computing Systems – what to remember from the past RAMP Workshop FCRC.
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 7: Expert Systems and Artificial Intelligence Decision Support.
The future is bright with clouds Hong Zhu Dept of Computing and Communications technology Oxford Brookes University, Oxford OX33 1HX, UK
Intelligent Agents revisited.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Chapter 12: Intelligent Systems in Business
Behavior- Based Approaches Behavior- Based Approaches.
Collaborative Reinforcement Learning Presented by Dr. Ying Lu.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
B.RAMAMURTHY UNIVERSITY AT BUFFALO Introduction to Hardware (& Software) 5/30/2013 Amrita-UB-MSES-CSE
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
Darema Dr. Frederica Darema NSF Dynamic Data Driven Application Systems (Symbiotic Measurement&Simulation Systems) “A new paradigm for application simulations.
CHAPTER 12 ADVANCED INTELLIGENT SYSTEMS © 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
Tufts Wireless Laboratory School Of Engineering Tufts University “Network QoS Management in Cyber-Physical Systems” Nicole Ng 9/16/20151 by Feng Xia, Longhua.
Performance analysis and prediction of physically mobile systems Point view: Computational devices including Mobile phones are expanding. Different infrastructure.
Software Agents: An Overview by Hyacinth S. Nwana and Designing Behaviors for Information Agents by Keith Decker, Anandeep Pannu, Katia Sycara and Mike.
Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach1.
Christian Heinzemann 11. Oktober 2015 Modeling Behavior of Self-Adaptive Systems Seminar Software Quality and Safety.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
© 2007 Pearson Addison-Wesley. All rights reserved 0-1 Spring(2007) Instructor: Qiong Cheng © 2007 Pearson Addison-Wesley. All rights reserved.
Modern Heuristic Optimization Techniques and Potential Applications to Power System Control Mohamed A El-Sharkawi The CIA lab Department of Electrical.
FRE 2672 TFG Self-Organization - 01/07/2004 Engineering Self-Organization in MAS Complex adaptive systems using situated MAS Salima Hassas LIRIS-CNRS Lyon.
Fuzzy Genetic Algorithm
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
Job scheduling algorithm based on Berger model in cloud environment Advances in Engineering Software (2011) Baomin Xu,Chunyan Zhao,Enzhao Hua,Bin Hu 2013/1/251.
D OSHISHA U NIVERSITY 13 November XML-based Genetic Programming Framework: Design Philosophy, Implementation and Applications.
DARPA ITO/MARS Project Update Vanderbilt University A Software Architecture and Tools for Autonomous Robots that Learn on Mission K. Kawamura, M. Wilkes,
Evolving the goal priorities of autonomous agents Adam Campbell* Advisor: Dr. Annie S. Wu* Collaborator: Dr. Randall Shumaker** School of Electrical Engineering.
Bio-Networking: Biology Inspired Approach for Development of Adaptive Network Applications 21 May 2005Ognen Paunovski Bio-Networking: Biology Inspired.
Riga Technical University Department of System Theory and Design Usage of Multi-Agent Paradigm in Multi-Robot Systems Integration Assistant professor Egons.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
Algorithmic, Game-theoretic and Logical Foundations
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Enabling Components Management and Dynamic Execution Semantic.
Multiagent System Katia P. Sycara 일반대학원 GE 랩 성연식.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 3: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014.
Self-Organizing Architectures SOAR 2010 International Conference on Autonomic Computing and Communication, ICAC Washington DC, USA June 7, 2010.
By: Nelson Webster. Algorithm Engineers Algorithm engineers study the effectiveness and efficiency of procedures of solving problems on a computer.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
An Architecture-Centric Approach for Software Engineering with Situated Multiagent Systems PhD Defense Danny Weyns Katholieke Universiteit Leuven October.
Euro-Par, HASTE: An Adaptive Middleware for Supporting Time-Critical Event Handling in Distributed Environments ICAC 2008 Conference June 2 nd,
Control-Theoretic Approaches for Dynamic Information Assurance George Vachtsevanos Georgia Tech Working Meeting U. C. Berkeley February 5, 2003.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
Reconfigurable Computing1 Reconfigurable Computing Part II.
Introduction to Machine Learning, its potential usage in network area,
C.-S. Shieh, EC, KUAS, Taiwan
Dynamic Data Driven Application Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Dynamic Data Driven Application Systems
Jigar.B.Katariya (08291A0531) E.Mahesh (08291A0542)
Speaker: Ao Weng Chon Advisor: Kwang-Cheng Chen
Presentation transcript:

Software Self-Adaptation A survey of the field “Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates it is not accomplishing what the software is intended to do, or when better functionality or performance is possible”. - DARPA Broad Agency Announcement 98/12 - Advisor: Prof. J.P. Sousa Student: Nikolaos Abatzis SWE796 – Spring 2008

SWE Spring ‘082  Introduction  Why change? causes  Change what? effects  Choices, choices …  Are we there yet?

SWE Spring ‘083 need for runtime change  timescale for change  complexity  mobility - we must take account of the environment (embedded systems are majority of systems around ~98%) 1 enabler for change  capability (Moore’s law) 1 Robertson, P., Laddaga, R. and Shrobe, H., Introduction: The First International Workshop on Self- Adaptive Software, Oxford UK 2000

SWE Spring ‘084 Change drives adaptation Causes of change requirements faults resources Self-adaptation self-healing self-optimizing not trivial !

SWE Spring ‘085 Change drives adaptation Causes of change requirements faults resources Self-adaptation self-healing self-optimizing

SWE Spring ‘086 Different focus based on change handled

SWE Spring ‘087  What is a resource? “simple”, i.e. CPU, energy, network bandwidth service, i.e. speech recognition composite service, i.e. speech-to-speech

SWE Spring ‘088 Effects of change  Software parameters (fidelity)  Algorithms, switch the executing code  redeployment of components  Use of resources  Services

SWE Spring ‘089 different models & mechanisms,

SWE Spring ‘0810

SWE Spring ‘0811 process control loops feedback loop Shaw, M., Beyond Objects: A software design paradigm based on process control, in ACM Software Engineering notes, 20(1), January 1995, 27-38

SWE Spring ‘0812 Control loop for self-* systems Autonomic Computing: An architectural blueprint for autonomic computing, IBM, June 2006 (Fourth Ed.).

SWE Spring ‘0813 Adaptation at different levels Autonomic Computing: An architectural blueprint for autonomic computing, IBM, June 2006 (Fourth Ed.).

SWE Spring ‘0814 architecture-based self-adaptation  Model composed of components & connectors Specific to C2, Weaves [Oreizy+, 1999] Architecture is generic, reusable adaptation mechanism [Garlan+, 2004]  Mechanisms for adaptation based on Knowledge, potential to adapt the mechanism itself [Georgas+, 2004] Self-adaptation language, Stitch [Cheng+, 2007] Hierarchical parallel finite state machines (HFSM) [Karsai+, 2001]

SWE Spring ‘0815 architecture of self-adaptation  peer-to-peer, aggregator-escalator-peer, Chain-of-configurators (Chain-of- responsibility pattern, Visitor pattern) [Hawthorn+, 2005]  Evaluation using ABAS [Neti+, 2007]

SWE Spring ‘0816

SWE Spring ‘0817 No model of the system per se  Agent transfers internal state, Port- Based agents [Dixon+,2000]  Use an adaptation automaton to map old process states to new states [Biyani+,2007]  Agents dynamically change commitments which puts them in specific roles, situated (in an environment) multiagent systems (MAS) [Weyns+,2007]

SWE Spring ‘0818 Model of the system  Contained within each runtime component, autonomous [Georgiadis+, 2002]

SWE Spring ‘0819

SWE Spring ‘0820 search solutions – random & centralized control  population-based model  Mechanisms: crossover, mutation, selection, fitness  Genetic algorithms [Whitley, 1994]. Genetic programming, use algorithms to generate programs! [Poli+,2008]  Evolution platform – AVIDA [Golsby+,2007] Generate state diagrams for processing components

SWE Spring ‘0821 compose a solution, distributed  Cell inspired no specific model simple “instructions” local communication  Cell automata [George+, 2002] shows self-healing, very low-level  Cell inspired agents [Nagpal+, 2003] Self-assembly, computational synthesis

SWE Spring ‘0822

SWE Spring ‘0823  Managing a resource at the O/S level conserve energy by adapting the fidelity of the data presented to an application (Odyssey)[Flinn+,1999]  Managing multiple resources Maximize a utility function for a user executing one or more tasks given available resources and their QoS, Environment Manager – Aura [Sousa+,2003] Choice of runtime execution platform, given bandwidth, CPU, memory and energy considerations, tactics – Chroma [Balan+,2003]

SWE Spring ‘0824  Managing multiple users Microeconomics/centralized – auction protocol[Capra+,2003]  everybody wins! Maximize the sum of bids received Microeconomics/distributed – congestion pricing[Neugebauer+,2000]  each user is charged depending on the “scarcity” of the resource requested

SWE Spring ‘0825  Many promising approaches exist, bringing tools from control theory, biology, economics, utility theory, artificial intelligence, etc. Causes of change requirements faults resources Self-adaptation self-healing self-optimizing  System complexity, environment, embedded systems have to deal with change. They need to adapt to it.  Adapting topology, resource usage, fidelity. No on-the-fly application modification, not yet anyways.

SWE Spring ‘0826 Question: Who, what, when, adapts the adapting mechanisms?

SWE Spring ‘0827 Thank You !!! Questions ???