SelfCon Foil no 1 Variability in Self-Adaptive Systems.

Slides:



Advertisements
Similar presentations
Top-Down Network Design Chapter Nine Developing Network Management Strategies Copyright 2010 Cisco Press & Priscilla Oppenheimer.
Advertisements

SelfCon Foil no 1 Dynamic component systems 1. SelfCon Foil no 2 Pre-structured systems vs. dynamic component systems Pre-structured – emphasis on content.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
SelfCon Foil no 1 Dynamic component systems 2. SelfCon Foil no 2 Fire and burglar alarms Climate control: heating and cooling Power control: minimize.
Distributed Systems Architectures
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
ICT 1 “Putting Context in Context: The Role and Design of Context Management in a Mobility and Adaptation Enabling Middleware” Marius Mikalsen Research.
Technical Architectures
Distributed Systems Architectures
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
Communication in Distributed Systems –Part 2
Lesson 1: Configuring Network Load Balancing
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Distributed Software Engineering To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Univ. Notre Dame, September 25, 2003 Support for Run-Time Adaptation in RAPIDware Philip K. McKinley Software Engineering and Networking Systems Laboratory.
Tufts Wireless Laboratory School Of Engineering Tufts University “Network QoS Management in Cyber-Physical Systems” Nicole Ng 9/16/20151 by Feng Xia, Longhua.
Software Architecture Framework for Ubiquitous Computing Divya ChanneGowda Athrey Joshi.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Chapter 1 Lecture 2 By :Jigar M Pandya WCMP 1. Architecture of Mobile Computing The three tier architecture contains the user interface or the presentation.
Architecting Web Services Unit – II – PART - III.
SelfCon Foil no 1 Self configuring systems - introduction II.
SelfCon Foil no 1 Self configurating systems - a starter Rolv Bræk, Item.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
SelfCon Foil no 1 Design of Self-Adaptive Systems Course introduction 2013 Rolv Bræk, ITEM.
Architectures of distributed systems Fundamental Models
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
Page 1 WWRF Briefing WG2-br2 · Kellerer/Arbanowski · · 03/2005 · WWRF13, Korea Stefan Arbanowski, Olaf Droegehorn, Wolfgang.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
ICT Strategy Intelligent Highways: Endpoint Adapters.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
SelfCon Foil no 1 Self configuring systems - introduction I.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
DESIGN OF SOFTWARE ARCHITECTURE
1 010/02 Aspect-Oriented Interceptors Pattern 1/4/2016 ACP4IS 2003John Zinky BBN Technologies Aspect-Oriented Interceptors Pattern Dynamic Cross-Cutting.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
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.
1 Getting Service Engineering Right Next Generation Service Engineering Making the most of service models Rolv Bræk, Norwegian University of Science and.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
SelfCon Foil no 1 Pre-structured Systems. SelfCon Foil no 2 Pre-structured systems (e.g. SDL systems) Stable (cannot be added or changed dynamically)
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Chapter 1 Characterization of Distributed Systems
Integration of and Third-Generation Wireless Data Networks
Architecting Web Services
Architecting Web Services
Distribution and components
Top-Down Network Design Chapter Nine Developing Network Management Strategies Copyright 2010 Cisco Press & Priscilla Oppenheimer.
Inventory of Distributed Computing Concepts and Web services
Software Defined Networking (SDN)
Mobile Agents.
Inventory of Distributed Computing Concepts
Architectures of distributed systems Fundamental Models
Analysis models and design models
Architectures of distributed systems Fundamental Models
Network Architecture By Dr. Shadi Masadeh 1.
Architectures of distributed systems
Design Yaodong Bi.
Architectures of distributed systems Fundamental Models
Design.
Distributed Systems Architectures
Top-Down Network Design Chapter Nine Developing Network Management Strategies Copyright 2010 Cisco Press & Priscilla Oppenheimer.
Presentation transcript:

SelfCon Foil no 1 Variability in Self-Adaptive Systems

