An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
Component Oriented Programming 1 Chapter 2 Theory of Components.
Architecture Representation
A Cooperative Approach to Support Software Deployment Using the Software Dock by R. Hall, D. Heimbigner, A. Wolf Sachin Chouksey Ebru Dincel.
Overview of IS Controls, Auditing, and Security Fall 2005.
Chapter 3 Process Models
Software Engineering 1. Software development – the grand view 2. Requirements engineering.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Alternate Software Development Methodologies
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
OASIS Reference Model for Service Oriented Architecture 1.0
SOFTWARE ENGINEERING ONTOLOGY A DEVELOPMENT METHODOLOGY Projects: eLSE & SELBO Iveta Georgieva.
Object-Oriented Analysis and Design
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Software Testing and Quality Assurance
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
System Design and Analysis
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Why Behavioral Wait statement Signal Timing Examples of Behavioral Descriptions –ROM.
Self Adaptive Software
© Copyright Eliyahu Brutman Programming Techniques Course.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
1 Chapter 2 Database Environment. 2 Chapter 2 - Objectives u Purpose of three-level database architecture. u Contents of external, conceptual, and internal.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Introduction to Information System Development.
Chapter 10 Architectural Design
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
1 Chapter 11 Implementation. 2 System implementation issues Acquisition techniques Site implementation tools Content management and updating System changeover.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
ITEC224 Database Programming
An Introduction to Software Architecture
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
 Applied Architectures and Styles Chapter 11, Part 2 Service-Oriented Architectures and Web Services Architectures from Specific Domains Robotics Wireless.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Architecture-based Adaptivity by Amir Taherkordi INF5360: Seminar on Dependable and Adaptive Distributed Systems Department of Informatics.
Agent Model for Interaction with Semantic Web Services Ivo Mihailovic.
Lecture 9: Chapter 9 Architectural Design
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Design Model Lecture p6 T120B pavasario sem.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Atos, Atos and fish symbol, Atos Origin and fish symbol, Atos Consulting, and the fish symbol itself are registered trademarks of Atos Origin SA. June.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
DESIGN PROCESS AND CONCEPTS. Design process s/w design is an iterative process through which requirements are translated into a “blueprint” for constructing.
 System Requirement Specification and System Planning.
Figure 9.8 User Evaluation Form
Part 3 Design What does design mean in different fields?
Chapter 2 Database Environment.
An Introduction to Software Architecture
Service Oriented Architectures (SOA): What Users Need to Know.
Presentation transcript:

An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane

What is Self-adaptive software? “A software that modifies its own behavior in response to the changes in its operating environment such as end-user input, external hardware devices and sensors”

Why Adaptive Software? Software’s original promise: ‘application that retain full plasticity throughout their lifecycle and that are as easy to modify in the field as they are on the drawing board’ High-level programming languages, Object Oriented analysis and design etc falls short of keeping the promise. Self-adaptive software – provides to keep the promise!

What issues to keep in mind? Condition Open-adaptive or Close-adaptive Cost-Effectiveness Frequency Information type and accuracy

Software Adaptation In-The-Large I Goals Develop a comprehensive adaptation methodology that supports the entire range of adaptation process or life-cycle.

Software Adaptation In-The-Large II Adaptation Life-Cycle

Software Adaptation In-The-Large III Important Features of Adaptation Life-Cycle: Change Management (Adaptation Management) - Identify and Specify Changes - Plan Changes - Correctness and Coordination of Changes (Software Agents, Explicit Representation of Environment to deploy) Change Mechanism (Evolution Management) - Approaches (Architectural Based) - Maintain Consistency and Enact Change Plan An Ontology for self-adaptive software

Evolution Management Dynamic Software Architecture - Components, Connectors, and Topology - Reliable Manner with Architectural Formalisms Maintaining Consistency & System Integrity - Facilities for guiding and checking modifications - Manager to coordinate changes Enact Changes - Architecture editor

Dynamic Software Architecture I - Weaves & C2 C2 Hierarchy of concurrent components Service request Broadcast notification Flexible component (no inter-dependent component thread)

Dynamic Software Architecture II - Weaves & C2 Weaves Object as input and output Laws of blind communication Flexible connectors

Dynamic Software Architecture III - Weaves & C2 Similarities between Weaves & C2: Distinguish between components and connectors No restrictions on the granularity of the components or implementation language Asynchronous messages for inter-component communication Component encapsulates functionalities and controls

Maintaining Consistency & System Integrity Need to integrate facilities for guiding and checking modifications Need to provide maintenance for strict correspondence between architectural model and implementation Solution: Architecture Evolution Manager (AEM) Maintain “change transaction” (single, basic, and atomic operation) Maintain consistency between architectural model and executing implementation Reify changes in architectural model Prevent changes from violating architectural constraints.

Enacting Changes Architecture Editor (To construct architectures and describe modifications) Design Wizard (To prevent semantic errors) Modification Interpreter (To interpret change scripts written by AEM)

Adaptation Management Functions Collect Changes Monitors and Evaluates the application and its operational environment Plans Adaptations Deploys change descriptions to running application

Adaptation Management cont Requirement for Self-Adaptive Software Observers Evaluates the behavior of the self-adaptive application and monitors its operating environment. Planners Utilizes the observations to plan adaptive responses. Deployers Enact the responses within the application Requires infrastructure support in the form of “registry” (e.g. Software Dock)

Collecting Observation Embedded Assertions (inline observers) Use of ‘Expectation Agent’ Monitor events that occur outside of Application e.g. availability of network connection, dynamic architectural change Human Observers in cooperation with automated changes

Evaluation and Monitoring Use of Attributed graph grammers

Planning Changes Two distinct forms of planning Observation Planning Which observations are necessary for deciding when and where adaptations are required Classic Planning Problem Adaptation Planning Exactly which adaptations to make and when

Deploying Change Descriptors Use of Mobile Agents

Strength Fine-grain architectural-based approach to supports the entire range of adaptive software OthersCRMERPWorkflow Automation Methodology

Weakness Fine-grain architectural-based approach to supports the entire range of adaptive software. Too Fine-grain??? Domain specific ontology/framework for adaptive software?

Weakness cont. Example: Workflow Automation

Thank You. Question or Comments?