An RSN Tool: A Test Dataset Generator for Evaluating RFID Middleware

3 downloads 58305 Views 297KB Size Report
generated dataset can be considered for stress testing, but this cannot guarantee whether the ... This paper presents an RSN Tool which generates semantic datasets ..... As p3 has two output nodes, we apply a round-robin function in the p3.
An RSN Tool : A Test Dataset Generator for Evaluating RFID Middleware* Wooseok Ryu1, Joonho Kwon2, and Bonghee Hong1 1 Dept. of Computer Engineering Institute of Logistics Information Technology, Pusan National University, Busan, Republic of Korea {wsryu,jhkwon,bhhong}@pusan.ac.kr 2

Abstract. Evaluation of RFID middleware is a complex process due to its cost for constructing a test bed involving RFID readers and tags. An input dataset of the RFID middleware is a tag event stream from connected readers. A randomly generated dataset can be considered for stress testing, but this cannot guarantee whether the middleware can provide correct answers on given dataset. To enable this, the dataset should be meaningful to represent tags’ activities based on business rules. This paper presents an RSN Tool which generates semantic datasets based on tags’ behavior. The basic idea is to virtualize RFID environments in a point of business processes. To do this, the RSN Tool provides a modeling of real world RFID environments using graph representations, and execution mechanisms of tags’ movements under several business rules. The experimental result shows that the RSN Tool can create a semantic valid dataset which reflects tags’ behavior. Keywords: Middleware Evaluation, Test Dataset, RFID Middleware.

1

Introduction

Radio Frequency Identification (RFID) is a leading technology in ubiquitous computing by means of automatic and wireless identification [1]. RFID technology enables capturing of real world behavior by identifying, tracking, and monitoring tagged physical objects [2]. With its inherent advantages, RFID has been adopted in variety of business areas, such as supply-chain management, manufacturing process management, and asset management [3]. An RFID system consists of three components: tag, reader, and middleware. An RFID tag can be attached to any item and enables unique identification of the item by a tag ID. RFID readers are usually installed at business locations such as gate and door to identify tags within its RF-field. The purpose of RFID middleware is to capture business information from mass of tag events generated by RFID readers. Similar to the stream data management system, the RFID middleware filters a tag *

“This work was supported by the grant of the Korean Ministry of Education, Science and Technology” (The Regional Core Research Program/Institute of Logistics Information Technology).

J.J. Park et al. (Eds.): STA 2011, CCIS 186, pp. 217–224, 2011. © Springer-Verlag Berlin Heidelberg 2011

218

W. Ryu, J. Kwon, and B. Hong

event stream and collects user-requested events only. As one of core components in RFID systems, the performance of the middleware needs to be carefully evaluated under various business environments. To evaluate RFID middleware, it is necessary to acquire a tag event stream which is a test dataset for RFID middleware. Several approaches are discussed to generate the stream by means of emulating RFID readers [4][5]. The paper [4] defined several performance parameters for RFID middleware such as tag throughput and response time, and presented a reader emulator which generates random tag data to evaluate the parameters. Several reader emulators are presented in [5] to evaluate functionality of the middleware. Although the emulation approach enables stress testing of the middleware using huge stream of data, it is not possible to evaluate correctness of RFID middleware because the data do not include any business semantic. It is obvious that semantic validity should be provided in the tag event to evaluate correctness of RFID middleware using meaningful queries [6]. The best way to solve this problem is to construct a real RFID test bed based on real RFID-enabled business environments. However, this approach is not common because of its huge cost involving capital, personnel and time [3]. It is necessary to develop a simulation mechanism of RFID environments to generate a semantic tag event stream. In this paper, we present an RFID Simulation Network Tool (RSN Tool) to generate a semantically valid test dataset by means of virtualizing RFID environments. To do this, this paper presents an RFID Simulation Network (RSN) which is a graph representation of RFID environments to capture business activities of tags. To provide semantic validity of the tag event stream, this paper presents a mechanism for executing tags’ movement based on business rules such as group movement. The main contributions of this work include development of complete mechanisms to provide semantic validity of generated tag event stream, and evaluation of the RSN Tool to verify usability of the tool. Using the RSN Tool, correctness of RFID middleware can be easily evaluated under various virtual environments. The remainder of this paper is as follows. Section 2 presents the RSN to virtualize an RFID environment. In Section 3, we describe execution mechanisms for executing the RSN and generating a semantic tag event stream. Implementation the RSN Tool is discussed in Section 4. In Section 5, expressive power of the RSN tool is evaluated using experiments. We conclude our work in Section 6.

