際際滷

際際滷Share a Scribd company logo
Context-aware Personal Attentive Systems
Tom Tourw辿, Elena Tsiporkova (Sirris, BE)
Ville Antila (VTT, FI)
Monique Hendriks (Philips, NL)


                                    het collectief centrum van de Belgische technologische industrie
Smarcos  Goal & motivation

   Smarcos aims to improve the interusability of interconnected
    embedded devices

   Smarcos relies on the solid technological basis for system-
    level interoperability resulting from other EU R&D projects
       Eg. ARTEMIS-Sofia and FP7-SmartProducts

   Smarcos addresses challenges arising from user-level
    interaction of interconnected systems
     Cross-platform interaction
     Multi-user and multi-device collaboration
     Synchronisation of system actions to maintain fluent task flow
     Application and service adaptation to changing situational
      contexts
Smarcos - Research topics

    Design methods for embedded UIs


            Interface, interaction & context models

                            (Distributed) Context processing

Runtime UI & context composition

          UI migration


                                   Model-based UI generation


              Distributed functionality
Personal attentive systems

   People have difficulty incorporating healthy habits into their
    daily life
     Office workers: working on a computer, prolonged sitting,
      deadlines, meetings, travel by car
     Diabetes type II patients: monitoring of glucose levels, effects of
      food, medicine adherence, physical activity, learning to cope with
      the disease
   Doctors and lifestyle coaches can provide advice, but they
    cannot
     Intervene at the right moment
     Provide feedback on behaviour directly afterwards
     Have intricate knowledge of peoples daily routine
PAS in Smarcos
Conceptual architecture


                          Determine content, timing &
   Decision Engine           modality of feedback

Context       Context      Infer new knowledge from
Reasoner      Models               information

                        Transform raw data into infor-
  Context Interpreter   mation about the user context

                          Capture raw data from device
      Data Layer                    sensors
Data Layer
                                      Life-pattern detection
                                       through life logging
    Low-power context logging software
    Semantic location detection using cell-id
     (low power, always available)
    Device usage detection (algorithms for
     mining location relative to smartphone
     application usage)
Context Interpreter
                                         Detecting important
                                    places and daily routines

     Estimation of life patterns
      such as the semantic
      location of the user (e.g.
      home, office)
     Detection of device usage
      in different locations
     Detection of physical
      activity in different
      situations
Context Interpreter

                                                  Can be used to 

     Determine the devices that surround the user
         e.g. at work, the user has access to his personal computer
     Time and adapt system feedback based on the situation
         e.g. time-shift notification to where user is more receptive
     Log context changes and react appropriately
         e.g. user entering an interesting location/situation such as office
Context Models

                            Domain knowledge for PAS

    Such domain knowledge is any factual information about
     persons, activities, locations and devices which influences the
     decision about at what time, on which device and through
     which modality feedback should be delivered to the user
    Such domain knowledge is captured in a context model
Context Models

                            Example domain knowledge

    If the user is cycling then
       available devices are mobile devices (phone & activity monitor)
       availability for receiving messages is low




    A pill reminder message is
       an urgent message
       best delivered through the audio modality
Context Reasoner
                                       Infer new knowledge from
                                                    information
     The goal of the reasoner is to classify devices as being ACCESSIBLE,
      AVAILABLE and/or USED
          using the OWL reasoner and SWRL rules


     ACCESSIBLE > AVAILABLE > USED
          A device is an ACCESSIBLE_DEVICE if the user has access to it
          A device is an AVAILABLE_DEVICE if it is an ACCESSIBLE_DEVICE which is
           ON
          A device is a USED_DEVICE if it is being used by a user
Context Reasoner



         USER       is_performed_by
                                           WATCHINGTELEVISION
        elena
                                            watching_television


                                                          is_performed_on



                                                        THING
                           is_accessible_from
          THING
                                                   elenas_television
    elenas_livingroom
