180 likes | 290 Views
A Passive Influence Model for Adapting Environments based on Semantic Preferences MoreLab – Mobility Research Lab http://www.morelab.deusto.es Juan Ignacio Vazquez, Diego López de Ipiña and IñigoSedano.
E N D
A Passive Influence Model for Adapting Environments based on Semantic PreferencesMoreLab – Mobility Research Labhttp://www.morelab.deusto.esJuan Ignacio Vazquez, Diego López de Ipiña and IñigoSedano CTSB 2006 - International Workshop on Combining Theory and Systems Building in Pervasive Computing(at Pervasive 2006) Dublin, Ireland, 7 May 2006
Motivation • There is an increasing concern about empowering ubiquitous computing environments with more intelligent capabilities: • To reduce user interaction and annoyance about operating the environment • Reactive spaces: the Ambient Intelligence vision • Hypothesis: • Context-awareness seems to be at the heart of this problem. • Automatic environment adaptation to user’s needs would reduce user interaction. • Some form of reasoning would boost up intelligence. • SOAM: Smart Object Awareness and Adaptation Model University of Deusto – MoreLab
Context information • Any environment exposes several kinds of information that can be measured through existing devices: temperature, TV channel, ambient music style and volume, … E = {i1, i2, i3, …, in} • …adopting concrete values at the moment of time t: i1(t) = v1; i2(t) = v2 ; i3(t) = v3 ;…; in(t) = vn E(t) = {i1(t) , i2(t) , i3(t) , …, in(t) } = {v1, v2, v3, …, vn} • In SOAM, the evolution of one concrete kind of environment information depends on its current value, and the influences (constraints) exerted on it: i (t+1) = f ( i (t) , C (i , t) ) = f ( v , C (i, t) ) • For example: C (temperature, t) = {>23ºC, <27ºC, =25ºC} University of Deusto – MoreLab
Context awareness & adaptation • So, the state of the environment at time t+1… E(t+1) = { i1(t+1) , i2(t+1) , i3(t+1) , …, in(t+1) } = {f ( v1 , C(i1, t) ) , f ( v2 , C(i2, t) ) ,…, f ( vn , C(in, t) ) } = F ( E(t), C(E, t) ) • …depends on the current state of the environment and all the influences exerted on it at that moment of time. • Thus, constraints drive environmental adaptation. • In SOAM: • Environment information (context information) is provided by devices • Constraints are processed by devices • Constraints can be expressed at a higher abstraction level in terms of conditional rules: Adaptation Profiles • An entity is context-aware when its behaviour is driven by Adaptation Profiles activated under concrete conditions bounded to context information. University of Deusto – MoreLab
Passive Influence • Within this model, there are no explicit commands or invocations to perform an action on a device like traditional mechanisms (RPC, RMI, SOAP, IIOP, …) Active Influence. • One entity can influence others in the environment by: • Disseminating context information • Disseminating adaptation profiles (desires, suggestions, not orders) • It is what we call Passive Influence (Vazquez EUSAI 2004) • Example: • As the user enters a hotel room, his PDA disseminates its profile, and the room automatically adapts without explicit intervention (temperature, TV channel configuration). • As the users gets into a rented car, his PDA disseminates its body proportions and suitable adjustments are carried out automatically. University of Deusto – MoreLab
Coping with conflict • Passive mechanisms perform quite well in conflictive scenarios since there are not conflicting orders, but available information: • Two people with disjoint temperature preferences the temperature control system decides to set a mid-point between preferred ranges • The environment decides how to adapt and resolve the conflict, since it holds the information to take a proper decision. • Strategies: • An intermediate value • The first wins • The last wins • Depending on privileges or other attributes • … University of Deusto – MoreLab
Issues raised • What information to spread and to whom? • In which way can elements be influenced? • Can reasoning be applied to generate new information? • How long does the influence persists? • What about data representation, protocols, …? University of Deusto – MoreLab
Background research • Some Ubicomp architectures apply web technologies for communication & information exchange: • UPnP – Universal Plug and Play • WSAmI: Web Services for Ambient Inteligence • Semantic Web technologies (RDF, OWL) are used to represent information concepts and relationships, and generating new knowledge from existing one (reasoning). • SW is completely integrated into the web model. • The Web of Knowledge is the next generation web. • The application of SW to UC scenarios has been pioneered in initiatives as Task Computing and CoBrA/SOUPA. University of Deusto – MoreLab
The Pervasive Semantic Web • Our goal is to create Pervasive Semantic Web environments with devices forming a location-constrained web of knowledge, where they exchange semantic information and perform reasoning, in order to react accordingly to every situation. • Context Information is provided by existing devices in the form of RDF using appropriate domain ontologies. • Context-Awareness & Adaptation is performed by devices periodically retrieving every others’ provided context information, reasoning upon it and trying to honour active constraints. University of Deusto – MoreLab
SOAM Basics • SOAM: Smart Objects Awareness and Adaptation Model • A Pervasive Semantic Web model for automatic environment adaptation based on user preferences. • Further or manual control is always permitted • UPnP devices augmented to exchange semantic information. • Basically: • We represent the state of the environment as an RDF Graph (triples) • We represent user preferences as a desired state of the environment (equivalent to RDF triples) under certain conditions (conditional rules) • A special entity, called Orchestrator, tries to change the environment state based on devices’ declared capabilities. University of Deusto – MoreLab
SOAM Architecture • Messages: • Adaptation Profiles • Capabilities • Context Information • Constraints • Entities • Adaptation User-Agent • Smobjects • Orchestrator • Phases: • Discovery • Adaptation-Profiles Injection • Capabilities retrieval • Context Information Retrieval • Reasoning (DL, domain rules) • Constraints injection University of Deusto – MoreLab
Examples • Example 1: • AP: “I would like to listen classical music when I am working with my laptop” • HiFi system’s capabilities: “I can operate on the music domain” • Laptop’s capabilities: “I can perceive who is working with me” • Orchestrator: • Retrieves Context Information (from Laptop) • If preconditions are true • Send to the HiFi system: “play classical music” • Example 2: • AP: “If I am at location x of type HotelRoom, I would like x’s temperature to be 24ºC” • Room: I can perceive my type • Location Control System: I can perceive whether the guest is in. • Temperature control system’s capabilities: I can perceive the temperature of the present location, I can operate the temperature of the present location • Orchestrator: • Retrieves Context Information (from the Room and the Location control system) • If preconditions are true • Send to the TempControlSystem: “set temperature to 24ºC” University of Deusto – MoreLab
Results • Smobjects HW: ARM7-based 55 MHz with μClinux and a Java VM platform, simulating devices (Hi-Fi, TV, lights, temperature control, microphone, …). Small form factor: 7cm x 2cm. • Orchestrator: Pentium-M 1.86 GHz, Jena2 API • Recently migrated to a distributed choreograhic model without central orchestration University of Deusto – MoreLab
Conclusions and Contact • Theory vs Implementation: • Semantic Web was a fine selection • Platform limitations: no orchestrator at every device, power consumption • MoreLab – Mobility Research Lab at the University of Deusto: http://www.morelab.deusto.es • My email: ivazquez@eside.deusto.es Questions? University of Deusto – MoreLab
Examples – Adaptation Profile <adaptationProfile id="urn:uuid:prof2" expires="PT2M"> <variable id="x"/> <variable id="y"/> <precondition id="" predicate="http://www.awareit.com/onto/task#isDoing" subject="urn:uuid:Bob"> <objectResource ref="http://www.awareit.com/onto/task#WorkingWithLaptop"/> </precondition> <precondition id="" predicate="http://www.awareit.com/onto/location#isLocatedIn" subject="urn:uuid:Bob"> <objectVariable ref="x"/> </precondition> <precondition id="" predicate="http://www.awareit.com/onto/sound#hasSound" subject="x"> <objectVariable ref="y"/> </precondition> <postcondition id="" predicate="http://www.awareit.com/onto/sound#volume" subject="y"> <objectLiteral datatype="http://www.w3.org/2001/XMLSchema#int">3</objectLiteral> </postcondition> <postcondition id="" predicate="http://www.awareit.com/onto/sound#style" subject="y"> <objectResource ref="http://www.awareit.com/onto/sound#ClassicalMusic"/> </postcondition> </adaptationProfile> University of Deusto – MoreLab
Examples – Capabilities <capabilitiesCollection owner="urn:uuid:hifi1" xmlns="http://www.awareit.com/soam" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.awareit.com/soam soamdt.xsd"> <perceptionCapability id="urn:uuid:hifi1_pcap1"> <subject resource="urn:uuid:hifi1"/> <predicate resource="http://www.awareit.com/onto/sound#hasSound"/> </perceptionCapability> <perceptionCapability id="urn:uuid:hifi1_pcap2"> <subject resource="urn:uuid:hifi1"/> <predicate resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/> </perceptionCapability> <perceptionCapability id="urn:uuid:hifi1_pcap3"> <subject resource="urn:uuid:hifi1_sound"/> <predicate resource="http://www.awareit.com/onto/sound#volume"/> <predicate resource="http://www.awareit.com/onto/sound#style"/> </perceptionCapability> <operationCapability id="urn:uuid:hifi1_ocap1"> <subject resource="urn:uuid:hifi1"/> <predicate resource="http://www.awareit.com/onto/sound#hasSound"/> </operationCapability> <operationCapability id="urn:uuid:hifi1_ocap2"> <subject resource="urn:uuid:hifi1_sound"/> <predicate resource="http://www.awareit.com/onto/sound#volume"/> <predicate resource="http://www.awareit.com/onto/sound#style"/> </operationCapability> </capabilitiesCollection> University of Deusto – MoreLab
Examples – Context Information <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.awareit.com/onto/examples/example1#"> <rdf:Description rdf:about="urn:uuid:hifi1" xmlns:sound="http://www.awareit.com/onto/sound#"> <rdf:type rdf:resource="http://www.awareit.com/onto/sound#SoundSystem"/> <sound:hasSound> <sound:Sound rdf:about="urn:uuid:hifi1_sound"> <sound:volume rdf:datatype="http://www.w3.org/2001/XMLSchema#int">8</sound:volume> <sound:style rdf:resource="http://www.awareit.com/onto/sound#RockMusic" /> </sound:Sound> </sound:hasSound> </rdf:Description> </rdf:RDF> University of Deusto – MoreLab
Examples - Constraints <constraint id="urn:uuid:xxx" requester="urn:uuid:Bob" subject="urn:uuid:hifi1_sound" predicate="http://www.awareit.com/onto/sound#volume"> <objectLiteral datatype="http://www.w3.org/2001/XMLSchema#int">3</objectLiteral> </constraint> <constraint id="urn:uuid:xxx" requester="urn:uuid:Bob" subject="urn:uuid:hifi1_sound" predicate="http://www.awareit.com/onto/sound#style"> <objectResource ref="http://www.awareit.com/onto/sound#ClassicalMusic"/> </constraint> University of Deusto – MoreLab