contextuml: a modeling language for model-driven development of context-aware web services

23
ContextUML: A Modeling Language for Model-Driven Development of Context-Aware Web Services Quan Z. Sheng and Boualem Benatallah School of Computer Science and Engineering The University of New South Wales (UNSW)

Upload: clark

Post on 06-Feb-2016

44 views

Category:

Documents


0 download

DESCRIPTION

ContextUML: A Modeling Language for Model-Driven Development of Context-Aware Web Services. Quan Z. Sheng and Boualem Benatallah. School of Computer Science and Engineering The University of New South Wales (UNSW). Agenda. Development of Context-Aware Web Service (CAS) : Problem Statements - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

ContextUML: A Modeling Language for Model-Driven Development of

Context-Aware Web Services

Quan Z. Sheng and Boualem Benatallah

School of Computer Science and EngineeringThe University of New South Wales (UNSW)

Page 2: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

Agenda

• Development of Context-Aware Web Service (CAS) : Problem Statements– Contexts and Context-Aware Web Services– CAS Development Challenges

• ContextUML– Context Modeling– Context Awareness Modeling

• Related Work and Future Directions

2 11 July 2005, ICMB 2005Q. Z. Sheng and B. Benatallah

Page 3: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

What Are Contexts

• Many different definitions for contexts – “Any information that can be used to characterize the situation

of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and application themselves” [Dey and Abowd at Georgia Tech.]

11 July 2005, ICMB 20053

• Contexts are application specific

Travel planing

Currency exchange

Weather

Q. Z. Sheng and B. Benatallah

Page 4: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

Context-Aware Web Services (CASs)

• Provide relevant information/services to users using context information

• More friendly, personalized, and intelligent services– restaurant finding service (context-aware vs. non context-aware)

• A promising technology for mobile businesses

Museum/campus guide, driving assistant, lunch assistant….

many more guides and assistants!

4 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005

Page 5: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

Context-Aware Web Service (cont.)An Example CAS

Attractions Searching Service (ASS)

Recommend attractions according to user’s location, weather, language:1) If weather is bad (harsh weather): indoor attractions2) If description is not in preferred lang.: translate to the preferred lang.

Subscribe personal preferences (e.g., preferred attractions, language)

Harsh weather is defined as:temperature>40°C and rainlikelihood>80%

11 July 2005, ICMB 20055

Page 6: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

To Date, CASs Are Still Hard to Build…

• Current Web service standards are not sufficient for describing and handling context information– UDDI, WSDL, SOAP, …

– Many Web service development tools exist (e.g., Java2WSDL), but development of CASs cannot benefit directly from them

• Lack of generic approach for formalizing the CAS development– Contexts management is implemented in an ad-hoc manner

– Heterogeneous and dynamic contexts

– Contexts quality

11 July 2005, ICMB 20056 Q. Z. Sheng and B. Benatallah

Page 7: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

Many Questions…

Attractions searching service

CAS developer

What kinds of contexts? Where to get?What if contexts are unavailable or imperfect?How to make sure the context is the best one?What if contexts with no providers?

How to use contexts in CASs?How to use legacy Web services implementation in CASs?……

11 July 2005, ICMB 20058

Developing CASs is cumbersome and time-consuming, especially when they are complex.

Page 8: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

Agenda

• Development of Context-Aware Web service (CAS) : Problem Statements– Contexts and Context-Aware Web Services– CAS Development Challenges

• ContextUML– Context Modeling– Context Awareness Modeling

• Related Work and Future Directions

11 July 2005, ICMB 2005

Page 9: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

ContextUML: Metamodel(abstract syntax)

Service

Operation

Message

Part

CAObject CAMechanism Context

ContextBinding ContextTriggering

ContextConstraint Action

ContextService ContextServiceCommunity

AtomicContext CompositeContext

input output0..10..1

1

1..*

part0..*

*

*

*

member *

* 1..** 1..**1..*

* *

1..* 1..*

MechanismAssignment

SourceAssignment

Context Modeling

Context-Awareness Modeling11 July 2005, ICMB 2005

ContextSource

8

Page 10: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

ContextUML: Context Modeling

• Context Type– Atomic contexts: low-level

contexts, directly provided by context sources. (e.g., temperature, rainLikelihood)

– Composite contexts: high-level contexts, no direct providers, aggregate multiple atomic or composite contexts (e.g., harshWeather)

Context ContextSource

ContextService ContextServiceCommunity

AtomicContext CompositeContext

*

*

*

member *

* 1..*

SourceAssignment

11 July 2005, ICMB 20059

Q. Z. Sheng and B. Benatallah

Page 11: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

ContextUML: Context Modeling (cont.)

• Context source models the resources from which contexts are retrieved

• Two types context sources: context service and context service community

• Context service: collect, refine, and disseminate context

Global Weather Service, http://www.capescience.com/webservices/globalweather

Sydney (12/07/05) Temperature: 11°C-17 °C

Rainlikelihood: 40%

11 July 2005, ICMB 200510

Page 12: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

ContextUML: Context Modeling (cont.)Context Service Community

• Dynamic provisioning of optimal context information– Aggregate multiple context services, offering a unified

interface, e.g., weather service community

– When invoked, select the most appropriate context service based on a selection policy

globalWeather

weatherInfo.forecastedWeather

weather4U

Weather services community

1 request

2 selection

34

5 contexts

11 July 2005, ICMB 200511

Page 13: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

• The selection can be based on a set of Quality of Context (QoC) parameters– Precision: accuracy of context information (e.g., 10°C ±0.2 )

– RefreshRate: update rate (e.g., every 30 seconds)

– TrustWorthiness: how likely a context is correct. (e.g., good)

– …..

