=Paper= {{Paper |id=Vol-149/paper-4 |storemode=property |title=Context-Aware Computing System for Heterogeneous Applications |pdfUrl=https://ceur-ws.org/Vol-149/paper04.pdf |volume=Vol-149 |dblpUrl=https://dblp.org/rec/conf/ubipcmm/IsodaKI05 }} ==Context-Aware Computing System for Heterogeneous Applications== https://ceur-ws.org/Vol-149/paper04.pdf
ubiPCMM 2005                                                                                                                            17




                    Context-Aware Computing System for
                        Heterogeneous Applications
                                        Yoshinori Isoda, Shoji Kurakake, and Kazuo Imai


                                                                        illustrate the motivation of our work.
   Abstract— It is a very important to develop context-aware
systems that can handle, at the same time, multiple heterogeneous         A. Motivation Scenario
applications that require different contexts with different levels of        User A is at home in the morning. He launches a home
abstraction. This paper proposes a framework for such systems.          monitoring application, which records his physical activity
To handle the heterogeneity of the context required by the              context at home throughout the day and also alerts him if
applications, we introduce a user activity context detection
method based on the combination of a multi spatio-temporal              pre-registered events are detected within the house. While
description of measured sensor data, a description of detected          preparing breakfast for himself and his dog, he starts a cooking
context with multiple levels of abstraction, and an order-sensitive     assist application. He carries an RFID tag. Motion detection
description of the context model required by an application. We         sensors, touch detection sensors and other sensors are attached
also introduce an algorithm that implements the context detection       to the dishes, pans and other kitchenware. Cameras are sited
method by reflecting the context detection capabilities of any          around the kitchen. Once he selects a recipe for breakfast, the
given environment. We build a prototype system by embedding
sensors into an experimental house; evaluations show it promise.        cooking assist application shows him cooking instructions
                                                                        step-by-step according to the selected recipe on a near-by
  Index Terms— context recognition,                 decision    tree,   screen. He can interact with the application by touching or
spatio-temporal representation, ubiquitous                              moving the appropriate kitchenware. While general soup
                                                                        making instructions are displayed on the screen, he can request
                                                                        more detailed instructions by shaking a soup pan. He can skip
                        I. INTRODUCTION                                 to the next instruction by tapping the pan. If his body is too
                                                                        close to a pan of boiling water, the home monitoring application
C    ontext-aware computing systems are being studied, and
     many prototypes have been implemented over the years [1].
The popularity of context-aware computing research indicates
                                                                        flashes an alert light in the kitchen. When he goes to the family
                                                                        room to feed his dog, the cooking assist application is
that systems that can identify the user's context and that of the       automatically suspended. If the movement of some dish is
surrounding environment have the profound potential to                  detected while he is in the family room, the home monitoring
provide services that are much more user-specific. Context              application sends an alert message and visual information
awareness is especially relevant to mobile and ubiquitous               captured by the cameras in the kitchen to the screen closest to
applications because some of those applications are suitable            him in the family room. When he goes back to the kitchen, the
only at a particular time and/or location for users in a specific       cooking assist application is resumed. His dog wears an RFID
situation. The ability to detect context in different environments      tag. RFID tag readers are mounted on walls, and motion
is essential for a system that provides context-aware mobile            detection sensors are mounted on doors and some furniture.
ubiquitous applications over a wide area. Time, location,               The home monitoring application can track the location of the
identity and activity have been proposed as the primary                 dog and detect if the dog touches doors or furniture. The
elements of context [2]. Because it is relatively easy to detect        application passes messages to the screen nearest to him when
time and location, a lot of location-aware systems such as              his dog moves from one room to another. When the application
guides for city tours [3], [4] and guides for museums [5] have          notifies him that his dog is trying to get into the study room, he
been designed. Activity is much more difficult to identify, but         stops cooking, rushes to the study, stops the dog, and carries it
some aspects of activity can be detected by placing sensors in          back to the family room. In addition, a daily chores reminder
the environment. Advanced context-aware applications using              application is always running. It reminds him of tasks to be
activity context information have been realized for a specific          done. Just after he wakes up, the application tells him to take his
smart environment [6]. Prior researches tend to focus on                medicine. When he is about to leave home, the application
specific applications in specific environments. The goal is,            indicates which windows are still open and confirms that he
however, to support different context-aware applications                wants them to remain open. It also suggests that he take an
simultaneously in the same environment and across different             umbrella since the weather forecast is for rain. While cooking,
environments. We believe that context-aware systems must                he found that the rice would run out within a week. He enters
become capable of handling multiple heterogeneous                       this into the daily chores application. He has registered with
applications and environments if such systems are to be brought         several context detection services at shopping malls that he
to market. We will use the following scenario to further                often visits. This means that his daily chores application knows
Yoshinori Isoda, Shoji Kurakake, and Kazuo Imai                                                                                     18

where to buy rice; it will keep reminding him every time he is      context detection method in a given environment. The
physically close to a shop with rice until he buys it. When he is   algorithm learns the context detection capabilities of the
out of his home, the home monitoring application automatically      sensors at each site. This enables the heterogeneity in
changes its behavior and notifies him, via his cellular phone,      environment with respect to sensing capability to be well
only when the dog leaves the house or unauthorized people try       handled. We have also developed a framework that allows a
to enter it.                                                        context-aware application to adapt to the different context
  We make three observations from this scenario.                    detection capabilities. We assume that an ID is assigned to each
                                                                    class of context and that the IDs are shared among the
1) Different contexts will have significantly different spatial     applications and context detection environments. Thus the
   and temporal resolutions. The time period of the touching        required context designated by an application is mapped to
   kitchenware context is a couple of seconds, and that             context detected by a local context detection system by using
   context happens within the kitchen. The context of leaving       context ID.
   home may occupy a couple of minutes. The context of                 We have built an experimental environment house into
   looking for rice may extend over a week and the context          which we placed sensors such as floor-mounted weight sensors
   should be detected by using sensors spread city-wide.            and RFID tags with touch sensor. Tests were conducted in this
2) The same sensor data can be used to detect the different         house and show that our methods and framework are
   contexts required by different applications. For example,        promising.
   the data from the motion detection sensor attached to a dish        The remainder of the paper is organized as follows: Section 2
   is basically used by the cooking assist application. The         presents the design of overall system, Section 3 describes a user
   same data, however, can be used by the home monitoring           activity context detection method, Section 4 presents an
   application to detect suspicious events. Note that even the      algorithm for implementing the context detection method,
   same application may require different levels of context to      Section 5 describes the experimental house, the sensors, and the
   be abstracted from the same sensor data.                         system. Section 6 describes the experiment and analysis of the
