230 likes | 243 Views
Explore ContextUML for developing Context-Aware Web Services, addressing challenges in context modeling and awareness. Learn about the metamodel, atomic and composite contexts, and community context sources.
E N D
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 • 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
Weather Travel planing Currency exchange 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 3 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005
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 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
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
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
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
Context Modeling Context-Awareness Modeling ContextUML: Metamodel(abstract syntax) AtomicContext Service CompositeContext MechanismAssignment 1 * SourceAssignment 1..* * CAMechanism Operation Context CAObject 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
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
Sydney (12/07/05)Temperature: 11°C-17 °C Rainlikelihood: 40% Global Weather Service, http://www.capescience.com/webservices/globalweather 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 11 July 2005, ICMB 2005 10
request 1 selection 2 contexts 5 4 3 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 Weather services community globalWeather forecastedWeather weather4U weatherInfo. 11 July 2005, ICMB 2005 11
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!!! 11 July 2005, ICMB 2005 12 Q. Z. Sheng and B. Benatallah
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
Comply with WSDL (Web Services Description Language) ContextUML: Context-Awareness Modeling Service MechanismAssignment 1 1..* CAMechanism Operation CAObject Context … * 1..* * 1..* input output 0..1 Message ContextBinding ContextTriggering * * part 0..* 1..* 1..* Part ContextConstraint Action 11 July 2005, ICMB 2005 14 Q. Z. Sheng and B. Benatallah
Contexts Preferred attractions: historical sites Language: Chinese Location: Sydney Input Parameters city: string …. Attractions Searching Service 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 11 July 2005, ICMB 2005 15 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 ContextTriggering * * 1..* 1..* ContextConstraint Action 16 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005
ContextUML: Context Triggering (con.) If weather is bad (harsh weather): indoor attractions WeatherTrigger Context triggering harshWeather=true FilterOutdoorActivities Action Context constraint 17 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005
<<conuml.atomicContext>> Location <<conuml.service>> AttractionSearch LocationBinding <<conuml.part>> city city: string <<conuml.contextService>> WhereAmI ASS in ContextUML <<conuml.contextBinding>> <<conuml.atomicContext>> Language <<conuml.operation>> SearchAttractions <<conuml.contextTriggering>> LanguageTrigger 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.mechnismAssignment>> <<conuml.atomicContext>> Rainlikelihood <<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
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 2005 19 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 20 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005
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 Thanks, comments? 21 Q. Z. Sheng and B. Benatallah 11 July 2005, ICMB 2005