• QoC parameters are crucial to CASs. Imperfection of context information may make CASs misguide users– Attractions searching service might suggest a user to surf at

Bondi Beach, although it is rainy and stormy!!!

11 July 2005, ICMB 200512

ContextUML: Context Modeling (cont.)Context Service Community

Q. Z. Sheng and B. Benatallah

Page 14: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

SCi

ii csScorewcsU )()(

• Scorei(cs) is a criteria scoring function. Given a criteria i of context service cs, returns a score.• SC is the set of the selection criteria (QoC: refresh rate, precision et.al.).• wi is the weight assigned to the criterium i

)}(),....,(),({)( 21 ncsUcsUcsUCU

))(),....,(),(({ 21 ncsUcsUcsUMax

},....,,{ 21 ncscscsC

csm

ContextUML: Context Modeling (cont.)Context Service Community

Utility function:

13

Context services

Scores

Best context service

Page 15: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

ContextUML: Context-Awareness Modeling

Service

Operation

Message

Part

CAObject CAMechanism

ContextBinding ContextTriggering

ContextConstraint Action

input output0..1

1

1..*

part0..*

*1..*

* *

1..* 1..*

MechanismAssignment

Context

* 1..*

Comply with WSDL (Web Services Description Language)

11 July 2005, ICMB 200514 Q. Z. Sheng and B. Benatallah

Page 16: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

ContextUML: Context Binding

• Context binding models the automatic binding of contexts to context-aware objects– Mapping between a context and a context-aware object

– The value of the object is supplied by the value of the context

Attractions Searching Service

city: string….

Preferred attractions: historical sitesLanguage: ChineseLocation: Sydney

Contexts

Input Parameters

11 July 2005, ICMB 200515 Q. Z. Sheng and B. Benatallah

Page 17: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

ContextUML: Context Triggering

• Context triggering models the contextual adaptation where services can be automatically executed or modified based on context information– Context constraint specifies that a certain

context must meet certain condition in order to perform a particular operation

– Context constraints are modeled as predicates. E.g., harshWeather = true; rainLikelihood >= 85%

• Actions must be executed if and only if all the context constraints are evaluated to true

11 July 2005, ICMB 200516

ContextTriggering

ContextConstraint Action

* *

1..* 1..*

Q. Z. Sheng and B. Benatallah

Page 18: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

ContextUML: Context Triggering (con.)

If weather is bad (harsh weather): indoor attractions

WeatherTrigger

harshWeather=true FilterOutdoorActivities

Context triggering

Context constraint Action

11 July 2005, ICMB 200517 Q. Z. Sheng and B. Benatallah

Page 19: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

ASS in ContextUML

<<conuml.atomicContext>>Location

city: string<<conuml.contextService>>WhereAmI

<<conuml.atomicContext>>Language

preferredLanguage: string<<conuml.contextService>>UserProfile

<<conuml.atomicContext>>Temperature

temperature: real<<conuml.contextServiceCommunity>>WeatherServices

<<conuml.atomicContext>>Rainlikelihood

rainlikelihood: real<<conuml.contextServiceCommunity>>WeatherServices

<<conuml.compositeContext>>HarshWeather

harshWeather: boolean

getHarshWeather(temperature: real, rainlikelihood:real):boolean

LocationBinding

<<conuml.part>>city

<<conuml.contextTriggering>>LanguageTrigger

<<conuml.action>>TransformLanguage

<<conuml.contextTriggering>>WeatherTrigger

<<conuml.action>>FilterOutdoorActivities

<<conuml.service>> AttractionSearch

<<conuml.operation>> SearchAttractions

<<conuml.message>> ASSInput

<<conuml.message>>ASSOutput

city: string attractions: Attraction[]

<<xsd.complexType>>Attraction

attractionName: stringdescription: stringdescriptionLanguage: stringlocation: stringmapimage: stringprice: real

<<use>>

{self.harshWeather=true}

{self.preferredLanguage <>Attraction.descriptionLanguage}

<<conuml.contextBinding>>

<<conuml.mechnismAssignment>>

<<conuml.mechnismAssignment>>

The Notation of ContextUML can be found in the paper

Page 20: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

ContextUML: Design Flexibilities

• Separation of context awareness from service components– Ease the development and maintenance of CASs

– Possible to use legacy codes of Web services in developing CASs.

• Context service communities:– More flexible context provisioning

– More robust context provisioning

• Composite context:– More power, any high-level contexts useful in CASs

11 July 2005, ICMB 200519 Q. Z. Sheng and B. Benatallah

Page 21: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

Agenda

• Development of Context-Aware Web service (CAS) : Problem Statements– Contexts and Context-Aware Web Services– CAS Development Challenges

• ContextUML– Context Modeling– Context Awareness Modeling

• Related Work and Future Directions

11 July 2005, ICMB 2005

Page 22: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

Related Work

• Context-aware Web service: Keidl and Kemper (TU München, WWW’04)

• Model-driven Web services development: Skogan , Gronmo, and Solheim (SINTEF, EDOC’04), Baina, Benatallah, Casati, and Toumani, (Uni. of NSW, CAiSE’04), Ceri et.al., (Uni. of Milano, WISEW’03)

Very few research proposals have been presented on model-driven development of context-aware Web services

11 July 2005, ICMB 200520 Q. Z. Sheng and B. Benatallah

Page 23: ContextUML: A Modeling Language  for Model-Driven Development of Context-Aware Web Services

Future Work

• Generate completed, executable implementation of CASs from ContextUML models– BPEL (Business Process Execution language) specifications

• Extend ContextUML to support context-aware composite Web services

• Integrate semantic issues to context services for QoC-based context services selection

11 July 2005, ICMB 200521 Q. Z. Sheng and B. Benatallah