3) Some of the context-aware applications that are triggered        results, and Section 7 draws our conclusions.
   by the detection of the same pre-registered multiple
   contexts require an ordered sequence of context detection,
   other do not. The cooking assist application, for example,                         II. DESIGN OF THE SYSTEM
   requires the appropriate contexts to be detected in a               The design of the proposed system is based on decoupling
   pre-defined order. The daily chores application does not         the description of measured sensor data from the description of
   care which open window was closed first.                         detected context, and the description of required context model
                                                                    associated with an application. The benefit of this approach is
  B. Our Approach                                                   that users can employ context-aware applications in various
   To address the issues identified in the scenario above, we       ubiquitous environments (UE).
developed a user activity context detection method that can, at        The framework of the system is shown in Fig. 1. The global
the same time, cope with multiple context-aware applications        network stores and manages application templates. When a user
that may require different kinds of context with various levels     wants to use a specific application, the user downloads the
of abstraction. Our method decouples the description of             corresponding application template to the user’s terminal (Fig.
measured sensor data from the description of detected context,      1, (1)). Each application template consists of a pointer to the
and the description of required context model associated with       application and a description of the required context, which
an application. Note that the terms “detected context               explains the necessary conditions in terms of the contexts that
description” and “required context model” refer to different        will trigger, suspend, and resume the application. We call the
concepts. User activity context descriptions have multiple          description of the required context model because context itself
abstraction levels for describing detected user context. The        is referred to as the abstract context concept.
model of required context is instantiated by available                 In each UE, sensor data is mapped to context by using a
abstraction levels of context depending on the detection            decision tree. At the each abstraction level of the decision tree,
capability of each environment and the level of context required    each leaf is assigned to a user state, and each node has a
by the applications. Our sensor data description is flexible in     description of decision making conditions with respect to the
terms of temporal and spatial resolution. The duration of sensor    value of sensor data to further split the user state of a node into
activation is the most important feature to detect user context,    more specific user states. Thus, the decision tree describes
and the sensor data description can adapt the time scale            detectable user states with multiple abstraction levels by using
according to the duration of sensor activation of interest. We      sensors in the environment. Some of the user states in the
describe the required contexts to control an application based      decision tree are associated with context. In practice, some
on regular expressions. This enables the description of ordered     leaves in the decision tree are treated as context leaves. The
and semi-ordered contexts as condition elements for satisfying      decision tree is stored in a context server. The context server
application requirements.                                           receives sensor data and maps it to the detected context
   We also introduce an algorithm that can implement the            descriptions. If a user wants to use a specific application and
                                                                    has already downloaded its application template to his mobile
ubiPCMM 2005                                                                                                                                                                                                      19

terminal, the user compares the required context model and the                                                         state. Context models take the form of regular expressions.
decision tree stored in the context server at the site that he will                                                    Each state consists of context models partitioned by commas.
visit. By using the shared context class ID, the user can                                                              For example, the ordered sequential state transition sequence
determine which abstract level of context needs to be detected                                                         [S1→S2 →S3] is represented as “^S3, S2, S1”. However, when a
at the site for each context described in the required context                                                         user performs a specific task, it is not always necessary for the
model. The user can carry out this process over the net or at the                                                      states associated with the task to occur consecutively. For
site. When the user is in some UE, the user receives the detected                                                      example, user states S1, S2 are elements of one context model.
context description from the context server (Fig. 1, (2)).                                                             The relationship between S1, S2 is ordered, but they don’t
Thereafter, the user allocates the detected context to the                                                             always occur consecutively. In this case, the context model is
elements of the required context model in the application                                                              represented as “^S2, ([^,]*,) S1”. Moreover, sometimes a user
template (Fig. 1, (3)). For example, when the application needs                                                        performs different tasks in parallel. Therefore, the context
to know only whether the user is indoors or not, the user selects                                                      models in the user activity model are managed separately, and
a user state with high abstraction level in the decision tree. On                                                      checks are performed for multiple applications to determine
the other hand, when the application requires some specific                                                            which ones should be executed.
behavior in some specific place (e.g. cooking in the kitchen) as
context, the user must select a state from a lower abstraction                                                         time = t1
level. As a result of this procedure, the appropriate user states at                                                                            Tag reader(1)                Tag reader(2)          tag
                                                                                                                                                                                                     tag11, ,tag
                                                                                                                                                                                                              tag22
appropriate abstraction levels are instantiated in all required                                                                                 detection area               detection area
                                                                                                                                                                                                    Objects in the
context model elements. The application is then controlled                                                                           user                                                           user’s vicinity
                                                                                                                             tag1                                                     tag3
according to the description in the application templates in the
                                                                                                                                               tag2