SelfCon Foil no 2 Variability: the heart and soul of Adaptation What may be variable? How to specify variability? When to adapt? How to adapt (=bind variability)? What may be variable? How to specify variability? When to adapt? How to adapt (=bind variability)?

SelfCon Foil no 3 Variability - when Variability - need to be planned at design time – may be bound at: Design time Production time (compile and load) Initialization time Run time Self-configuring: variability + initialization mechanisms Self-adaptive: variability + initialization + run time mechanisms (responding to changes) Dynamic component systems: dynamic life cycle support for components that self-configure and self-adapt: install, configure, start, run and adapt, stop, uninstall. Variability - need to be planned at design time – may be bound at: Design time Production time (compile and load) Initialization time Run time Self-configuring: variability + initialization mechanisms Self-adaptive: variability + initialization + run time mechanisms (responding to changes) Dynamic component systems: dynamic life cycle support for components that self-configure and self-adapt: install, configure, start, run and adapt, stop, uninstall.

SelfCon Foil no 4 Case 1: call handling Key principle: components, dynamic linking and standard interfaces Vast variability in call structures, networks, devices, protocols, services: anticipated, but not enumerated Adaptation to the requirements and context of each call Mobile systems also adapt to moving users: this imply registries and dynamic routing The global network is a dynamic component system! Each node normally not. Key principle: components, dynamic linking and standard interfaces Vast variability in call structures, networks, devices, protocols, services: anticipated, but not enumerated Adaptation to the requirements and context of each call Mobile systems also adapt to moving users: this imply registries and dynamic routing The global network is a dynamic component system! Each node normally not.

SelfCon Foil no 5 Dynamic linking for compositional adaptation Advantages: Enables huge variability in component and role combinations: k+l+m components/roles gives k*l*m combinations Is relatively simple Can be performed as integral part of services Challenges: Roles are not independent and cannot be arbitrarily combined! More run-time combinations may occur than explicitly analyzed at design time! Ensuring interoperability while allowing flexibility: interfaces. Advantages: Enables huge variability in component and role combinations: k+l+m components/roles gives k*l*m combinations Is relatively simple Can be performed as integral part of services Challenges: Roles are not independent and cannot be arbitrarily combined! More run-time combinations may occur than explicitly analyzed at design time! Ensuring interoperability while allowing flexibility: interfaces.

SelfCon Foil no 6 Support needed Addressing and routing mechanisms Name server, registry. Dynamic linking and session initiation Sensing context changes Addressing and routing mechanisms Name server, registry. Dynamic linking and session initiation Sensing context changes

SelfCon Foil no 7 Case 2: Network access in mobile phone Monitoring network availablility Dynamic linking to available network(s) based on policy and preferences Monitoring network availablility Dynamic linking to available network(s) based on policy and preferences

SelfCon Foil no 8 Case 3: Fault tolerance Detect and diagnose errors Reconfigure to mask errors Hot or cold standby Load shared or synchronized Detect and diagnose errors Reconfigure to mask errors Hot or cold standby Load shared or synchronized

SelfCon Foil no 9 Case 4: Load adaptation Monitor load situation Adapt scheduling Adapt queue sizes Adapt timers Drop fresh traffic Distribute load Monitor load situation Adapt scheduling Adapt queue sizes Adapt timers Drop fresh traffic Distribute load

SelfCon Foil no 10 Case 5: security adaptation

SelfCon Foil no 11 Compositional adaptation by replacement and insertion > {when threat level = 0 or location = secure} or {when threat level > 0 or location not secure} Server Pull {when...} UTPA {when...} UoPA {when...} User Pull {when...} using policy rules evaluated by agents upon role requests or

SelfCon Foil no 12 Controlled locally by actors The actors use policies to decide which role to offer when a role is requested (part of the role binding) The actors use policies to decide which role to offer when a role is requested (part of the role binding)

SelfCon Foil no 13 More cases Finding nearby printers – how? Plugging in USB devices – how? Loading applications/components – how to bind to context? Finding nearby printers – how? Plugging in USB devices – how? Loading applications/components – how to bind to context?

