MADAM Mobility and Adaptation enAbling Middleware Svein - - PowerPoint PPT Presentation

madam mobility and adaptation enabling middleware
SMART_READER_LITE
LIVE PREVIEW

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)------------------


slide-1
SLIDE 1

Brussels September 27, 2005 Slide 1

MADAM Mobility and Adaptation enAbling Middleware

Svein Hallsteinsen SINTEF

slide-2
SLIDE 2

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)

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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)

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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)

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

Brussels September 27, 2005 Slide 16

Thank you!

Questions? More information: www.ist-madam.org