mobile terminal.                                                                                                                taguser                                             tag4
                                                                                                                                      Area(1)                          Area(2)
                   Global Network
                                                                     Application templates                             time = t2
                                                                                   Required context Model
                                                                Application        (Context required by Application)                                                                          tag
                                                                                                                                                                                               tag22, ,tag
                                                                                                                                                                                                        tag33, ,tag
                                                                                                                                                                                                                 tag44
                                     (1) Download application
 Ubiquitous Environment                   templates
                                                                Application        Required context Model
                                                                                                                             tag1                                            tag2      tag3
                                               Context                                                                                                           taguser
                                               Server                                                                                                                               tag4
 Sensors

                        (2) Download detected                                                                                             Area(1)                      Area(2)
  Mobile
                            context description
  terminal
                                                                              Detected context
                  Application templates                                       description                              Fig. 2. Changes in RFID tags output associated with movement of the user.
                  (Downloaded)                                       Abstraction Level
                                                                                                                       RFID tags are attached to objects and the user.
                                  Required Context Model                    1
                  Application
                                                                              2
                                                                                                                         B. Description of User States
                 (3) Instantiate context model

                                                                              N
                                                                                                                          Each UE offers a different combination of sensors (type and
                  User activity
                  context description                                             Context decision tree                number). The sensor data descriptions should support the use of
                                                                                                                       many types of sensors. In this paper, sensor information is
                    UE-ID, Abstraction Level
                    Application
                                                                                                                       transformed into spatio-temporal attributes. Each attribute
                                                                                                                       consists of temporally continuous sensor data, and the attributes
                                                                                                                       are arranged to support each spatial resolution needed.
Fig. 1. Framework of the proposed system                                                                               Complex sensors, such as cameras have already been used for
                                                                                                                       recognizing user state. Computer visions tracking [7], [8] and
                                                                                                                       behavior recognition [9], [10], [11] often work in the laboratory
                                                                                                                       but sometimes fail in real environments due to the lighting
       III. USER ACTIVITY CONTEXT DETECTION METHOD
                                                                                                                       variations and occlusions that are frequent in natural
  A. Context Model                                                                                                     environments. Given their relative immaturity, we restrict
   As we mentioned above, each context model is used to                                                                ourselves to simple sensors such as RFID tags and weight
trigger a specific application and each model consists of context                                                      sensors to achieve robust user state detection.
elements that describe specific user states. In the real world,                                                           As an example, we explain the description of user states
users perform a wide variety of tasks. In this study, a task refers                                                    when RFID tags and floor sensors are employed as sensors.
to work performed by a user; work here consists of performing                                                          RFID tags have recently attracted interest as a means of
specific state transitions, such as checking that doors are locked                                                     detecting objects in the vicinity of the user. In this case, the
in multiple locations, or preparing a meal by following a series                                                       attributes describing the user’s state are derived from
of procedures. When the user performs the tasks, the time                                                              information obtained from the RFID tags carried by the user
ranges of user states included in the task change accordingly.                                                         and attached to objects. As shown in Fig. 2, the RFID tag
Therefore, the context model deals with only transitions in user                                                       information detected by each RFID tag reader is collected. This
Yoshinori Isoda, Shoji Kurakake, and Kazuo Imai                                                                                                                                           20

yields attributes that relate the state of each user to the objects                     Loc
                                                                                        Loc(u,
                                                                                            (u,tt)) ::User
                                                                                                      Useruuhas
                                                                                                             hasbeen
                                                                                                                 beeninincells
                                                                                                                          cellswith
                                                                                                                               withmulti
                                                                                                                                    multispace
                                                                                                                                          spaceresolutions
                                                                                                                                                  resolutions
in the user’s vicinity. In addition to information on the presence                                                                         cell7S
or absence of objects in each user’s vicinity, the temporal
                                                                                                                                                                  cell8S
continuity of the presence of these objects is also used as                                     Space resolution: S
attributes of the user’s state. In other words, the user’s state is
                                                                                                Space resolution: M
described by attributes that include information on how long                                                               cell1M               cell2M
each object has been present in the user’s vicinity due to the
                                                                                                Space resolution: L                  cell1L
user’s movements and whether or not the objects in question
are being carried around by the user. The overall set of
                                                                                          cell1S cell2S     cell3S cell4S       cell5S cell6S     cell7S cell8S    cell1M cell2M cell1L
attributes describing the state of user u in relation to these
                                                                                            0       0         0        0         0        0       d2S       0       0      d2 M     d1L
objects at time t is as follows:
                                                                                                          Space resolution: S                       Space resolution: M Space resolution: L
Tag (u, t ) = [ tag1 (t ), tag 2 (t ), ... , tag i (t ), ... , tag n (t ) ]      (1)
                                                                                       Fig. 4. Attribute representation of user position with multi spatial resolution.
   Here, tagi(t) is a positive integer value indicating how long