SelfCon Foil no 14 find-bind: Static and dynamic linking Find instances (of predefined types) : Identified instances or instance sets; e.g. Doctors, subscribers Identified functionalities/services; e.g. Printers; Map servers Bind by requesting to an allocator or manager Release by notifying the allocator or manager. Requires: Registry to find (map from names to instance sets) Managers/allocators to bind-release (session initiation) Find instances (of predefined types) : Identified instances or instance sets; e.g. Doctors, subscribers Identified functionalities/services; e.g. Printers; Map servers Bind by requesting to an allocator or manager Release by notifying the allocator or manager. Requires: Registry to find (map from names to instance sets) Managers/allocators to bind-release (session initiation) Doctors Doctor Agent[m] Patients Patient Agent[n] Registry Patology: ref Hart: ref.... Object pnp here

SelfCon Foil no 15 Fire and burglar alarms Climate control: heating and cooling Power control: minimize power costs Smart metering (AMS) Access control Assisted living (well-fare technology) Entertainment Cooking Lighting Etc. Fire and burglar alarms Climate control: heating and cooling Power control: minimize power costs Smart metering (AMS) Access control Assisted living (well-fare technology) Entertainment Cooking Lighting Etc. Now let us consider a HNS system

SelfCon Foil no 16 We want as much self adaptation as possible – how? Every device is networked! We want to plug in and out devices: heaters, alarm sensors, panels, power meters, appliances, weather stations,... We want to connect devices with service providing applications We want to (buy and) install applications We want to access external resources and to have remote access Every device is networked! We want to plug in and out devices: heaters, alarm sensors, panels, power meters, appliances, weather stations,... We want to connect devices with service providing applications We want to (buy and) install applications We want to access external resources and to have remote access

SelfCon Foil no 17 Variability dimensions to communicating objects - horizontal to implementation capabilities - vertical to communicating objects - horizontal to implementation capabilities - vertical Server App Term App Protocol Server App RTS Middleware Protocol RTS Middleware Protocol RTS Middleware Term App RTS Middleware Principles: component based design; encapsulation; loose coupling; separation of concerns; layering; metadata Compatibility is required in both dimensions!

SelfCon Foil no 18 Variability: some approaches Dynamic component systems Dynamic linking Software product line approaches Variability languages Feature selection - feature diagrams Versioning and building Parameterization Aspects, crosscutting concerns and weaving Structural alternatives Behavioral alternatives Transformations Goal models, GRL Policies Dynamic component systems Dynamic linking Software product line approaches Variability languages Feature selection - feature diagrams Versioning and building Parameterization Aspects, crosscutting concerns and weaving Structural alternatives Behavioral alternatives Transformations Goal models, GRL Policies

SelfCon Foil no 19 Variability: different levels of abstraction Services: Types of services and features Service compositions Design: Types of design components and data, Instance structures, multiplicities and data values Realization: Types of HW/SW components and platforms QoS mechanisms … Services: Types of services and features Service compositions Design: Types of design components and data, Instance structures, multiplicities and data values Realization: Types of HW/SW components and platforms QoS mechanisms … S1 S3 S2 S1.1S2.1 S3.1S2.2 Services Designs Realization, Execution Self* mechanisms – what and how? Role binding Deployment binding

SelfCon Foil no 20 Our focus Initialization and runtime adaptation mechanisms How to specify in service models and design models How to realize Initialization and runtime adaptation mechanisms How to specify in service models and design models How to realize

SelfCon Foil no 21 Self-adaptive By self adaptive we mean systems and components that configure themselves and dynamically adapt to changing environments with minimal human participation. Different approaches: Pre-structured systems: parameter adaptation and some (limited) compositional adaptation Dynamic component systems: compositional adaptation Autonomic systems: self* By self adaptive we mean systems and components that configure themselves and dynamically adapt to changing environments with minimal human participation. Different approaches: Pre-structured systems: parameter adaptation and some (limited) compositional adaptation Dynamic component systems: compositional adaptation Autonomic systems: self* System Environment