Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Int’l Conf.

on Computer & Communication TechnologyŇ,&&&7¶Ň

Model Checking Message Exchange in Location Based Services


Ashwini Moily, Guru Prasanna, Keerthi S. Shetty and Sanjay Singh
Department of Information and Communication Technology,
Manipal Institute of Technology, Manipal, India.

Abstract - Over the past couple of years, the extent of the Zhang et. al. [3] uses RFID to provide LBS to a context
services provided on the mobile devices has increased rapidly. aware system. They use a hierarchical structure that
A special class of service among them is the Location Based organizes positions based on Tracking Zone of Interest
Service which depends on the geographical position of the user. (TZOI). They use RFID tags to locate the user and provide
The aim of this paper is to model check the messages
exchanged between the user and the service provider. Using a
the required service. This project requires security and
symbolic model checker tool called NuSMV, the message privacy protection to be taken care of which could prove to
exchange in the system has been modelled and it is observed be an added shortcoming to the development of the project.
that the system takes care of all the constraints by satisfying all In this paper, we have developed a method to formalize
the specifications. the messages exchanged between the service provider and
Index Terms—Symbolic Model verifier, NuSMV, Location Based the user in the LBS environment using a symbolic model
Services, Model Checker. checking approach. We have used a tool called New
Symbolic Model Verifier (NuSMV) [4].
I. INTRODUCTION The remaining paper is organized as follows. Section II
discusses the theoretical background of LBS, various
There has been a substantial rise in the use of mobile technologies used and the message exchange that occurs in
devices over the past couple of years. The range of services the system. Section III describes the implementation along
provided to these users has also seen a lot of advancement, with pseudo code for the same. Section IV discusses about
Location Based Services (LBS) being one of them. The the various properties of the system. Finally, a conclusion
service provider uses the geographical position of the user to has been drawn in section V.
provide these services. A symbolic model checker is used to
model the messages exchanged between the user and the II. THEORETICAL BACKGROUND
service provider. It searches the entire possible state space
and checks for the correctness of the various specifications. A. Location Based Services
A lot of development in the field of mobile computing Location based service uses the geographical position of a
devices can be seen during the recent years. With the rapid user to provide services such as health, work, entertainment
improvement in technology of these mobile computing services etc. The mobile service providers are the entities
devices, LBS have been gaining a lot of attention over the that provide these services to the user.
years. But any form of work in the field of formalizing these A distinct characteristic of LBS is its capability to
LBS has been minimal. provide service not just based on time and location, but also
Hoareau and Satoh [1] have discussed a query processing based on the user requirement at a particular location. The
Framework for location based services in their works. They LBS system should be aware of the user needs and capable
use context aware services to detect the locations of people, of mapping it to the location at which the service is required.
physical objects and services. They can be modeled in a The complexity of this system increases when the accuracy
symbolic manner, independent of any location sensing of the position and the dependency relationships between
technology [1].The idea behind their query based framework the locations need to be considered [3].
is to apply and adapt the principles of model checking to There are various devices that can be used to detect the
query the contextual data structures. They use a query based location of the user in the system. Some of the examples are
language to ensure the correctness of their framework [2]. Global positioning system (GPS), RFID etc.
They try to make sure that the results of any query (i) do not 1) GPS based systems: The Global Positioning System is a
miss any information that satisfy its necessary and sufficient navigation system that consists of 28 high-altitude satellites
conditions and (ii) do not contain any information that does with highly accurate atomic clocks. These satellites are used
not satisfy the conditions. They have proposed a layered to find the precise geographical position of a user. The GPS
system architecture using Objective [2]. This framework services are usually freely available [5].
uses context aware services that can be used in Radio The GPS receiver uses a triangulation method of the
Frequency Identification (RFID) based systems or location satellites to pinpoint the location of a user. It can be used to
aware systems. But this framework does not use any method find the exact location to an order of a few meters. Error
of communication between the client and server. All the larger than a few meters is intolerable in these systems. GPS
communication among different modules in the system is systems have a response time of the order of a few
done using the query processing framework. milliseconds making it a highly efficient system for LBS.

__________________________________
978-1-4244-9034-/10/$26.00©2010 IEEE 164
Int’l Conf. on Computer & Communication TechnologyŇ,&&&7¶Ň

2) RFID systems: It is one of the technologies that has III. IMPLEMENTATION