object i has been remained (continuously) in the vicinity of
user u at time t. If object i does not exist in the user’s vicinity,                   Loc(u, t ) = [ cell11 (t ), cell21 (t ), cell31 (t )...,
                                                                                                                                                                                       (2)
the value of tagi(t) is zero. Here, the user’s vicinity corresponds                                       cell1R (t ),..., cell Rj (t ), ... , cellmQ (t )]
to the detection range of the tag reader that detects the tag
carried by the user, so all objects detected by the same tag
reader are regarded as being in the user’s vicinity. When plural                          Here, celljR(t) is also a positive integer value indicating
users occupy the same detection range of a tag reader, it is                           whether or not the user has been continuously detected in cell j
difficult to distinguish which objects are in each user’s vicinity.                    with space resolution R at time t.
Therefore, the detection range of the tag reader is restricted                            When the above two kinds of sensors are employed in a UE,
from several tens centimeters to one meter by using an                                 the entire set of attributes A(u,t) representing the state of user u
attenuator. In this way, the user’s state is identified, in part,                      at time t is as follows:
from the attributes expressing which objects are in the user’s
vicinity, and if so, for how long. For example, Fig. 3 shows the                       A(u, t ) = [ Tag (u, t ), Loc(u, t ) ]                                                        (3)
attributes of objects around the user at times t1 and t2 in Fig. 2.
                                                                                         C. User State Decision
 Tag
 Tag(u,
     (u,t1t1)) ::When
                 Whenthe
                      theuser
                          useruustays
                                 staysfor
                                       foraawhile
                                            whileininarea
                                                      area(1)
                                                           (1)                            Several methods to discriminate user state have been
        tag1     tag2 tag3                  tagp            tagn                       proposed. Combinations of neural networks and lookup tables
          d1      d2       0                 0                0                        were used to predict the temporal mobility patterns of a user in
                                                                                       the Neural Network House [12], [13]. However, since neural
          dk : positive integer value indicating how long tagk has                     nets do not provide information about the underlying model of
               existed continuously in the vicinity of user u
                                                                                       the prediction process, it is difficult to extend them to
 Tag
                                                                                       incorporate prior knowledge. Specific types of Dynamic
 Tag(u,
     (u,t2t2)) ::Directly
                 Directlyafter
                          aftermoving
                               movinginto
                                      intoarea
                                           area(2)
                                                (2)
                                                                                       Bayesian networks [14] have been used to track the daily
        tag1     tag2 tag3                  tagp            tagn                       activities of users from sensor information such as active
          0       d’2      d3                dp               0       d’2 > d2         badges [15] and cricket-devices [16] embedded in a house [17].
                                                                                       The algorithm can differentiate the activities according to
Fig. 3. Representation of attributes relating to objects.                              duration and user location. Dynamic Bayesian networks have
                                                                                       proven to be one of the most powerful and efficient ways of
   RFID tags provide information on the spatial relationships                          representing temporal events and fusing information from
between the user and objects. In some UE, sensors that detect                          multiple sensors [18]. However, the complexity of networks
information on the absolute position of the user will be                               and learning algorithms for Hidden Markov models make it
employed. In this case, the multiple absolute user positions,                          difficult to apply them to cases involving many sensors.
needed to satisfy the multiple spatial resolutions, are used as                           Each application requires a different level of user state
attributes representing user state. As Fig. 4 shows, one floor can                     abstraction as context. Some applications simply need user
be partitioned into several cells. Several cells are grouped into                      position with coarse resolution; others may need more detailed
larger cells. Additional attributes are used to express whether or                     user states such as user behavior. Therefore, user states should
not the user is present in each cell, and if so, for how long. The                     be detected with various levels of abstraction. With the goal of
attributes related to the position of user u at time t are as                          detecting user state hierarchically, we use a decision tree that
follows.                                                                               discriminates user states with multiple levels of abstraction.
                                                                                       The benefit of using a decision tree is that it generates
                                                                                       understandable rules. Therefore, if high-level knowledge about
ubiPCMM 2005                                                                                                                             21

discriminating user states exists, the decision tree can be            and the corresponding information gained by an attribute A
modified manually. In each UE, the detected context                    with k outcomes as
description from sensor data is described as a decision tree that
detects user states hierarchically with different abstraction                                         k
                                                                                                         | Di |
levels. If more than one person is in a UE, the decision tree is       Gain( D, A) = info( D) − ∑               × Info( Di )           (5)
                                                                                                     i =1 D
managed to detect each user context separately.
                                                                          The information gained by an attribute is strongly impacted
               IV. CONTEXT DETECTION METHOD                            by the number of outcomes and is maximal when there is one
                                                                       case in each subset Di.. On the other hand, the potential
   It is difficult to create the rules that form a decision tree       information obtained by partitioning a set of cases is based on
manually because each UE will have different sensors and the           knowing the subset Di into which a case falls; this split
user would have to consider the meaning and significance of            information
sensor information and the relationships between sensors.
Moreover, given the large number of sensors in one UE, some                              k
                                                                                             | Di |           | Di |
sensors will be prone to error. This means that the user would         Split ( D, A) = −∑           × log 2 (        )                  (6)
have also considered the robustness of sensor data. Our solution                        i =1   D                D
is to employ the learning-based approach to construct the
decision tree semi-automatically.                                      tends to increase with the number of outcomes of an attribute.
   All sensor data is recorded while a user performs actions           The gain ratio is expressed as
such as using the toilet, bathing, grooming and so on. These
actions typically consist of specific user states. For example,        GainRatio( D, A) = Gain( D, A) Split ( D, A)                     (7)
the action of bathing consists of states such as standing in front
of a bathroom, standing inside the bathroom, using the bath,              The gain ratio criterion assesses the desirability of an
and so on. However, identifying these states depends on the            attribute as the ratio of its information gain to its split
sensors in the UE. Our context detection method extracts               information. The gain ratio of every possible attribute is
hierarchical states of each action as leaves of the decision tree.     determined and, among those with at least average gain, the
   Sensor data recorded in each time interval is transformed to        split with maximum gain ratio is selected.
