Chapter 3 State of the Art
3.2 Models for Situation-Based Testing
3.2.3 Activity Modelling
Ubicomp simulators, particularly those that feature 2D or 3D visualisations of the environment, often provide either user controlled bots [14, 21] or simulation driven bots [59, 105] in the environment. To operate user controlled bots, a human must drive a bot’s behaviour, often through standard PC controls. For simulation driven bots, artificial intelligence (AI) or multi-agent based simulations (MABS) are used to generate believable user activity. Re-use of existing simulation engines has generally been acceptable. Examples include the work by Serrano et al. [105] who built Ubik on MASON1, Jouve et al. [59] who created DiaSim as an extension to Siafu2, Bylund
and Espinoza [20, 21] who created QuakeSim as an extension to QuakeIII Arena3
and Barton and Vijayaraghavan [13] who built UbiWise on QuakeSim. Although the latter two of these simulators do not implement activity models, they still need to make use of related features such as velocity and collision detection for avatars. The discussion in this section assumes that low-level simulation concerns, such as the physics, navigation and collision detection, are handled by the simulation engine.
Song et al. [109] acknowledge the importance of the spatio-temporal relationship in their modelling approach for tracking the location of complexly moving objects, i.e. those objects that can manifest both random and linear movement patterns. Their model is fundamentally based on a travelling pattern that users are either moving or paused. Moving refers to the time when the user is moving between destinations. Paused refers to the time when the user is at their destination. Song et al. based this on a number of observations including:
• A mobile subscriber mainly switches between two states, stop and move. • The majority of objects in the real world do not move according to statistical
parameters, but instead with intent.
1MASON: Multiagent Simulation Toolkit, http://www.cs.gmu.edu/ eclab/projects/mason/
(Accessed 15thNovember 2010).
2Siafu: An Open Source Context Simulator, http://siafusimulator.sourceforge.net/ (Accessed
15th November 2010).
3Quake III Arena, http://www.idsoftware.com/games/quake/quake3-arena/ (Accessed 15th November 2010).
• Mobile objects can be grouped by class, which shares common characteristic of maximum speed, e.g. pedestrians, bikes and cars.
• Motion has random and regular parts.
It is the first two items on this list that are most interesting for this thesis, since they are highly relevant to situation or scenario descriptions. The latter two are more relevant to algorithms for sensing technologies which need to efficiently track users in the environment. In implementing activity models for simulation-based ubicomp test-beds and tools, particularly those that address the spatio-temporal relationship, a number of research projects have demonstrated success with high-level models that use ‘hotspots’ [55] or ‘states’ [45].
Huebscher and McCann [55] proposed a simulation-based test-bed using a model of contexts to test the context logic of a context-aware application. Their activity model is a high-level description of common activities, e.g. get out of bed,get dressed and go out of home. To create a simulation, the designer associates these activities with hotspots in a 2D map. When an avatar executes an activity, it moves to the associated hotspot and takes a defined time (∆t) to arrive there. This simulated user activity drives context generation suitable for testing context-aware application logic.
Garc´ıa-Valverde et al. [45] make use of the MASON engine which handles the low-level concerns such as simulating velocity and speed in movement. These researchers add a state-based transition model of user behaviour on top of the MASON engine which uses probabilistic models of human behaviour. States are divided between basic states, states with memory and states without memory. The basic state is the primary activity for an agent, i.e. the state that the agent will spend most of their time in during the day. Agents move between the basic state and other states according to a probabilistic model based on the time since a specific state was last entered, i.e. an agent which has just had a break is likely to wait a while before taking another break.
environments, fully random mobility models perform poorly compared to models that more accurately represent user activity, such as activity based modelling. This corresponds with Song et al.’s [109] observation that user mobility generally adopts amove-pause pattern, and users tend to move with intent, i.e. their behaviour is not random. The study by Scourias and Kunz was motivated by the observation that the profile of mobile computing users had changed since random models were first used. They note that early mobile computing was largely adopted by users who were continuously mobile. However, wider adoption of the technology has meant that it is now used by users who are often stationary, which changes the movement pattern.
Tabak and de Vries [110] note that there is a current trend towards activity based modelling for human behaviour in building usage simulation. Activity based modelling aims to approximate simulations more closely to real user behaviour. Hoes et al. [53], in their results on energy simulations for smart buildings, indicate that user behaviour should be assessed in greater detail, specifically targeting individual buildings and their intended occupants. This fits well with an activity-based modelling approach, because activities are often associated with specific locations in buildings. For example, to post a letter a user needs to go to a mailbox or mailbag, to get a coffee a user needs to go to a coffee machine, or to collect a printout a user needs to go to the printer.