An Intelligent Context-Aware Spatial Routing System in ... - CiteSeerX

1 downloads 0 Views 263KB Size Report
i.e., a route to the destination that is short, fast or scenic. The goal context might be changing by the time, as user preferences in such a dynamic environment ...
An Intelligent Context-Aware Spatial Routing System in Mobile Environment Dejian Meng, Stefan Poslad

Yapeng Wang

School of Electronic Engineering and Computer Science Queen Mary University of London London, United Kingdom {dejian.meng, stefan.poslad}@elec.qmul.ac.uk

MPI-QMUL Information Systems Research Centre Macao Polytechnic Institute Macau SAR, China [email protected]

Abstract—The rapid growth and development of wireless communication and networking technologies coupled with far more powerful and energy efficient mobile computing systems enable more intelligent behaviours such as user-centric and selfreflection to be used so that mobile user applications can leverage dynamic context information to provide customized services. In this research, an architectural model for the deployment of intelligent context-aware service adaptation process is introduced. A mobile spatial routing application is exploited to demonstrate the improved flexibility and robustness of the new system model. Keywords-mobile; goal context; adaptation; reflection; decision making; spatial routing

I.

INTRODUCTION

The increasingly enhanced wireless information communication technologies (ICT) enable mobile computing systems to support more intelligent applications. Mobile applications [1] [2] [3] [4] can exploit spatial routing services to plan different kinds of traffic routes for mobile users. Mobile applications can configure and customise the services according to user needs. When the environment where the application is situated changes, the application will sometimes need to reconfigure these services to match different context conditions. Context-awareness, in this case is deployed to enable the mobile application to adapt its service configuration. In a user-centric pervasive environment, such as travel, the environment should include not only the physical environment such as current location, traffic flow, etc., but also the user environment such as a user’s situation, tasks, preferences and goals. Previous work includes [12], which developed an intelligent decision making system for travellers indoors such as airports and [13] which focussed on outdoor context-aware information use. In [12] location centric services, are offered to travellers enabling them to travel more smoothly inside the airport, e.g. guiding them through check-in, security check and the boarding gates. In order to introduce intelligent behaviours into contextaware systems, several problems need to be addressed. These are as follows. how user goals can be defined so that a continuous and variable user preferences to the application can be recognised; how a goal-based approach and dynamic planning can used to introduce more flexibility into existing static context-service relationships; how goal-based planning can handle user situation, physical environment and system

changes; How ambiguities and inconsistencies in the planning process that occur can be handled; how the decision making process following the user goal can seamlessly be integrated into the system. In this paper, a context-aware framework is proposed to address these design issues. II.

AN INTELLIGENT CONTEXT-AWARE FRAMEWORK

In this context-aware framework, two layers of adaptation, i.e., context adaptation and service adaptation, are defined. The context adaptation layer enables planning to be deployed during context evolution (from current contexts to goal contexts), which provides a way to exploit goal contexts to reflect user preferences about the interaction. A service adaptation layer performs the actual configuration or customization of services. A reflective middleware between the two layers is used to resolve any inconsistencies. A. Context Context-aware systems are systems that are aware of the situation in their physical and virtual environment and can respond in some way to benefit from knowledge of that situation. A context can be defined as any information that can be used to characterise the situation of an entity, considered relevant to the interaction between a user and an application [5]. Spatial routing applications require information such as current location, time, weather, traffic situation and so on to characterise route environment changes, so that it can be aware of their changes and adapt to them. Context adaptation can be represented as a transformation from current user contexts to users’ goal contexts [7]. For spatial routing applications, users expect routes to be generated to satisfy all their constraints and preferences. The simple view is that the destination location is the goal context in the spatial routing example, because the application user is heading to the destination. However, in terms of the spatial routing application, a more complex view of the adaptation should also take into account goal constraints of the route as goal contexts, i.e., a route to the destination that is short, fast or scenic. The goal context might be changing by the time, as user preferences in such a dynamic environment may need to alter. Two dimensions of a goal context are modelled: the intrinsic goal (path) context defines how the goal context is reached from a corresponding current context; while the

978-1-4244-3693-4/09/$25.00 ©2009 IEEE