spatio-temporal attributes according to (1)-(3) and the data for          In a decision tree constructed in this way, the attributes that
each time interval is used as one training data set for                are valid for discriminating the user states identified by the
constructing a decision tree. At first, the user allocates action      actions are learned as nodes of a decision tree. Leaves of the
labels to the specific time regions of the training data by hand.      decision tree are the user states to be discriminated. Applying
These time regions correspond to specific actions such as              the C4.5 algorithm to each state recursively, our system extracts
bathing. Next, our system finds user states identified by the          the hierarchical states of each action. In the following, we detail
actions by using the C4.5 algorithm [19]. The C4.5 algorithm           the procedure by using an example. As shown in Fig. 5, the user
constructs a decision tree by calculating the information gain         allocates label 1A to the specific time regions that correspond to
ratio of each attribute from a set of training data, and               the specific action in the training data. Time regions other than
successively employing the attributes with the highest values          those labeled 1A are assigned label 1E. This is the first level of
(e.g., tagi(t)) as the nodes of the decision tree. Moreover, the       the decision tree. By using this set of training data, the C4.5
C4.5 algorithm can treat various kinds of sensor information as        algorithm constructs a decision tree that decides valid attributes
attributes. This makes it easier to integrate different kinds of       of sensor data as nodes and states of the action 1A as leaves.
sensors and to use them to discriminate user states. In the real          In Fig. 6, action 1A is divided into n leaves in the decision
world, sensor error can occur at any time. If the training data        tree at the second level. These leaves are taken as user states at
contains instances of sensor error, the C4.5 algorithm selects         abstraction level 2 of action 1A, and assigned the label of 2Si
                                                                       (1 ≤ i ≤ n) . In the training data, each time region of state Si is a
the attributes of sensors that are able to discriminate user state                                                                  2

robustly.                                                              region in which sensor attributes that discriminate 2Si hold (Fig.
   Let D denote a set of cases of training data. Each case is          6). At the third level of the decision tree, new decision tree
labeled with its state class cj (1 ≤ j ≤ N ) . Some attribute A with   branches are created from each state 2Si. In this level, the time
mutually exclusive outcomes A1, A2,..., Ak is used to partition D      regions corresponding to 1A in the first level are used as new
into subsets D1, D2,..., Dk, where Di contains those cases that        training data (Fig. 7). Sensor attributes that were used to
have outcome Ai. p(D, cj) is the proportion of cases in D that         discriminate 2Si are deleted from the new training data. That is,
belong to the jth class. The residual uncertainty about the class      the sensor attributes used in the second level aren’t used in the
to which a case in D belongs can be expressed as                       third level. The time regions other than those labeled 2Si are
                                                                       re-labeled 2Ei. The decision tree at the third level is constructed
Info( D) = −∑ p (D, c j )× log 2 ( p (D, c j ))
               N
                                                                (4)    from this new training data set. For example, 2Si is divided into
              j =1
                                                                       m leaves. Each new leaf is assigned the label 3Sij (1 ≤ j ≤ m) ,
                                                                       and together they are considered as the user states derived from
Yoshinori Isoda, Shoji Kurakake, and Kazuo Imai                                                                                                                                                               22

2
 Si at abstraction level 3. These procedures are executed
                                                                                                                 Decision tree                                      Training data
recursively to construct sub-trees. For example, the kth node at                                                 at level 1                                   Yes                         No
the fourth level of decision tree is labeled 4Ski,j. The result is one                                                                                         1A                         1E
                                                                                                                                     Labeling manually
decision tree that can discriminate user states at multiple levels.
Fig. 8 shows an example of one such decision tree.                                                               Decision tree                           Attribute
   In the context detection phase, the resulting decision tree and                                               at level 2                                                No
                                                                                                                                                 Yes
the current information from sensors are used to discriminate                                                                                                      Attribute
the current user state in each abstraction level.                                                                                                       Yes                          No
                                                                                                   time
                                                                                                                       Extracting          2S          2S                  2S              2S
    Level 1           1E             1A              1E                 1A                 1E                          Automatically         1           2                   i               n


    Sensor 1
                                                                                                                 Decision tree
    Sensor 2
                                                                                                                 at level 3            Re-labeling automatically           2S         1E
                                                                                                                                                                             i



                OFF ON                                                                                                                                                 Attribute
                 Sensor                                                                                                                                                                   No
                                                                                                                                                             Yes
                                                                                                                                                                             Attribute
    Sensor X                                                                                                                                                         Yes                         No

                                Time interval of acquiring sensor data
                                (This sensor data is transformed to one training data)                                            Extracting           3Si          3Si           3 Si         3Si
                                                                                                                                  Automatically           1            2              j           m


                                              A set of training data                                             Decision tree                                                   4Si,j
                                                                                                                 at level 4                                                           k
Fig. 5. User state allocation in specific time intervals; manually performed at
the first level.
                                                                                                           Fig. 8. Example of a decision tree that discriminates user states at multiple
                                                                                                           levels.
                                                                                                    time

       Level 1        1E                 1A                    1E                1A
                                                                                                           V. USER ACTIVITY SENSING AND DETECTION ENVIRONMENT
                                                extraction                            extraction                    IN UBIQUITOUS EXPERIMENTAL HOUSE
                                                                                                              We have developed an experimental house in which multiple
       Level 2              2S         2S           2S                  2S                2S
    (automatically)              1       2            n                      1              n              types of information about human activities can be acquired
                                                                                                           [20]. It contains various embedded sensors and output devices.
          Sensor i                                                                                         Fig. 9 shows its floor plan. To support a wide variety of
          Sensor j                                                                                         experiments, this house has workspaces set into the floor, attic,
          Sensor k                                                                                         and inside walls (striped areas in Fig. 9). These workspaces
                                                                                                           make it easy to set up and wire many sensors and devices. Fig.