gained a lot of importance in the recent times. The distinct
Our main goal is to perform symbolic model checking for
characteristics that separate it from other context aware
LBS services. We have modularized the system into
technologies are contact-less, multi-object recognition, non-
different modules of the system such as a module that
line of-sight, and long distance, large store of memory,
provides authorization, a module where the LBS service
programmability and penetrability [3]. The main advantage
provider lists the available services for registered users etc.
of RFID is its ability to map a physical object to a virtual
object in its RFID network. This is achieved by assigning a
physical tag to each physical object.
The entire area under the RFID system is divided into
zones. These zones are then mapped into space of
information tags. This mapping makes it easier to determine
the accurate locations of the physical objects.
Currently, there is no system that is capable of giving the
exact location information. GPS works accurately only on
outdoors. It fails to provide satisfactory results when there is
some kind of obstruction. Whereas on the other hand, RFID
tags can be used on a request/response model to store unique
RFID tags or some other form of identifier in their memory,
and hence can be used to track mobile objects irrespective of
their location.
B. Message exchange in LBS Fig. 1. Location Based Services
When a user enters into the coverage area of a service
provider, various messages are exchanged. It could be the The working of the LBS system is as shown in Fig. 1. Each
service provider sending a list of services to the client, or the hexagonal structure in the figure corresponds to a location in
user selecting among the list of services, or the messages the LBS. The location is capable of providing multiple
could also include the service provider performing the services. A registered user is free to move from one location
authentication and authorization based on the information to the other. Once the user enters any location, he receives
received from the mobile device. These messages the service available in that location if he has registered for
exchanged form the backbone of the LBS system. it.
C. NuSMV The service provider performs authentication when a user
NuSMV is a software tool for the formal verification of registers for its services. If the user is authenticated, the
finite state systems. NuSMV allows us to check finite state service provider provides the list of services to the user.
systems against specifications in the linear temporal logic This list contains all the services the user is registered to and
and Computational Tree Logic (CTL) [6]. The input available in that location. The user selects a service among
language of NuSMV is designed to allow the description of the services in this list. The service provider provides the
finite state systems that range from completely synchronous requested service to the user as long as the user is in that
to completely asynchronous [4]. It provides a modular location. This can be explained better with the help of a
hierarchical description and reusable component. NuSMV is pseudo code given in Algorithm 1.
mostly used for describing the transitions of a finite Kripke The Algorithm 1 depicts the overall working of the LBS
Structure. system. When any registered user enters a location, the
NuSMV works only with finite data types such as authentication is verified based on the user id and the phone
Boolean, scalar and fixed array. The main features of number. The service provider identifies the location and the
NuSMV are its functionalities, architecture and quality of services present in that location. If the user is authenticated
implementation. NuSMV allows analysis of specification the list of services is sent to the user after verifying the
expressed in CTL and Linear Temporal Logic (LTL) using authenticity of the user. Based on this list, the user chooses
Binary Decision Diagram (BDD) and SAT-based checking from the service provided by the service provider. This can
[6]. be understood better with a help of Kripke structure as
We are using NuSMV for modeling the messages shown in Fig. 2.
exchanged in a LBS environment. We model the different This model explains that a user can move from one
states the LBS service provider goes through while location to any other location. When a user is present in one
providing the services to the registered users. location say A, he will be able to receive all the services that
he has subscribed for in that location. The user can avail the
services

165
Int’l Conf. on Computer & Communication TechnologyŇ,&&&7¶Ň

Algorithm 1 LocationBasedService () Algorithm 3 Identify Services (location)


1: Identify the different services that are available in the
1: Register User (userid, phoneno) particular location.
2: for every registered user do 2: Identify the type of services to be provided to a specific
3: when user enters any of the location user.
4: Identify Location () 3: return Location co-ordinates.
5: Identify services in Location (location)
6: if user is authenticated then Algorithm 4 Provide List of Services (services)
7: for every user do 1: if user is authorized for the service then
8: Provide List of Services (services) 2: add it to the list of available services.
9: end for 3: end if
10: for every service in the list sent by service provider do 4: return List of Services
11: user selects the service
12: end for Algorithm 2 is used as a parameter to identify all the
13: for every service selected by user do services available in that location.
14: service provider provides the service In Algorithm 4, for the given list of services available in
15: end for that location, the service provider checks whether the user is
16: end if authorized to use the service or not. For all the services that
17: end for the user is authorized, a list is created and sent to the user.
In this model, there are many services that are being
provided in a location. Based on the list of services available
at that location, and the user interest, the services are sent to
the users. Users may select any type of service they would
like to have. Once the choice is send to the service provider,
the service provider would provide with the details of the
particular service. In the model given a user can select the
different services such as Events, Food, and Music etc. The
user can change the request to any other service if they wish
to do so. Once the user moves out of the location the service
will not be available to them. In Fig. 3, location X is the
location outside the area of coverage of the service provider.
Once the user goes to that location, the service is no longer
available. The state NS denotes that no service is available
in that location.

The various CTL specifications for the LBS system can be


