Brussels September 27, 2005 Slide 1
MADAM Mobility and Adaptation enAbling Middleware Svein - - PowerPoint PPT Presentation
MADAM Mobility and Adaptation enAbling Middleware Svein - - PowerPoint PPT Presentation
MADAM Mobility and Adaptation enAbling Middleware Svein Hallsteinsen SINTEF Brussels September 27, 2005 Slide 1 Background 2003 2004 2005 2006 2007 2008 2009 2010 Qua (NF)---------------------- Famous (NF)------------------
Brussels September 27, 2005 Slide 2
Background
Famous (NF)------------------ Families(EU) Qua (NF)---------------------- Madam (EU-IST)--- Osiris(EU)---------- Music(EU-IST)------------
2003 2004 2005 2006 2007 2008 2009 2010
Partners: 2 Univ. 2 Indep res inst 3 SMEs 1 Big company +1 +1
- 1 + 3 SMEs
+2 (big Telcom) +1 (Public transport)
Brussels September 27, 2005 Slide 3
Motivation
- Computing is going mobile, ubiquitous,
service oriented
- Mobile use means dynamic variation in
user needs and available computing and communication resources
- Applications must adapt to such changes
in order to sustain availability, usability and usefulness
Brussels September 27, 2005 Slide 4
Madam Objectives
- Provide support for the development of
applications that adapt dynamically to changes in context (at launch time and during use)
Brussels September 27, 2005 Slide 5
Approach
- Notation extensions
(UML profile)
- Modeling tool
- Transformation tool
- Middleware
- context monitoring
- context reasoning
- adaptation reasoning
& decision making
- (re)configuration
- application launch
and initial adaptation
- Application reference architecture
monitors MADAM Adaptation Middleware Design Models Application components runtime models
Mobile user Architects, application developers
Distributed Application instance builds, maintains & uses retrieves provides service to
position noise Distributed computing infrastructue battery needs
Context
builds & adapts Types & Plans
Application developers
develop
I mplement
use & refine
Components
Brussels September 27, 2005 Slide 6
Properties and utility
Service Provides service to Execution env Dynamically changing env. Mobile user Influence Properties Executes in Influence Offer Needs Needs Offer Describe Utility
Brussels September 27, 2005 Slide 7
Conceptual model
Port type Entity type Port Entity Resource Software component Property def Property annotation User environment entity User implements implements * * * * * * * 1 has * 1 has Interface * * connected to * * use * * use * * influence * * influence * * use * * use
Brussels September 27, 2005 Slide 8
Properties example
Handsfree operation yes, no haf Bandwidth 1:100 nbw Amount of memory 1:100 mem Response time 1:100 rsp Explanation Value range Name utility = ( ( if usr.rsp >= app.rsp then 1 else 1- (app.rsp-usr.rsp)/app.rsp) + ( if ((usr.haf and app.haf)
- r (!usr.haf and !app.haf) ) then 1
else 0) ) / 2 app
- n
n
cli
- usr
haf = no rsp = 30 mem = 30 haf = no rsp = f(nbw) mem = f(...) lnk
- srv
- nbw = 70
n n
nbw = ?
Property vocabulary
Brussels September 27, 2005 Slide 9
Adaptable services through component frameworks
Caching mgr UI Ctrl Db Cache Server db Basic mgr Server db S Impl Caching db Basic db S type Ctrl impl Handfree UI Normal UI Server db Cache Caching mgr Basic mgr = type = alternative implementations
- f a type
= implementation client server client = parameterised implementation
rsp = Db.rsp haf = UI.haf mem = Ui.mem+Ctrl.mem+Db.mem nbw = Db.nbw
Brussels September 27, 2005 Slide 10
Multiple applications
- Common vocabulary of properties
– use OMG std for QoS and FT
- Combined utility function
– weighted sum or product of differences – Weights represent user priorities
Brussels September 27, 2005 Slide 11
Mw architecture - overview
Context manager Configurator 2 Adaptation manager 1 3 Core
context change reconfigure to selected variant find implementations, derive and evaluate variants
Context model Framework architecture model Instance architecture model
Brussels September 27, 2005 Slide 12
Mw architecture - plugins
Adapt- ation mgr Config- urator Context mgr Planner Core Context access Instance mgmt Config- uration Context sensor Context listener Component mgmt Iteration Resource mgmt Context reasoner
Brussels September 27, 2005 Slide 13
Experimentation
- Prototype middleware implementation
(Java CDC/Personal)
- 2 Pilot services developed
- Tested on iPAQ pocket pc with
Windows mobile and Creme JVM
- Useful adaptation demonstrated
- Runtime overhead acceptable
(Mw footprint < 10% of program memory, adaptation time < 1sec)
Brussels September 27, 2005 Slide 14
Challenges
- Modeling variability is not trivial
– Leave to experts? – Learn from product line community – Tool support for testing and tuning – Need not be perfect
- Runtime overhead / Scalability
– Adaptation time grows exponentially with the no of variation points – Pre-runtime processing – Background processing
Brussels September 27, 2005 Slide 15
Challenges
- Context sensing & reasoning
– How to detect significant context changes? – Region maps?
- User in the loop
– How much can we bother the user asking for input? – To which extent does the user want to be involved?
- Distribution
– Centralized vs. decentralized control – Focusing on client side
Brussels September 27, 2005 Slide 16