Context Reasoner



         USER           is_performed_by
                                               WATCHINGTELEVISION
        elena
                                                watching_television
                         performs


                                                              is_performed_on



                                                            THING
                               is_accessible_from
          THING
                                                       elenas_television
    elenas_livingroom           provides_access_to




                             Inverse properties
Context Reasoner



         USER           is_performed_by
                                               WATCHINGTELEVISION
        elena
                         performs               watching_television


                                                              is_performed_on



                                                         TELEVISION
                               is_accessible_from
          THING
                                                       elenas_television
    elenas_livingroom           provides_access_to




           WATHINGTELEVISION is_performed_on only TELEVISION
Context Reasoner



         USER           is_performed_by
                                               WATCHINGTELEVISION
        elena
                         performs               watching_television


                                                              is_performed_on



                                                         TELEVISION
                               is_accessible_from
          HOME
                                                       elenas_television
    elenas_livingroom           provides_access_to




                   TELEVISION is_accessible_from only HOME
Context Reasoner



         USER             is_performed_by
                                                 WATCHINGTELEVISION
        elena
                           performs               watching_television


                                                                is_performed_on

                   uses

                                                           TELEVISION
                                 is_accessible_from
          HOME
                                                         elenas_television
    elenas_livingroom             provides_access_to




                     performs o is_performed_on -> uses
Context Reasoner



         USER             is_performed_by
                                                  WATCHINGTELEVISION
        elena
                           performs                watching_television


                                                                 is_performed_on

                   uses           used_by

                                                            TELEVISION
                                 is_accessible_from
          HOME
                                                          elenas_television
    elenas_livingroom             provides_access_to




                             Inverse properties
Context Reasoner



          USER            is_performed_by
                                                 WATCHINGTELEVISION
          elena
                           performs                watching_television

is_located_in
                                                                 is_performed_on

                   uses            used_by

                                                            TELEVISION
                                 is_accessible_from
           HOME
                                                          elenas_television
     elenas_livingroom             provides_access_to




                          uses o is_accessible_from -> is_located_in
Context Reasoner



            USER            is_performed_by
                                                   WATCHINGTELEVISION
            elena
                             performs               watching_television

 is_located_in
                                                                  is_performed_on

is_location_of       uses           used_by

                                                             TELEVISION
                                   is_accessible_from
             HOME
                                                           elenas_television
      elenas_livingroom             provides_access_to




                                   Inverse properties
Context Reasoner



            USER            is_performed_by
                                                   WATCHINGTELEVISION
            elena
                             performs               watching_television

 is_located_in
                                                                  is_performed_on

is_location_of       uses           used_by

                                                            USED_DEVICE
                                   is_accessible_from
             HOME
                                                           elenas_television
      elenas_livingroom             provides_access_to




                        USED_DEVICE used_by min 1 USER
Context Reasoner



            USER            is_performed_by
                                                   WATCHINGTELEVISION
            elena
                             performs               watching_television

 is_located_in
                                                                  is_performed_on

is_location_of       uses           used_by

                                                           AVAILABLE_DEVICE
                                   is_accessible_from
             HOME
                                                             elenas_television
      elenas_livingroom             provides_access_to




                    AVAILABLE_DEVICE is superclass of USED_DEVICE
Context Reasoner



            USER            is_performed_by
                                                   WATCHINGTELEVISION
            elena
                             performs               watching_television

 is_located_in
                                                                  is_performed_on

is_location_of       uses           used_by

                                                           ACCESSIBLE_DEVICE
                                   is_accessible_from
             HOME
                                                             elenas_television
      elenas_livingroom             provides_access_to




                 ACCESSIBLE_DEVICE is superclass of AVAILABLE_DEVICE