extrinsic goal (constraints) context defines meta-dimension information about the goal dimension information, e.g., how the goal context is constrained. The difference relies on whether it is information about the goal (user expected) situation, or the goal (user expected) information about the current situation. The goal dimension configuration specifies rules to change the configuration of goal contexts, e.g., the priority of each goal context. Some concrete context instances for a spatial routing application are shown in Fig. 1. For example, if it is known that other users will arrive late at a meeting venue, a fast route becomes less important because the user is not in a hurry as his or her preferences for the goal constraints have changed.

interface is defined between the external world (context) and internal world (service). A service adaptation layer actually executes the services which are driven by the external context adaptation layer (Fig. 2). The multi-lateral context-aware adaptation architecture (Fig.2) is made up of a context adaptation layer, a service adaptation layer and middleware. Goal contexts are abstracted from the user preferences to the application. Planning is used to generate a context adaptation specification for a context path from the current to the goal context. When a configured service does not generate a goal route that meets the goal constraints, the inconsistency is spotted and reported back to the middleware as an event to be resolved (see next section).

Figure 1. The goal context model.

B. Adaptation Layers Service adaptation refers to the adaptation of service instances and to the dynamic customisation of services. The adaptation of service instances can be multi-valued, involving reconfiguration of objective priorities to determine how a goal path is generated according to the combination of one or multiple goal constraints e.g., for a spatial routing application the priorities of how fast, how scenic, and how short the route is can be adjusted [6]. Applications execute the preferences of the user through instantiating service customization. External contexts drive service adaptation to change the current situation to the goal situation. Most designs for context-aware computing use built-in mechanisms such as condition-action rules for service adaptation. There is a lack of a holistic approach to combine the use of multiple individual contexts to adapt to goal contexts, hindering more complex adaptation. This often involves deliberating about context changes rather than purely reacting to context changes. Static rules lack flexibility because the knowledge that supports decisions is not represented explicitly and cannot be modified. A layered adaptation model for a context-aware system is defined comprising a Context Adaptation Layer (CAL) and a Service Adaptation Layer (SAL). CAL is made up of a context model and a context path. In the CAL, current contexts and goal contexts need to be combined so as to establish an ordered (fully or partially) path to guide service adaptation in SAL. Context adaptation is a process which guides service adaptation. In this case, a context adaptation specification will be transformed into a service adaptation specification, which links (external) context adaptation to (internal system) service adaptation. Therefore an

Figure 2. A multi-lateral context-aware adaptation architecture.

C. The Reflective Middleware With loosely-coupled context and service models, inconsistencies between context changes and service changes can occur. For example, in spatial routing applications, if there is a traffic accident deviation to the planed route, CAL will normally plan to avoid a blocked road, minimizing the added deviation to satisfy a multi-valued goal context such as a particular shortest, fastest and scenic route. This leads to a routing failure in SAL because the travelling time from such a routing plan will exceed the time limits the user expected. To solve this problem, reflection about such potential failures takes place before the actual route is generated. To this end, Adaptation Middleware Layer (AML) also adds a reflective model about the internal system to the existing external environment model. A reflective system focuses on meta-computation, computation to reason about its own operational computation [7]. A reflective system needs a representation of its own computation. The operational status and computation of the system complies with this representation [8]. The key to applying a reflective model to the existing system is that the self-representation can be modified at run-time and these modifications actually have an impact on the run-time computation. Regarding our system, we add AML to the existing spatial routing service which is located at the SAL to make the service adaptation reflective (Fig. 3). Context composition combines different context types in a multi-valued context and combines instances of contexts. It

uses a planner to link the current contexts and goal contexts. The planning process is achieved by partitioning the goal contexts further into sub-goal contexts and reasoning about the corresponding knowledge defined in the context domain to meet those sub-goal contexts. A context adaptation specification will be generated from the context composition, which will be mapped to the service adaptation specification. Service adaptation is treated as the base system to be reflected about. The service adaptation specification defines policies and parameters for service adaptation.

