Presentation is loading. Please wait.

Presentation is loading. Please wait.

Quan Z. Sheng and Boualem Benatallah

Similar presentations


Presentation on theme: "Quan Z. Sheng and Boualem Benatallah"— Presentation transcript:

1 Quan Z. Sheng and Boualem Benatallah
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)

2 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 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005

3 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.] Contexts are application specific Travel planing Currency exchange Weather 3 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005

4 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

5 Context-Aware Web Service (cont.) An Example CAS
Recommend attractions according to user’s location, weather, language: 1) If weather is bad (harsh weather): indoor attractions 2) 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% Attractions Searching Service (ASS) 5 11 July 2005, ICMB 2005

6 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 6 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005

7 Attractions searching
Many Questions… Attractions searching service 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? CAS developer How to use contexts in CASs? How to use legacy Web services implementation in CASs? …… Developing CASs is cumbersome and time-consuming, especially when they are complex. 8 11 July 2005, ICMB 2005

8 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

9 ContextUML: Metamodel (abstract syntax)
Context Modeling Context-Awareness Modeling Service AtomicContext CompositeContext 1 MechanismAssignment * SourceAssignment 1..* * Operation CAObject CAMechanism Context ContextSource * * 1..* * 1..* 1..* input output 0..1 0..1 Message ContextBinding ContextTriggering ContextService ContextService Community * * part * 0..* 1..* 1..* * member Part ContextConstraint Action 11 July 2005, ICMB 2005 8

10 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) AtomicContext CompositeContext * SourceAssignment * Context ContextSource * 1..* ContextService ContextService Community * * member 11 July 2005, ICMB 2005 9 Q. Z. Sheng and B. Benatallah

11 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, Sydney (12/07/05) Temperature: 11°C-17 °C Rainlikelihood: 40% 10 11 July 2005, ICMB 2005

12 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 1 request 2 selection 5 contexts Weather services community 4 3 globalWeather forecastedWeather weatherInfo. weather4U 11 11 July 2005, ICMB 2005

13 ContextUML: Context Modeling (cont.) Context Service Community
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!!! 12 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005

14 ContextUML: Context Modeling (cont.) Context Service Community
Utility function: 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 Context services Scores Best context service csm 13

15 ContextUML: Context-Awareness Modeling
Comply with WSDL (Web Services Description Language) Service 1 MechanismAssignment 1..* Operation CAObject CAMechanism Context * 1..* 1..* * input output 0..1 Message ContextBinding ContextTriggering * * part 0..* 1..* 1..* Part ContextConstraint Action 14 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005

16 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 sites Language: Chinese Location: Sydney Contexts Input Parameters 15 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005

17 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 ContextTriggering * * 1..* 1..* ContextConstraint Action 16 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005

18 ContextUML: Context Triggering (con.)
If weather is bad (harsh weather): indoor attractions WeatherTrigger Context triggering harshWeather=true FilterOutdoorActivities Context constraint Action 17 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005

19 The Notation of ContextUML can be found in the paper
<<conuml.atomicContext>> Location LocationBinding <<conuml.service>> AttractionSearch <<conuml.part>> city city: string <<conuml.contextService>> WhereAmI <<conuml.contextBinding>> <<conuml.atomicContext>> Language <<conuml.contextTriggering>> LanguageTrigger <<conuml.operation>> SearchAttractions preferredLanguage: string <<conuml.contextService>> UserProfile <<conuml.action>> TransformLanguage <<conuml.atomicContext>> Temperature {self.preferredLanguage <> Attraction.descriptionLanguage} The Notation of ContextUML can be found in the paper <<conuml.message>> ASSInput <<conuml.message>> ASSOutput temperature: real <<conuml.contextServiceCommunity>> WeatherServices city: string attractions: Attraction[] <<conuml.atomicContext>> Rainlikelihood <<conuml.mechnismAssignment>> <<use>> <<conuml.mechnismAssignment>> rainlikelihood: real <<conuml.contextServiceCommunity>> WeatherServices {self.harshWeather=true} <<xsd.complexType>> Attraction <<conuml.contextTriggering>> WeatherTrigger attractionName: string description: string descriptionLanguage: string location: string mapimage: string price: real <<conuml.compositeContext>> HarshWeather <<conuml.action>> FilterOutdoorActivities harshWeather: boolean getHarshWeather(temperature: real, rainlikelihood:real):boolean ASS in ContextUML

20 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 19 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005

21 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

22 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 20 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005

23 Future Work Thanks, comments?
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 Thanks, comments? 21 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005


Download ppt "Quan Z. Sheng and Boualem Benatallah"

Similar presentations


Ads by Google