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)------------------ Families(EU) Madam (EU-IST)--- Osiris(EU)---------- Music(EU-IST)------------ Partners: 2 Univ. +1 2 Indep res inst +1 3 SMEs -1 + 3 SMEs 1 Big company +2 (big Telcom) +1 (Public transport) Brussels September 27, 2005 Slide 2
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 3
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 4
Approach Architects, application developers develop - Application reference architecture Design Models - Notation extensions Application use & (UML profile) developers refine - Modeling tool I mplement - Transformation tool Components Types Application & Plans components retrieves Distributed MADAM runtime - Middleware Application Adaptation models instance builds, Middleware builds & - context monitoring maintains adapts - context reasoning & uses provides monitors service to - adaptation reasoning & decision making Context - (re)configuration - application launch needs Distributed and initial adaptation computing noise position battery Mobile user infrastructue Brussels September 27, 2005 Slide 5
Properties and utility Dynamically changing env. Influence Influence Properties Describe Needs Offer Needs Offer Execution Service env Provides Executes Mobile service to in user Utility Brussels September 27, 2005 Slide 6
Conceptual model Interface * * Property Port Entity def type type * * * * implements implements * connected to * has has Property Port Entity annotation * 1 * 1 use * * influence use User use Software environment User * * component entity * * * * influence Resource * use * * * Brussels September 27, 2005 Slide 7
Properties example Property vocabulary haf = no haf = no mem = f(...) mem = 30 Name Value Explanation rsp = 30 rsp = f(nbw) range nbw = ? rsp 1:100 Response time cli o mem 1:100 Amount of memory nbw 1:100 Bandwidth nbw = 70 n app n o haf yes, no Handsfree operation n n lnk usr o srv o utility = ( ( if usr.rsp >= app.rsp then 1 else 1- (app.rsp-usr.rsp)/app.rsp) + ( if ((usr.haf and app.haf) or (!usr.haf and !app.haf) ) then 1 else 0) ) / 2 Brussels September 27, 2005 Slide 8
Adaptable services through component frameworks rsp = Db.rsp haf = UI.haf S type Caching mgr Handfree UI S Impl Normal Caching db UI UI Server Caching Server db mgr db Ctrl Db Ctrl Basic db impl Cache Basic Server client mgr db nbw = Db.nbw = type server client mem = Ui.mem+Ctrl.mem+Db.mem Cache = implementation Basic mgr = alternative implementations of a type = parameterised implementation Brussels September 27, 2005 Slide 9
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 10
Mw architecture - overview Framework Instance Context architecture architecture model model model reconfigure to context change selected variant Context Adaptation 1 3 Configurator manager manager find implementations, derive and evaluate variants 2 Core Brussels September 27, 2005 Slide 11
Mw architecture - plugins Context Config- listener uration Adapt- Context Config- ation mgr urator mgr Context access Iteration Context Context sensor reasoner Planner Component mgmt Resource Instance mgmt mgmt Core Brussels September 27, 2005 Slide 12
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 13
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 14
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 15
Thank you! Questions? More information: www.ist-madam.org Brussels September 27, 2005 Slide 16
Recommend
More recommend