context configuration (GCC) takes place at the context adaptation layer. In the goal context model, GCC actually refers to the intrinsic goal context configuration, which is dynamically driven by the extrinsic goal contexts. GCC should be a static scene which defines the score of each intrinsic goal context. Such goal context score is used to reflect how much importance the context is to the user goal. Score values are defined as equal-spaced integers between 1 and 9, where 1 denotes the most priority, 9 denotes the least, and the gap is defined as the difference between the highest and lowest score values, i.e., 9 and 1, divided by the number of goal contexts. In the goal context model, short route (SH), fast route (FA), and scenic route (SC) are initially assigned with scores 1, 4, and 7 respectively. Therefore an initial GCC can be represented as GCC1 (1; 4; 7), where the first priority is assigned to SH, the second to FA, and the third to SC. GCC is a context level configuration, which should be mapped to service level as multi-objective service configuration (MOSC), which is depicted in figure 3 as context to service mapping. The mapping process is defined according to the calculations using the AHP method [11]. The process includes the following steps:

Figure 3. The reflective middleware layer model in more detail.

While a service is being adapted, internal events may occur because of unexpected inconsistencies arising from external context changes. These events will be reported to the context mediator in the AML, which mediates between the context changes and the context composition leading to more realistic goal contexts. Mediation can occur by two ways: the goal contexts can be mediated automatically if they are represented semantically, e.g., short-time travel can sometimes be viewed as short-distance travel if the travel speed is not important. If the mediation cannot be done automatically, user intervention is needed to revise the goal contexts. Any changes taking place in the context composition will lead to a change in the service adaptation specification, which therefore reflects the change back to the service itself. III.

ANALYTIC HIERARCHY PROCESS DEPLOYMENT

Analytic Hierarchy Process (AHP) is a multi-criteria decision making approach in which factors are arranged in a hierarchic structure [11]. The multi-lateral adaptation model supports the AHP method and deploys it into the reflective architecture. Multi-lateral adaptation based on a goal context model is actually a decision making mechanism, which maps the high level deliberation, the interaction between the environment model and the user model, into actual service executions. The goal context model supplements the AHP method well, as this can be regarded as the goal criteria defined in the AHP concept domain. In the route planning application, goal contexts such as a short route, fast route, and scenic route, can be taken as three primary criteria to decide the route. Goal

1/RSab = (1 – Sb /Sa) ╳ 10

; Sa > Sb

(1)

RSab= (1 – Sa /Sb) ╳ 10

; Sa < Sb

(2)

RSab = 1

; Sa = Sb

(3)

First, a pairwise comparison matrix [] is defined as shown in (4). A1, A2, and A3 represent three goal contexts. RSab means the relative comparison between the first score (Sa) and the second score (Sb). A1

A2

A3

A1

RS11

RS12

RS13

A2

1/ RS12 RS22

RS23

A3

1/ RS13 1/RS23

RS33

(4)

According to the priority values set in GCC1, (4) can be instantiated to (5) by using (1), (2), and (3): A1

A2

A3

A1

1

7.5

8.6

A2

1.3

1

4.3

A3

1.2

2.3

1

(5)

Then the matrix can be normalized by dividing each element by the sum of the corresponding column. 0.29

0.69

0.62

Anorm = 0.37

0.10

0.31

0.34

0.21

0.07

(6)

MOSC is the service level configuration, which should include the priority (p) of and the corresponding route utility mechanism (um) regarding each objective, e.g., route distance (RD), route speed (RS), and route condition (RC).The average

value of each row in (6) can be calculated to represent the priority of a corresponding objective. Prd = (0.29 + 0.69 + 0.62) / 3 = 0.53

(7)

Prs = (0.37 + 0.10 + 0.31) / 3 = 0.26

(8)

Prc = (0.34 + 0.21+ 0.07) / 3 = 0.21

(9)

Therefore the initial objective priorities according to GCC1 can be set as P1 (0.53; 0.26; 0.21). Utilities of route segments are defined as static information, as each segment inherently contains road distance, road type, and road surroundings, which can reflect the distance, speed, and condition. So the ranking of each route segment can be calculated from (10) and the multi-objective spatial routing problem now is mapped to a single-objective spatial routing problem, i.e., a shortest path problem. Rseg= ∑ p ╳ umseg

(10)