Fig. 6. User states are extracted at second level of decision tree.                                        10 shows the configuration of the prototype system constructed
                                                                                                           inside the experimental house. The next subsection details
                                                                                                           system elements.
                                      New set of training data
                                                                                                   time                                                                                                Overview

    Level 1                1A                      1A                            1A
                                                                                                                                   WC

                                                                                                                                                 Washroom            Bathroom
                                Delete sensor attributes that discriminate 2Si                                  Entrance


                                                                                                                                                                                                            Attic
    Level 2 2Ei 2Si                  2E
                                          i
                                                  2S
                                                    i
                                                               2E
                                                                    i
                                                                             2S
                                                                               i
                                                                                          2E
                                                                                               i                      Staircase
    (2Si)                                                                                                                                Workspace
                                      Re-labeled training data                                                                                                                   Kitchen

                                                                                      2
Fig. 7. New training data for extracting use states at level 3 for Si.                                                                                                                                Inside wall
                                                                                                                              Living      Sofa
                                                                                                                              Room                              Dining Room

                                                                                                                  Closet                     TV




                                                                                                           Fig. 9. Overview of Ubiquitous Experimental House.
ubiPCMM 2005                                                                                                                                                                         23


                                          Global network                                                                        Magnetic
                                                               Application                                                      reed switch
                                                                templates

                                                                                                                                RFID tag
                                                                             RFID tag reader
  RFID tag Info.    User position Info.                                                           Door                                                   Faucet            Towel
                                                                             RFID tag                          (a) Sensors detecting human behavior of operating objects
        Spatio-temporal
                                                           Mobile
     description transformer                               terminal                                RFID tag            Object
           Spatio-temporal
           description

 Decision tree          Decision tree                                        Floor sensor
  constructor
 (Training phase)                                                                              Touch sensor
                                                                                                                       Electrode      Receiver              Mug cup        Toilet seat
          Context server                                                                                       (b) Sensors detecting human behavior of touching objects

Fig. 10. Prototype system configuration.                                                       RFID tag



  A. RFID Tags
   As shown in Fig. 11, the house has an active type RFID tag
                                                                                               Small weight sensor           Chair               Chair                Sofa
system consisting of RFID tag readers and RFID tags attached
                                                                                                               (c) Sensors detecting human behavior of sitting and lying
to the users and to various objects. We extended some of the
RFID tags to suit the object. For instance, we attached a
                                                                                               Fig. 11. Sensors detecting human behavior associated with objects.
magnetic reed switch to an RFID tag to yield a position sensor.
These RFID tags can detect human behavior when using
objects such as turning a faucet, opening a door, using a towel
                                                                                                                                          Bathroom
and so on. Other RFID tags were modified with touch sensors.                                          Shoes box             BACK                     Toilet seat
When the user touches electrodes on the object, the touch
sensor detects the action and the RFID tag is activated. We can                                                            INSIDE                        Faucet
detect human behavior that involves touching objects such as
holding a cup, holding a receiver, sitting on the toilet, and                                                 RFID tag                               Door             Large size
                                                                                                                                                                      resolution name
brushing teeth and so on. Moreover, other RFID tags were                                               Door                        FRONT
modified with small weight-sensitive sensors to detect user                                                                                                           ENRANCE

behavior such as sitting on a chair, lying on a sofa and so on.                                                                    User                               ENTRANCE HALL
This tag system has low directionality in the tag detection                                                                                                           BATHROOM
ranges, and by attaching attenuators we were able to set the tag                                                                                     Door             PASSAGE
detection radius from a few tens of centimeters to a few meters.
Each reader communicates with a PC by TCP/IP via a protocol
converter. The RFID tags transmit at intervals of 0.4 seconds.                                 Fig. 12. Experimental environment.

  B. Floor Sensor                                                                              tags carried by the users, and the decision tree is used for each
   To recognize human activity, information of the user’s                                      user. The states of each user thus detected are sent to the user’s
position is useful. Therefore, the entire floor is covered with a                              mobile terminal. On the mobile terminal, user states are
large number of pressure sensors. Each pressure sensor covers                                  received and applications are executed by matching the user
18 x 18 cm (a unit cell), and the binary value output by each cell                             states and context elements.
is read into a PC via a serial port at 0.4 second intervals. These
detector cells were grouped into blocks (e.g. 10×10, 5×5, 3
×3), so user position is detected at multiple resolution levels.                                                     VI. EXPERIMENTAL EVALUATION
                                                                                                  To confirm the automatic construction of a decision tree, we
  C. Context Server
                                                                                               performed an experiment that focused on bathroom activities as
   The context server operates in one of 2 phases. One is the                                  the first step.
phase of constructing a decision tree that discriminates user
states with multiple levels of abstraction. Information from                                     A. Experimental Conditions
RFID tags and floor-mounted weight sensors are acquired and                                       Fig. 12 shows the experimental environment in the bathroom.
used as training data.                                                                         A user performed a series of actions such as entering the
   In the other phase, it users this decision tree to perform state                            bathroom, using the bathroom, washing hands, leaving the
decisions based on the current information provided by the                                     bathroom and walking around the house. We acquired these
RFID tags and floor-mounted weight sensors. When plural                                        series of actions five times as training data. One RFID tag was
users are in the house, each user is distinguished by the RFID                                 continuously carried by the user. Other RFID tags were
Yoshinori Isoda, Shoji Kurakake, and Kazuo Imai                                                                                                                                      24

attached to objects. Five RFID tags were extended with a
                                                                                                 Floor_BATHROOM_Duration > 0         No
magnetic reed switch, and attached to doors and faucet in the                              Yes
                                                                                                                                                                    User state
bathroom.                                                             Level 1        TOILET                                            OTHER
                                                                                                                                                                      Attribute
   The information acquired by the floor-mounted weight                    Floor_INSIDE_Duration > 0     No
sensors was represented with multiple levels of spatial                              Yes                    Floor_FRONT_Duration > 0      No

resolution. At the largest resolution level, the experimental area                                                  Yes                     Floor_BACK_Duration > 8
                                                                                                                                                   Yes                      No