Fig. 2. Kripke structure for the entire LBS system given by:
x AG(user available)!AG(service available)
in a location as long as he is present in that location. The This says that if in any location a user is present, then the
service is no longer available to him if he changes the services are always provided to him if he is an authenticated
location. user. This specification is specified in Fig.2.
Algorithm 2 Identify Location ()
x AG(user request(Start))!AF(Event VFood VMusic)
1: Identify the location the user is currently present using
This says that whenever a user requests for a service, the
either RFID or GPS.
user always gets either of the services, food, event or music.
2: Identify the number of users present in the location for
This specification is specified in Fig. 3.
whom the services have to be provided.
3: return Location co-ordinates.
IV. RESULTS AND DISCUSSIONS
In Algorithm 2, the location of the user is identified using Table I shows the various constraints placed on the system
either RFID or GPS. Once the location has been identified, and results of the corresponding specifications.
the number of users has to be computed. Once this 1) The first specification in the table depicts that if there is
computation is done, the location co-ordinates of the any request to a service at any location, the LBS system has
particular user are sent to the service provider. to provide the service if the user is registered to it.
In Algorithm 3, the location co-ordinates returned by

166
Int’l Conf. on Computer & Communication TechnologyŇ,&&&7¶Ň

point to the location of error, if the system does not meet


any of the constraints. The various messages exchanged
between the service provider and the user in LBS
environment is modeled using NuSMV efficiently. It is
observed that all the constraints are met by the system
developed. We have assumed the nature of the information
in the LBS system to be static and modeled it accordingly.
There is a large scope for development that can be done in
this area.
1) The security issues need to be considered and taken care
of. We have used a very crude approach to perform
authentication and authorization that has room for
enhancement.
2) The system needs to be scaled for a large number of users
and its efficiency can be verified.
Fig. 3. Kripke structure for a single location 3) The dynamic nature of the LBS locations needs to be
taken into account and a better method to provide the
services could be proposed.
Sl.No. Case Specification
1 Location[1]=1 & Service[1][1]=1 True
REFERENCES
2 Location[2]=1 & Service[1][2]=0 False
3 Location[3]=0 & Service[1][3]=1 False [1] C. Hoareau and S. Ichiro, “Query language for location-based services:
4 Location[2]=0 & Service[1][2]=0 True A model checking approach,” IEICE - Trans. Inf. Syst., vol. E91-D,
5 PersLoc[2]=1 & PersLoc[2]=2 False no. 4, pp. 976–985, 2008.
[2] S. Ichiro and C. Hoareau, “From model checking to data management
6 Location[1]=1 & Location[1] False in pervasive computing: a location-based query-processing
framework,” in ICPS ’09: Proceedings of the 2009 international
TABLE I conference on Pervasive services. New York, NY, USA: ACM, 2009,
SPECIFICATIONS OF THE LBS SYSTEM pp. 41–48.
[3] T. Zhang, Y. Ouyang, C. Li, and Z. Xiong, “A scalable rfid-based
system for location-aware services,” in Wireless Communications,
2) The second specification in the table shows the Networking and Mobile Computing, 2007. WiCom 2007.
specification as false because the user has requested for a International Conference on, September 2007, pp. 2117 –2123.
service but the service has not been provided. [4] A. Cimatti, E. M. Clarke, E. Giunchiglia, F. Giunchiglia, M. Pistore,
M. Roveri, R. Sebastiani, and A. Tacchella, “NuSMV 2: An Open
3) The third specification says that the service has been Source Tool for Symbolic Model Checking,” in CAV ’02:
provided even though the user has not asked for the specific Proceedings of the 14th International Conference on Computer Aided
service. The specification is shown false since that is not Verification. London, UK: Springer-Verlag, 2002, pp. 359–364.
possible in a LBS system. A service is provided to a user [5] H. M. Beisner, J. G. Rudd, and R. H. Benner, “Real-time apl prototype
of a gps system,” SIGAPL APL Quote Quad, vol. 26, no. 4, pp. 31–
only when there is a request for the service. 39, 1996.
4) The fourth specification in the table says that the service [6] M. Huth and M. Ryan, Logic in Computer Science: Modeling and
is not provided to the user since it is not requested. The Reasoning about Systems. New York, NY, USA: Cambridge
specification is returned true as the LBS system does not University Press, 2004.
provide a service unless it is asked for.
5) The fifth specification says that a particular user cannot
be in two locations at any point of time. False is returned
when the user is at two different locations and a counter
example will be generated.
6) The sixth specification is false as it says that a user has
requested for two different services in the same location.
This is not allowed in the LBS system as a user is allowed to
use only one service at any given point of time.

V. CONCLUSION AND FUTURE WORK


In this paper, we have used symbolic model checking
approach for message exchange in the LBS systems. The
tool NuSMV helps us to verify the constraints placed on the
system by exploring the entire state space of the system. It
provides a counter example along with the trace path to

167

You might also like