Then Dijkstra’s algorithm [10] is exploited to resolve the shortest path problem. The Dijkstra’s algorithm takes as input, a weighted directed graph G and a source vertex s in the graph G. If the set of vertices and edges in a graph are denoted as V and E respectively, the algorithm finds path from s to destination vertex t with the lowest cost (i.e. shortest path). Later when reflections take place, the context mediation will reconfigure GCC1 to GCC2, GCC3, etc., by adjusting the goal context scores. Then the above steps will be triggered to execute again and P2, P3, etc. can be calculated. At the end, the MOSC will get updated for the service reconfiguration. IV.

IMPLEMENTATION AND DISCUSSION

A map demonstrator [9] has been implemented and deployed based upon test cases shown in figure 4 and 5 which concern re-routing when a traffic block at Queen Mary occurs. The case on the left shows the pre-planed route R1, and the other one shows the adapted route R2. R2 takes a longer distance and less scenic part of area, but will be much quicker to get to the destination in time. In R2 planning, the user goal contexts have been reconfigured. This is because the routing service first tries to get a route across more park areas which could maximize the aggregated benefits with respect to the old priority setting, but this turns out to exceed the time limit; therefore reflection is called to amend the priorities.

Figure 5. A reflective goal-based adaptive route planning

V.

We investigated and applied a reflective goal-based system for context-aware adaptation in a spatial routing application. The use of a goal context model and a multilateral adaptation framework can resolve the design issues as proposed. The deployment of an AHP method in the multi-lateral architecture effectively imbues the decision making method into the adaptation and reflection process. The system enables dynamic goal context configuration and hence service adaptation. In the future, we need to develop more use cases and to consider the overhead in deploying the system. REFERENCES [1] [2]

[3]

[4]

[5]

[6] [7] [8] [9]

[10] [11] [12]

Figure 4. A static route planning

CONCLUSION

[13]

J. Fawcett and P. Robinson, “Adaptive routing for road traffic,” IEEE Comput. Graph. Appl., vol.20, no.3, pp. 46-53, 2000. S. Rogers, C.N. Fiechter, and P. Langley, “An adaptive interactive agent for route advice,” 3rd annual conference on Autonomous Agents, Seattle, Washington, United States, pp. 198-205, 1999. H. Hochmair, “Towards a classification of route selection criteria for route planning tools. Developments in spatial data handling,” 11th International Symposium on Spatial Data Handling, Berlin, pp. 481-492, 2005. J. Lee, and S., Park, et al., “ACE-INPUTS: A Cost-Effective Intelligent Public Transportation System,” IEICE Trans. Inf. & Syst., Vol. E90–D, No.8, pp. 1251-1261, 2007. A. K. Dey, and G. D. Abowd, “Towards a better understanding of context and context-awareness,” In Proceedings of the Workshop on the What, Who, Where, When and How of Context-Awareness, New York. ACM Press, 2000. D. Meng, and S. Poslad, “A reflective context-aware system for spatial routing applications,” MPAC08, pp. 54-59, 2008. S. Poslad, Ubiquitous Computing: Smart Devices, Environments and Interactions. Wiley, ISBN: 978-0-470-03560-3, 2009 P. Maes, “Concepts and Experiments in computational Reflection,” Proc. OOPSLA '87, pp. 147-155, 1987. Z. Liang, S. Poslad, and D. Meng, “Adaptive Sharable Personalized Spatial-Aware Map Services for Mobile Users,” GI-Days 2008 Conference, Munster, German, pp. 267-273, 2008. D.E. Knuth, “The Art of Computer Programming”. Vol 1. 3rd ed., Boston: Addison-Wesley, ISBN 0-201-89683-4, 1997. T. L. Saaty, “How to make a decision: The Analytic Hierarchy Process,” European Journal of Operational Research, Vol. 48, pp. 9-26, 1990. Y. Wang, A. Ma, L. Cuthbert, Agent Based Cooperation Control over Wireless LAN networks with Semi-Smart Antennas, IASTED Int. Conf. Networks and Communication Systems (NCS 2006), pp. 417-424, 2006. S. Poslad, H. Laamanen, R. Malaka et al. “CRUMPET: Creation of User-friendly Mobile services PErsonalised for Tourism”. Proc. IEE 3G2001 Conf. Mobile Communication Technologies, pp. 28-32, 2001.