Self Adaptive Software

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
A Cooperative Approach to Support Software Deployment Using the Software Dock by R. Hall, D. Heimbigner, A. Wolf Sachin Chouksey Ebru Dincel.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Basic Concepts Software Architecture Lecture 3.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Design Concepts and Principles
Software Connectors Software Architecture. Importance of Connectors Complex, distributed, multilingual, modern software system functionality and managing.
1 Concurrency Specification. 2 Outline 4 Issues in concurrent systems 4 Programming language support for concurrency 4 Concurrency analysis - A specification.
Architecture-based approach to build adaptive software Presenter Kashif Dar INF5360: Seminar on Dependable and Adaptive Distributed.
M : Model v1 : ViewA c1 : ControllerA v2 : ViewB c2 : ControllerB access An abstract object model propagate.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
Software Testing and Quality Assurance
An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.
Lecture 13 Revision IMS Systems Analysis and Design.
1 Dynamic Assembly, Assessment, Assurance, and Adaptation via Heterogeneous Software Connectors Nenad Medvidovic with Marija Rakic and Barry Boehm University.
7.2 System Development Life Cycle (SDLC)
1 Objective of today’s lesson S oftware engineering occurs as a consequence of a process called system engineering. Instead of concentrating solely on.
Chapter 10: Architectural Design
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
What is it? A mobile robotics system controls a manned or partially manned vehicle-car, submarine, space vehicle | Website for Students.
Chapter 10 Architectural Design
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
3- System modelling An architectural model presents an abstract view of the sub-systems making up a system May include major information flows between.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
An Introduction to Software Architecture
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
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.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Security Architecture and Design Chapter 4 Part 3 Pages 357 to 377.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Quality of System requirements 1 Performance The performance of a Web service and therefore Solution 2 involves the speed that a request can be processed.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Jini Architecture Introduction System Overview An Example.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Software Architectural Views By the end of this lecture, you will be able to: list and describe the views in the 4+1 view model of software architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Overview of SAIP and LSSA. Software Architecture in Practice Provides a set of techniques, not a prescriptive method for architectural design. Based on.
System Design. System Design After analyzing the problem, you must decide how to approach the design. During.
4+1 View Model of Software Architecture
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Systems Architectures System Integration & Architecture.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Guidelines of Business Process Modeling Team: Alejandra Saavedra Andrea Rodriguez Ez Lawrence.
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
OSI Model OSI MODEL.
Runtime Verification of Business Processes
Architecture Concept Documents
Unified Modeling Language
Software Design and Architecture
DEPARTMENT OF COMPUTER SCIENCE
Chapter 1 Introduction(1.1)
John D. McGregor Session 5 Error Modeling
An Introduction to Software Architecture
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
OSI Model OSI MODEL.
PLANNING A SECURE BASELINE INSTALLATION
Presentation transcript:

Self Adaptive Software An Architecture-Based Approach to Self-Adaptive Software - Peyman Oreizy, Michael M. Gorlick, Richard N. Taylor, Dennis Heimbigner, Gregory Johnson, Nenad Medvidovic, Alex Quilici,David S. Rosenblum, and Alexander L. Wolf Presenter : Viral Mehta (vmehta@usc.edu)

Self Adaptive Software “Software that modifies its behavior in response to changes in its operating environment – end user input ,external hardware device and sensors” Eg: Fleet of unmanned air vehicles.

Adaptation and Embedded systems Continuously running Applications Changes in Environment paint of a room. network traffic. Can Serve multiple purpose by changing behavior

Issues for adaptation What Conditions? Open or Closed adaptation Type of autonomy Frequency Cost Effectiveness Information Type and Accuracy

Spectrum of self - adaptability

Software Adaptation in the Large Developing a compressive adaptation methodology that spans adaptation in the small to adaptation in the large, and then develop the technology that support the entire range of adaptations.

Software Adaptation in the Large Life Cycle Change app. s/w.

Evolution Management (lower wheel) Process by which changes are applied, controlled and verified. Entities / Phases: Dynamic software Architectures C2 / Weaves Maintaining consistency and system integrity Architecture evolution manager Enacting changes Editors / Interpreter

Dynamic software Architectures - C2 Components are arranged in a hierarchy Service requested form above components Notifications to components below Flexible Components - do not share a common address space / common thread of control

Dynamic software Architectures - Weaves Object flow centric architecture Object as input – object as output Blind communication

Similarities Weaves / C2 (help adaptation) Distinguishes between components and connectors Neither places restriction on granularity of components Asynchronous communication

Maintaining consistency and System integrity Ongoing adaptations continuously threatens system safety, reliability and correctness Strict correspondence between the architectural model and the executing implementation required. Architecture evolution manager (AEM) changes – single / Transaction Maintains consistency between the architectural model and implementation as changes are applied Prevents changes from violating architectural constraints. eg. Each component has to be connected to a connector

Enacting Changes Architecture editor Design Editor Used to construct architecture and describe modification. Eg. Visio Design Editor critiques as arch is built – prevent semantic errors / ensure min amount of safety Modification interpreter to interpret change scripts

Adaptation Management (upper wheel) Describes the life cycle of adaptive software systems Monitors and evaluates the application and its operating environment Plans adaptation Deploys change description to running application

Collecting observations Embedded assertions (inline observers) resource shortage ,violation of low level constrained Expectation agent responds to the occurrence of event pattern Surrounding events Availability of network connection Human observers

Evaluation and monitoring Inconsistencies can occur when some architectural element behaves in a manner inconsistent with the required behavior or when an elements assumption about its environment becomes invalid Static analysis Attributed graph grammar Dynamic analysis runtime checks using observers

Planning changes Adaptation Planning Observation planning Determines which observations are necessary for deciding when and where adaptations are required. Takes in to account environmental assumptions, expected behaviors, availability of observers, and their costs Adaptation Planning Determines which adaptations to make and when For faster reaction : Predefined solution framework

Deploying change description Change agents Propagate among various sites to make required changes carry with them the new components / connectors coordinated changes at multiple sites

Thank you…. Questions ? Comments?