contextuml: a modeling language for model-driven development of context-aware web services
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 PresentationTRANSCRIPT
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)
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
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
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
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
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
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.
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
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
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
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
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
• 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
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
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
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
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
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
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
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
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
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
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