was divided into four spaces: ENTRANCE, ENTRANCE
                                                                      Level 2        INSIDE                          FRONT                           BACK              OTHER
HALL, BATHROOM, and PASSAGE. The medium level of
resolution corresponded to the areas consisting of 5×5 blocks.             Floor_BACK_Duration > 0          No

The smallest level of resolution corresponded to areas of 3×3                  Yes
                                                                                                       Rftag_Faucet_Duration > 0
                                                                                                                                     No
                                                                                                      Yes
blocks.                                                                                                                            Floor_FRONT_Duration > 0

                                                                                                                              Yes                              No
  B. Experimental Result                                                                                                                        Rftag_ToiletDoor_Duration > 0
                                                                                                                                                         Yes                        No
   Fig. 13 shows the decision tree that was constructed                                                                                   Rftag_ToiletDoor_Duration < 12
                                                                      Level 3
automatically, and Fig. 14 shows the decision results for each                                                                                 Yes                       No

time interval at each level of the decision tree.                              INSIDE&BACK           WASH HANDS        JUST ENTER          OPEN DOOR            OTHER1            OTHER2

   At the first level of the decision tree, two leaves were
extracted as user states. Investigating the attributes of decision   Fig. 13. Decision tree constructed in the experiment.
tree, one considers that the user is near the bathroom. The other
considers that the user is not near the bathroom. They are
                                                                                                                                                                                    time
named TOILET and OTHER, respectively. The largest space              Level 1
resolution, which corresponds to the area of the bathroom, was                  OTHER                                TOILET                                                OTHER

selected as the attribute to discriminate the two states at this     Level 2
                                                                                           OUTSIDE     INSIDE         BACK                INSIDE                    OUTSIDE
level.
   At the second level of the decision tree, four leaves were        Level 3
                                                                                                     JUST INSIDE              INSIDE           WASH            OPEN
extracted as user states. Investigating the attributes of the                                        ENTER &BACK              &BACK            HANDS           DOOR
decision tree, we see that the first considers that the user is in
front of the bathroom, the second considers that the user is         Fig. 14. User state decision for each time interval.
inside the bathroom, the third considers that the user is at back
of the bathroom, and the fourth considers that the user is in
some other state. They are named FRONT, INSIDE, BACK,                abstraction levels are extracted by using the C4.5 algorithm.
and OTHER respectively. At this level, three areas in the            These user states, extracted as leaves of decision tree, are
bathroom with medium level of resolution were selected as            detectable by using sensors in the experimental environment.
attributes.                                                          According to the decision tree and application requirements,
   At the third level of the decision tree, no new leaves were       the user instantiates the appropriate user states at the
extracted from the user states of FRONT and BACK. However,           appropriate abstraction levels in all required context model
six leaves were extracted from the user state of INSIDE. The         elements. However, this preliminary experiment considers only
first leaf from INSIDE considers that the user is standing on        simple activity. As the next step, we will confirm the validity of
both the cell of BACK and that of INSIDE simultaneously. This        decision trees constructed from more complex activities.
leaf is named INSIDE&BACK. The second leaf considers that
the user is washing hands. This leaf is named WASH HANDS.
The third leaf is detected from the attributes of the floor sensor                                          VII. CONCLUSION
at the area in front of the bathroom and the area inside the            In this paper, we proposed a framework for context-aware
bathroom. This leaf is detected only when the user is just           systems that allows context-aware applications adapt to the
entering the bathroom (Fig. 14). Investigating the training data,    difference in context detection capability present in each
the floor sensors corresponding to FRONT and INSIDE were             environment. A user activity context description, which has
not active simultaneously when the user left the bathroom. It is     multiple abstraction levels in terms of user context, is used. It is
considered that the position relationship between the door, the      instantiated according to the level of context detection
faucet, and toilet seat influence human behavior. It can be said     capability in each environment and application requirements.
that this extracted leaf well matches real human behavior in the     We also presented a user activity context detection method that
environment. Therefore, this leaf is named JUST ENTER. The           can detect user context by using a multi spatio-temporal
fourth leaf from INSIDE considers that the user is just leaving      description of measured sensor data, a description of detected
the bathroom. When the user is entering the bathroom, the same       context with multiple levels of abstraction, and an order
attributes can be used. However in the case of entering the          sensitive description of required context model associated with
bathroom, the decision tree detects it as JUST ENTER. So, this       an application. The description of detected context takes the
leaf is named OPEN DOOR.                                             form of a decision tree. It is constructed automatically by the
   From these results, reasonable user states at different           C4.5 algorithm.
ubiPCMM 2005                                                                                                                                             25

   We introduced a ubiquitous experimental house in which                      [16] Nissanka B. Priyantha, Anit Chakraborty, and Hari Balakrishnan, “The
                                                                                    cricket location-support system,” In Proceedings of MOBICOM 2000,
various human activities can be acquired from the data of                           pages 32–43, Boston, MA, August 2000. ACM, ACM Press.
embedded sensors. We performed a preliminary experiment in                     [17] R.Want, A. Hopper, V. Falcao, and J. Gibbons, “The active badge
this house in which a decision tree that detects context with                       location system,” ACM Transactions on Information Systems, 10(1),
                                                                                    1992.
multiple abstraction levels was automatically constructed from                 [18] A. Garg, V. Pavlovic, and J.M. Rehg, “Audio-visual speaker detection
actual human activity data; the results were shown to be                            using dynamic bayesian networks,” IEEE International Conference in
reasonable.                                                                         Automatic Face and Gesture Recognition, 2000.
   Issues for further study include evaluating the performance                 [19] R. Quinlan, “C4.5: PROGRAMS FOR MACHINE LEARNING,”
                                                                                    Morgan Kaufmann Publishers Inc., 1993.