2

Representation of RFID Environment

In the RSN Tool, an RFID Environment is represented using an RFID Simulation Network (RSN) which is based on the Petri net. An RSN consists of four components : reader, process, arc and tag. Detailed descriptions of each component are discussed as follows: • Reader : A reader is a one type of nodes representing a physical RFID reader which identifies tag’s identifiers within RF-field of the reader. • Process : A process is the other type of nodes which represents a business process where RF-field from readers are not reachable. The process is placed between two or more readers and takes a role of the bridge between them. The process typically

An RSN Tool : A Test Dataset Generator for Evaluating RFID Middleware

219

represents geographical locations or business status of the tag. Examples of the process include room, warehouse, shipped, transporting and so on. • Arc : An arc connects two types of nodes. The arc represents a route of tags’ movement. An arc can connect a reader with a process only. It mean that no arc can connect two readers or two processes. • Tag : A tag represents a passive RFID tag. A tag may reside in a reader or a process. A tag is represented as a 2-tuple ti=(rid, ts) where rid is a reader ID and ts is an arrival time of ti in rid. The tag moves to other nodes by passing arcs connected to the node under business rules. An example of the RSN is shown in Fig. 1. In the figure, readers are marked using circles, and processes use rectangles. 6 tags are initially located at r1. If the RSN executes, the tags move to the other nodes using several execution mechanisms of each node. Detailed descriptions of the tags’ movements are discussed in next section. Warehouse#1 Stock

t1=(r1, 0) t2=(r1, 10) t3=(r1, 20) t4=(r1, 30) t5=(r1, 40) t6=(r1, 50)

r4

Manufacturer Assemble

r1 Assembly line

p1

Transporting

Palletize

r2 Conveyor

p2

r3

p4

Door

Gate

p3

r5

Warehouse#2

Dock Door

Stock

r6

p5

Gate

r7 Door

Fig. 1. An RSN example describing a simplified production management

3 3.1

Execution Mechanisms of the RSN Tool Movement of Tags Based on Business Rules

There are several cases of tags’ movements in the RFID environment. Tags can be traversed to other readers sequentially, or a set of tags can form a group which moves together. For example, a set of tagged items can be loaded on a pallet, and then the pallet traverses several readers. Obviously, the tags can be grouped together or separated from the group dynamically. To represent such business activities, we define some attributes for describing the movement of tags as follows: • Movement Time (time) : This is an attribute of a node to define visiting time in the node. If a tag stays in a node for a specified time, the tag moves to the other node connected from the node. It represents timed-behavior of business processes such as movement of tags using conveyors or vehicles. In case of a reader, it represents a staying time in the RF-field of the reader. In case of a process, it represents a consumed time during in the process. For example, assume that r1.time in Fig. 1 is set to 20 seconds. Then, t1 will enter r1 at 0 second and leave r1 at 20 seconds.

220

W. Ryu, J. Kwon, and B. Hong

• Group Size (groupSize) : This is an attribute of a process to define the cardinality of a tag group in the process. It represents packing processes or palletizing processes that require movements of a tag group. If the number of tags reaches the groupSize, then the tags can move to the next node. For example, assume that p2.groupSize in Fig. 1 is 3. Then, three tags should always move from p2 to r3 at the same time. • Split Interval (splitInterval) : This is an attribute of a process to define a separation time interval of a tag group. A set of tags always traverses several nodes together once they are grouped together. The splitInterval attribute can describe a separation of tags in the group. If splitInterval is specified in a process, grouped tags in the process move to the next node one by one at every splitInterval times. Unpacking process can be expressed using this attribute. For example, assume that three tags enter p4 at the same time and p4.splitInterval is 5seconds. Then, three tags move to r5 one by one at every 5 seconds. Using above three attributes, the RSN can determine which tag should be moved at which time. In addition, the RSN also need to determine to which node the tag should move. If the number of next nodes of a node is more than one, it is required to choose a single target node to move. For example in Fig. 1, since a process node p3 has two outgoing arcs, tags in p3 can move to either r4 or r6. To handle this, the RSN Tool defines a distribution function which determines the target node of the tag’s movement. Algorithm ExecuteTagsMovement (node, currentTime) 1 node is a Node of the RSN 2 currentTime is current execution time of the RSN 3 Begin 4 // The first-round Loop : 5 // choose tags to be grouped together and calculate last arrival time 6 tagGroup = {} // an empty array of tags 7 for each tag in node 8 if tag.ts + node.time

Suggest Documents