Decision Engine
                                          Determine content, timing
                                             & modality of feedback
     IF the situation is suitable, THEN send the message (as it is)
                    as_is(Message, User, Device) :-
                              send_message(User, Message),
                              user_availability(User, high),
                              has_access_to(User, Device),
                              supports(Device, Modality),
                              requires_modality(Message, Modality).

     IF the situation is not suitable AND the message is not urgent,
      it should be time-shifted
     IF the situation is not suitable AND the message is urgent,
      then the content should be adapted to the situation
                  adapt(Message, User, Device, Alternate_Modality) :-
                           send_message(User, Message),
                           urgent(Message),
                           has_access_to(User, Device),
                           requires_modality(Message, Preferred_Modality),
                           not(supports(Device, Preferred_Modality)),
                           supports(Device, Alternate_Modality).
Conclusion

   Presentation mainly reports on research results obtained by
    VTT and Sirris within the PAS use case defined by the Dutch
    consortium

   Future research
       Implementation of the decision engine in a Java-based logic
        engine
       Integration of all individual components in a common prototype
       Explore distributed context processing application
       Carry out field studies to validate the effectiveness of timing and
        device choice
       Deriving general statements regarding use case specific
        reasoning about context

More Related Content

Context-aware personal-attentive systems

  • 1. Context-aware Personal Attentive Systems Tom Tourw辿, Elena Tsiporkova (Sirris, BE) Ville Antila (VTT, FI) Monique Hendriks (Philips, NL) het collectief centrum van de Belgische technologische industrie
  • 2. Smarcos Goal & motivation Smarcos aims to improve the interusability of interconnected embedded devices Smarcos relies on the solid technological basis for system- level interoperability resulting from other EU R&D projects Eg. ARTEMIS-Sofia and FP7-SmartProducts Smarcos addresses challenges arising from user-level interaction of interconnected systems Cross-platform interaction Multi-user and multi-device collaboration Synchronisation of system actions to maintain fluent task flow Application and service adaptation to changing situational contexts
  • 3. Smarcos - Research topics Design methods for embedded UIs Interface, interaction & context models (Distributed) Context processing Runtime UI & context composition UI migration Model-based UI generation Distributed functionality
  • 4. Personal attentive systems People have difficulty incorporating healthy habits into their daily life Office workers: working on a computer, prolonged sitting, deadlines, meetings, travel by car Diabetes type II patients: monitoring of glucose levels, effects of food, medicine adherence, physical activity, learning to cope with the disease Doctors and lifestyle coaches can provide advice, but they cannot Intervene at the right moment Provide feedback on behaviour directly afterwards Have intricate knowledge of peoples daily routine
  • 6. Conceptual architecture Determine content, timing & Decision Engine modality of feedback Context Context Infer new knowledge from Reasoner Models information Transform raw data into infor- Context Interpreter mation about the user context Capture raw data from device Data Layer sensors
  • 7. Data Layer Life-pattern detection through life logging Low-power context logging software Semantic location detection using cell-id (low power, always available) Device usage detection (algorithms for mining location relative to smartphone application usage)
  • 8. Context Interpreter Detecting important places and daily routines Estimation of life patterns such as the semantic location of the user (e.g. home, office) Detection of device usage in different locations Detection of physical activity in different situations
  • 9. Context Interpreter Can be used to Determine the devices that surround the user e.g. at work, the user has access to his personal computer Time and adapt system feedback based on the situation e.g. time-shift notification to where user is more receptive Log context changes and react appropriately e.g. user entering an interesting location/situation such as office
  • 10. Context Models Domain knowledge for PAS Such domain knowledge is any factual information about persons, activities, locations and devices which influences the decision about at what time, on which device and through which modality feedback should be delivered to the user Such domain knowledge is captured in a context model
  • 11. Context Models Example domain knowledge If the user is cycling then available devices are mobile devices (phone & activity monitor) availability for receiving messages is low A pill reminder message is an urgent message best delivered through the audio modality
  • 12. Context Reasoner Infer new knowledge from information The goal of the reasoner is to classify devices as being ACCESSIBLE, AVAILABLE and/or USED using the OWL reasoner and SWRL rules ACCESSIBLE > AVAILABLE > USED A device is an ACCESSIBLE_DEVICE if the user has access to it A device is an AVAILABLE_DEVICE if it is an ACCESSIBLE_DEVICE which is ON A device is a USED_DEVICE if it is being used by a user
  • 13. Context Reasoner USER is_performed_by WATCHINGTELEVISION elena watching_television is_performed_on THING is_accessible_from THING elenas_television elenas_livingroom
  • 14. Context Reasoner USER is_performed_by WATCHINGTELEVISION elena watching_television performs is_performed_on THING is_accessible_from THING elenas_television elenas_livingroom provides_access_to Inverse properties
  • 15. Context Reasoner USER is_performed_by WATCHINGTELEVISION elena performs watching_television is_performed_on TELEVISION is_accessible_from THING elenas_television elenas_livingroom provides_access_to WATHINGTELEVISION is_performed_on only TELEVISION
  • 16. Context Reasoner USER is_performed_by WATCHINGTELEVISION elena performs watching_television is_performed_on TELEVISION is_accessible_from HOME elenas_television elenas_livingroom provides_access_to TELEVISION is_accessible_from only HOME
  • 17. Context Reasoner USER is_performed_by WATCHINGTELEVISION elena performs watching_television is_performed_on uses TELEVISION is_accessible_from HOME elenas_television elenas_livingroom provides_access_to performs o is_performed_on -> uses
  • 18. Context Reasoner USER is_performed_by WATCHINGTELEVISION elena performs watching_television is_performed_on uses used_by TELEVISION is_accessible_from HOME elenas_television elenas_livingroom provides_access_to Inverse properties
  • 19. Context Reasoner USER is_performed_by WATCHINGTELEVISION elena performs watching_television is_located_in is_performed_on uses used_by TELEVISION is_accessible_from HOME elenas_television elenas_livingroom provides_access_to uses o is_accessible_from -> is_located_in
  • 20. Context Reasoner USER is_performed_by WATCHINGTELEVISION elena performs watching_television is_located_in is_performed_on is_location_of uses used_by TELEVISION is_accessible_from HOME elenas_television elenas_livingroom provides_access_to Inverse properties
  • 21. Context Reasoner USER is_performed_by WATCHINGTELEVISION elena performs watching_television is_located_in is_performed_on is_location_of uses used_by USED_DEVICE is_accessible_from HOME elenas_television elenas_livingroom provides_access_to USED_DEVICE used_by min 1 USER
  • 22. Context Reasoner USER is_performed_by WATCHINGTELEVISION elena performs watching_television is_located_in is_performed_on is_location_of uses used_by AVAILABLE_DEVICE is_accessible_from HOME elenas_television elenas_livingroom provides_access_to AVAILABLE_DEVICE is superclass of USED_DEVICE
  • 23. Context Reasoner USER is_performed_by WATCHINGTELEVISION elena performs watching_television is_located_in is_performed_on is_location_of uses used_by ACCESSIBLE_DEVICE is_accessible_from HOME elenas_television elenas_livingroom provides_access_to ACCESSIBLE_DEVICE is superclass of AVAILABLE_DEVICE
  • 24. Decision Engine Determine content, timing & modality of feedback IF the situation is suitable, THEN send the message (as it is) as_is(Message, User, Device) :- send_message(User, Message), user_availability(User, high), has_access_to(User, Device), supports(Device, Modality), requires_modality(Message, Modality). IF the situation is not suitable AND the message is not urgent, it should be time-shifted IF the situation is not suitable AND the message is urgent, then the content should be adapted to the situation adapt(Message, User, Device, Alternate_Modality) :- send_message(User, Message), urgent(Message), has_access_to(User, Device), requires_modality(Message, Preferred_Modality), not(supports(Device, Preferred_Modality)), supports(Device, Alternate_Modality).
  • 25. Conclusion Presentation mainly reports on research results obtained by VTT and Sirris within the PAS use case defined by the Dutch consortium Future research Implementation of the decision engine in a Java-based logic engine Integration of all individual components in a common prototype Explore distributed context processing application Carry out field studies to validate the effectiveness of timing and device choice Deriving general statements regarding use case specific reasoning about context