of automatic decision tree construction with respect to more                   [20] Y. ISODA, S.KURAKAKE, and K. Imai, “Ubiquitous Sensor based
complex situations, and modeling the required context                               Human Behavior Recognition using a Spatio-temporal Representation of
descriptions of more complex tasks including unordered state                        User States,” International Journal of Wireless and Mobile Computing
series. It would also be worthwhile to evaluate the feasibility of                  (IJWMC), Special Issue on Applications, Services, and Infrastructures for
                                                                                    Wireless and Mobile Computing (accepted in Dec 2004)
our prototype system by adapting it to support real applications.

                                                                               Yoshinori ISODA Senior Research Engineer, Network Laboratories, NTT
                                                                               DoCoMo, Inc. He received the master’s degree from the Department of
                              REFERENCES                                       Systems Engineering, the University of Osaka in 1993. Since joining NTT in
[1]  D. Saha, A. Mukherjee, “Pervasive Computing: A Paradigm for the 21st      1993, he has been researching sensor processing systems and ubiquitous
     Century,” IEEE Computer, IEEE Computer Society Press, pp. 25-31,          computing systems. He is a member of the Information Processing Society of
     March 2003.                                                               Japan (IPSJ) and the Robotics Society of Japan.
[2] Dey, A. K., Abowd , G. D. , “Towards a Better Understanding of Context
     and Context-Awareness,” Proc. of the CHI 2000 Workshop on The What,       Shoji KURAKAKE (M’00) Executive Research Engineer, Network
     Who, Where, and How of Context-Awareness, The Hague, Netherlands,         Laboratories, NTT DoCoMo, Inc. He received the master’s degree from the
     April 2000.                                                               Department of Mathematical Engineering and Information Physics, the
[3] Abowd, G.D., Atkeson, C.G., Hong, J., Long, S., Kooper, R., Pinkerton,     University of Tokyo. Since joining NTT in 1985, he has been researching
     M.: Cyberguide, “A mobile context-aware tour guide,” Wireless             character recognition, image analysis, video media handling, seamless
     Networks: special issue on mobile computing and networking: selected      applications, and ubiquitous services. He is a member of IEICE,IEEE, and the
     papers from MobiCom .96, Vol. 3, No 5. (1997) 421-433                     Association for Computing Machinery (ACM).
[4] Cheverst, K., Davies, N., Mitchell, K., Friday, A., Efstratiou, C.,
     “Developing a Context-Aware Electronic Tourist Guide: some issues and     Kazuo IMAI (M’84) Executive Director of Network Laboratories, NTT
     experiences, “ Proc. CHI, The Hague, Netherlands, April 2000              DoCoMo, Inc. He received the B.Sc. and M.Sc. degrees from Kyoto University
[5] Broadbent, J., Marti, P., “Location-Aware Mobile Interactive Guides:       in 1974 and 1976, respectively. Since he joined NTT Laboratories in 1976, he
     Usability Issues,” Proc. Inter. Cultural Heritage Informatics Meeting,    has been engaged in various R&D activities including digital data exchange
     Paris, France, 1997                                                       systems design, ISDN user-network interface definition, and broadband
[6] Abowd, G. A. Bobick, I. Essa, E. Mynatt, and W. Rogers, “The Aware         switching and access systems research. Most recent activities at NTT were to
     Home: Developing Technologies for Successful Aging,” Workshop held        lead the research into and implementation of a network services platform for
     in conjunction with American Association of Artificial Intelligence       NTT's information sharing services. Since April 2000, he has been with NTT
     (AAAI) Conference 2002, Alberta, Canada, July 2002.                       DoCoMo where he leads the next generation networking research for mobile
[7] S. Stillman, R. Tanawongsuwan, and I. Essa, “A system for tracking and     communications.
     recognizing multiple people with multiple cameras,” in Proc. 2nd
     International Conference on Audio-Vision-based Person Authentication.
     1999.
[8] I. Haritaoglu, D. Harwood, and L. Davis, “W4: Who, When, Where,
     What: A real time system for detecting and tracking people,” In Third
     International Conference on Automatic Face and Gesture. Nara, 1998.
[9] H. Ishiguro, T. Nishimura, T. Sogo and R. Oka, “VAMBAM: View and
     Motion-based Aspect Models for Distributed Omnidirectional Vision
     Systems,” Proceedings of the Seventeenth International Joint Conference
     on Artificial Intelligence (IJCAI-01), No.651, 2001.
[10] J.W. Davis and A.F. Bobick, “The representation and recognition of
     action using temporal templates,” In Proc. the IEEE Conference on
     Computer Vision and Pattern Recognition, pages 928–934. IEEE Press,
     1997.
[11] X. Sun and C.W. Chen, “Probabilistic motion parameter models for
     human activity recognition,” IEEE International Conference on Pattern
     Recognition (ICPR02), 1, 2002.
[12] M. Mozer, “The neural network house: an environment that adapts to its
     inhabitants,” In Proceedings of the AAAI Spring Symposium on
     Intelligent Environments, Technical Report SS-98-02, pp.110–114,
     AAAI Press, Menlo Park, CA, 1998.
[13] M. Mozer, “Lessons from an adaptive house,” In D. Cook & R. Das (Eds.),
     Smart environments: Technologies, protocols, and applications. J.
     Wiley & Sons, 2004.
[14] K. P. Murphy, “Dynamic Bayesian Networks: Representation, Inference
     and Learning,” PhD thesis, University of California, Berkeley, 2002.
[15] H. Kautz, O. Etziono, D. Fox, and D. Weld, “Foundations of assisted
     cognition systems,” Technical report cse-02-ac-01, University of
     Washington, Department of Computer Science and Engineering, 2003.