SelfCon Foil no 1 Variability in Self-Adaptive Systems.
-
Upload
branden-king -
Category
Documents
-
view
214 -
download
0
Transcript of SelfCon Foil no 1 Variability in Self-Adaptive Systems.
![Page 1: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/1.jpg)
SelfConFoil no 1
Variability in Self-Adaptive Systems
![Page 2: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/2.jpg)
SelfConFoil 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)?
![Page 3: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/3.jpg)
SelfConFoil 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.
![Page 4: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/4.jpg)
SelfConFoil 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.
![Page 5: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/5.jpg)
SelfConFoil 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.
![Page 6: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/6.jpg)
SelfConFoil 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
![Page 7: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/7.jpg)
SelfConFoil 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
![Page 8: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/8.jpg)
SelfConFoil 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
![Page 9: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/9.jpg)
SelfConFoil 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
![Page 10: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/10.jpg)
SelfConFoil no 10
Case 5: security adaptation
MMoIP
UserServiceProvider
Request MMoIP
MMoIP Use
END MMoIP
SecureMMoIP (Userpull)
User
AccessControl Server
ServiceProvider
Request MMoIP
Authorization
MMoIP Use
END MMoIP
![Page 11: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/11.jpg)
SelfConFoil no 11
SecureMMoIP (Userpull)
User
AccessControl Server
ServiceProvider
Request MMoIP
Authorization
MMoIP Use
END MMoIP
Compositional adaptation by replacement and insertion
<<replaces>>
MMoIP
UserServiceProvider
Request MMoIP
MMoIP Use
END MMoIP
{when threat level = 0or location = secure}
or
{when threat level > 0orlocation not secure}
Server Pull {when ...}
UTPA {when ...}
UoPA {when ...}
User Pull {when ...}
using policy rules evaluated by agents upon role requests
using policy rules evaluated by agents upon role requests
or
![Page 12: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/12.jpg)
SelfConFoil 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)
<<Actor>>ServiceProvider
MMCall
<<Actor>>UserAgent
RequestMMoIP
TerminalSession
ENDMMoIP
TerminalCall
Authenti-cation
DistributeAuths
Authori-zation
MMoIPUse
RequestMMoIP
Authori-zation
MMoIPUse
ENDMMoIP
![Page 13: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/13.jpg)
SelfConFoil 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?
![Page 14: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/14.jpg)
SelfConFoil 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
DoctorAgent[m]
Patients
PatientAgent[n]
Registry
Patology: refHart: ref....
Object pnp here
![Page 15: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/15.jpg)
SelfConFoil 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
![Page 16: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/16.jpg)
SelfConFoil 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
![Page 17: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/17.jpg)
SelfConFoil no 17
Variability dimensions
• to communicating objects - horizontal
• to implementation capabilities - vertical
• to communicating objects - horizontal
• to implementation capabilities - vertical
Server App Term AppProtocol 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!
![Page 18: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/18.jpg)
SelfConFoil 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
![Page 19: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/19.jpg)
SelfConFoil 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.1 S2.1
S3.1 S2.2
Services
Designs
Realization,Execution
Self* mechanisms – what and how?
Role binding
Deployment binding
![Page 20: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/20.jpg)
SelfConFoil 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
![Page 21: SelfCon Foil no 1 Variability in Self-Adaptive Systems.](https://reader036.fdocuments.us/reader036/viewer/2022070414/5697c0101a28abf838ccb1ac/html5/thumbnails/21.jpg)
SelfConFoil 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