A Cellular Learning Automata-based Deployment Strategy for Mobile Wireless Sensor Networks One important problem which may arise in designing a deployment strategy for a wireless sensor network is how to deploy a specific number of sensor nodes throughout an unknown network area so that the covered section of the area is maximized. In a mobile sensor network, this problem can be addressed by first deploying sensor nodes randomly in some initial positions within the area of the network, and then letting sensor nodes to move around and find their best positions according to the positions of their neighboring nodes. The problem becomes more complicated if sensor nodes have no information about their positions or even their relative distances to each other. In this paper, we propose a cellular learning automata-based deployment strategy which guides the movements of sensor nodes within the area of the network without any sensor to know its position or its relative distance to other sensors. In the proposed algorithm, the learning automaton in each node in cooperation with the learning automata in the neighboring nodes controls the movements of the node in order to attain high coverage. Experimental results have shown that in noise free environments, the proposed algorithm can compete with the existing algorithms such as PF, DSSA, IDCA, and VEC in terms of network coverage. It has also been shown that in noisy environments, where utilized location estimation techniques such as GPS-based devices and localization algorithms experience inaccuracies in their measurements, or the movements of sensor nodes are not perfect and follow a probabilistic motion model, the proposed algorithm outperforms the existing algorithms in terms of network coverage. Sensor deployment is a fundamental issue for wireless sensor networks [1] . The main objective of a sensor deployment strategy is to achieve desirable coverage of the network area. In general, sensor deployment strategies can be classified into the following four categories [2] [13] . -Biased distribution: In some contexts, the uniform deployment of sensor nodes may not always satisfy the design requirements and biased deployment can then be a viable option [14] . -Self-regulated: In this strategy which is useful only in mobile sensor networks, sensor nodes are deployed randomly in some initial positions within the area of the network. After this initial placement, sensor nodes move around and find their best positions according to the positions of their neighboring nodes [15] [16] [17] [18] [19] [20] . One important problem which may arise in designing a deployment strategy for a wireless sensor network is how to deploy a specific number of sensor nodes so that the covered section of the area is maximized. Since this is an optimization problem, random based deployment strategies (Randomly undetermined and biased distribution) are not suitable approaches for solving it. Predetermined deployment strategies which are commonly centralized are not well suited to this problem as well. This is because a counterpart of this problem in computational geometry domain, which is to maximize the guarded interior of an art gallery by a specific number of vertex guards, is proved to be APX-hard [21] . This indicates that finding an approximation close enough to the optimal solution of the problem is impossible in polynomial time. Self-regulated deployment strategies on the other hand are well suited to this problem.. To the best of our knowledge, all of the self-regulated deployment strategies given in literature require for every node to be aware of either its geographical position within the area of the network or its relative distance to all of its neighbors. If none of this information is available to the nodes of a network, the problem becomes more complicated. In this paper, we propose a self-regulated deployment strategy based on cellular learning automata called CLA-DS which guides the movements of sensor nodes within the area of the network without any sensor to know its position or its relative distance to other sensors. In the deployment strategy proposed in this paper, neighboring nodes apply forces to each other which make every node move according to the resultant force vector applied to it. Each node is equipped with a learning automaton. The Learning automaton of a node at any given time decides for the node whether to apply force to its neighbors or not. This way, each node in cooperation with its neighboring nodes gradually learns its best position within the area of the network so as to attain high coverage. Experimental results show that in terms of network coverage, the proposed deployment algorithm can compete with the existing deployment algorithms such as PF, DSSA, IDCA, and VEC in noise free environments, and outperforms the existing deployment algorithms in noisy environments, where utilized location estimation techniques such as GPS-based devices and localization algorithms experience inaccuracies in their measurements, or the movements of sensor nodes are noisy.. The rest of this paper is organized as follows. Section 2, gives a brief literature overview on deployment problem in mobile wireless sensor networks. Cellular learning automata will be discussed in section 3. The problem statement is given in section 4. In section 5 the proposed deployment algorithm is presented. Simulation results are given in section 6. Section 7 is the conclusion. In this paper, a deployment strategy based on cellular learning automata called CLA-DS for mobile sensor networks was proposed. CLA-DS, unlike similar existing deployment strategies, does not use any information regarding sensor positions or their relative distances to each other. Using the proposed movement strategy, each node in cooperation with its neighboring nodes gradually learns its best position within the area of the network in order to attain high coverage. Experimental results showed that in noise free environments, CLA-DS algorithm can compete with the existing algorithms such as PF, DSSA, IDCA, and VEC in terms of network coverage. It was also showed that in noisy environment, where utilized location estimation techniques such as GPS-based devices and localization algorithms experience inaccuracies in their measurements, or the movements of sensor nodes are not perfect and follow a probabilistic motion model, CLA-DS algorithm outperforms the existing algorithms in terms of network coverage. Mobile sensor nodes can be used to improve the coverage of wireless sensor networks in different ways [38] . In a hybrid network consisting of both stationary and mobile sensor nodes, they can be used mainly to heal the coverage holes caused by the stationary nodes. In a mobile network consisting of only mobile nodes, they can be used to maximize the coverage of the area. And in event monitoring scenarios where some short-lived events may appear in different locations, mobile nodes can be dispatched to monitor the event sources for better event coverage.. Voronoi diagram is a major tool used to detect coverage holes in hybrid networks [39] [40] . A Voronoi diagram is first constructed for all stationary sensor nodes, assuming that each node knows its own and its neighbors' positions. In the constructed diagram, if some points of a Voronoi cell are not covered by the cell's generating sensor node, these points will contribute to coverage holes. When a coverage hole detected, a stationary node can bid mobile nodes to heal its coverage hole.. In mobile sensor networks, nodes can adjust their positions after initial deployment in order to reduce their overlaps and maximize area coverage. Wang et. al. in [42] groups the existing movement schemes for mobile sensor networks into the following three categories: coverage pattern based movement, virtual force based movement, and grid quorum based movement. Methods in the coverage pattern based movement group [41] [42] [43] try to relocate mobile nodes based on a predefined coverage pattern. The most commonly used coverage pattern is the regular hexagon with the sensing range R s as its side length. In [41] , initially one node is selected as a seed. Seed node computes six locations surrounding itself so as to form a regular hexagon and greedily selects its nearest neighbors to each of the selected locations. Selected neighbors then move to the selected locations and become new seeds. Another hexagonal coverage pattern is given in [42] which can completely cover the sensor field. According to this coverage pattern, final locations of mobile nodes are specified. Sensor movement problem then converted into a maximum-weight maximum-matching problem and centrally be solved. This approach is extended in [43] to provide k-coverage of the environment.. In the group of virtual force based node movement methods [15] [20] , sensor nodes apply some kinds of virtual forces to their neighboring nodes. Resultant force vector applied to each sensor node from its neighboring nodes specifies the direction and distance that the node should move to. In [15] , a distributed potential-field-based approach is presented in which each node is repelled by other neighboring nodes. In addition to the repulsive forces, nodes are also subject to a viscous friction force. This force is used to ensure that the network will eventually reach static equilibrium; i.e., to ensure that all nodes will ultimately come to a complete stop. In [16] [18], a node may apply attractive or repulsive forces to its neighboring nodes according to its distance with them. Nearby neighbors are repelled and far away ones are attracted. In order to reduce the movement of sensor nodes, the algorithm is virtually executed on cluster heads and then, sensor nodes move directly to the locations specified for them by the result of the algorithm. Like the algorithm given in [15] , the deployment algorithm proposed in [17] is also based on virtual potential fields, but it considers the constraint that in the deployed network, each of the nodes has at least K neighbors. Heo and Varshney in [19] proposed three different distributed deployment algorithms called DSSA, IDCA, and VDDA. DSSA uses virtual repulsive forces between neighboring nodes. IDCA modifies DSSA by filtering out nodes, for which local density is very near to the desired density, from moving. VDDA is a distributed deployment approach based on the Voronoi diagram. Wang et. al. in [20] give two sets of distributed protocols for controlling the movement of sensors, one favoring communication and one favoring movement. In each set of protocols, Voronoi diagrams are used to detect coverage holes.. In the group of grid quorum based movement methods [44] [50] , the area of the network is divided into a number of grid cells and each mobile sensor node must find a suitable cell as its final location and move to that cell.. In an event detection and monitoring sensor network, sensing tasks are performed in an on-demand manner. At first, sensors are used to detect events. After detecting an event, it is often desirable to relocate more mobile sensors close to the event location for performing the sensing task. Wang et. al. in [51] consider a hybrid network in which stationary nodes detect events. When a new event is detected, one mobile node is assigned to that event for more advanced sensing and analysis tasks. In [52] Butler and Rus proposed two moving strategies for the event coverage problem in a mobile sensor network; history-free strategy and history-based strategy. Either of these strategies moves sensors closer to the event locations. Using a Voronoi diagram, a mobile node stops moving if it detects that its movement causes coverage holes.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


On monotone formulae with restricted depth ABSTRACT: We prove a hierarchy theorem for the representation of monotone Boolean functions by monotone formulae with restricted depth.Specifically, we show that there are functions with ~k-formulae of size n for which every Ek-formula has size exp ~(nl/(k-l)). A similar lower bound applies to concrete functions such as transitive closure and clique. We also show that any function with a formula of size n (and any depth) has a Zk-formula of size exp o(nl/(k-l)). Thus our hierarchy theorem is the best possible.

O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O B I O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O


Caching and database scaling in distributed shared-nothing information retrieval systems All three issues are shown to have a strong effect on response time and throughput. Database scaling is explored in two ways. One way assumes an "optimal" configuration for a single host and then linearly scales the database by duplicating the host architecture as needed. The second way determines the optimal number of hosts given a fixed database sige. Using queries from the INSPEC database on the FOLIO system at Stanford University, we analyzed strategies for distributing indexes across a set of processors and for performing queries in parallel. Our main result is that inverted lists referenced by queries in such systems tend to be relatively short and it does no-t pay off to split them across hosts, much less across 1/0 subsystems or disks. Either system index organization, or the system index organization with the prefetch I optimization, performs best over wide ranges of parameter values. Prefetch I is especially good as the database size scales up. However, the system organization does utilize the .,. - LAN or processor interconnect more heavily, so it would not be appropriate for systems with slow networks.. our conclusion is different from that of our earlier work [14] where a fufl-text information retrieval system was analyzed.. In that case, inverted lists are much longer, and striping them does pay off. In particular, the host organization was superior in that scenario.. In our experiments, we explored the "mainframes vs. workstations" issue.. That is, we took a specific index distributed over a fixed number of disks and 1/0 buses. Then we considered whether it would be best to connect all these resources to a single fast processor, or to connect them to n processors each of ( I/n)th the speed. The mainframe does achieve moderately higher throughput, but the gains have to be evaluated in light of the higher mainframe cost. In other words, one has to take the throughput rates we report here, and divide them by the dollar cost of each configuration, to obtain a query/see/dollar measure, as is done in transaction processing systems [8] .. Our Finally, as stated in Section 2, we excluded from our trace 26.7~0 of the queries. Many of these are wildcard searches (e.g., searching for the keyword "recession*" to cover words such as "recessionary" and "recessional".). For each wildcard term, a number of inverted lists have to be read. This effectively increases the system load, as if simply more queries were run. Thus we do not expect the relative performance of the index organizations to change. As a matter of fact, the d~k and 1/0 bus organization may perform even worse due to the increased disk traffic.. Furthermore, the system organization can be tuned so that words with the same prefix hash to the same host (e.g., all inverted lists for words that match "recess*" can be placed on the same host), so that the wildcard search does not involve sending additional lists over the LAN.

O O B O O B O B I B O O O O O O O O O B O B I O B B O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


The chromatic and clique numbers of random scaled sector graphs Random scaled sector graphs were introduced as a generalization of random geometric graphs to model networks of sensors using optical communication. In the random scaled sector graph model vertices are placed uniformly at random into the [0, 1] 2 unit square. Each vertex i is assigned uniformly at random sector S i , of central angle i , in a circle of radius r i (with vertex i as the origin). An arc is present from vertex i to any vertex j, if j falls in S i . In this work, we study the value of the chromatic number (G n ), directed clique number (G n ), and undirected clique number 2 (G n ) for random scaled sector graphs with n vertices, where each vertex spans a sector of degrees with radius r n = ln n n . We prove that for values < , as n → ∞ w.h.p., (G n ) and 2 (G n ) are ( ln n ln ln n ), while (G n ) is O(1), showing a clear difference with the random geometric graph model. For > w.h.p., (G n ) and 2 (G n ) are (ln n), being the same for random scaled sector and random geometric graphs, while (G n ) is ( ln n ln ln n ). Massive networks of wireless sensors are known to play an important role in monitoring and disseminating information [2, 1] . The general setting of such a network is to have a large collection of wireless motes (sensors) randomly scattered in a remote or hazardous terrain, performing tasks of distributed sensing. The sensing information gathered by the motes is relied to a base station. To communicate, either among themselves or with a monitoring base station, the motes use radio-frequency (RF) or optical communication. In the RF communication model, the motes either use an omnidirectional antenna, which spreads the signal in a spherical region centered at the antenna, or a directional antenna, which has a focused beam spanning a sector of degrees. In sensor networks, directional antennas have multiple advantages over omnidirectional antennas: less energy consumption, less fading area, and furthermore, as the transmission area is smaller, the channel interference may have less influence [3] . In the optical communication model motes can send information using an orientable laser beam embedded with an optical receiver. In this model motes can receive information from any mote within a prescribed distance whose transmitting laser is orientated towards them [6] . In recent times, there has been an effort to provide a theoretical framework to study networks of sensors. For the omnidirectional RF communication network, a suitable model is the random geometric graph, also denoted random scaled disk graph. These graphs are the random scaled version of the unit disk graphs described in [4] . The model considers the network as a graph scaled into [0, 1] 2 , where the n random deployed motes are the vertices of a random graph in [0, 1] 2 , and two vertices are connected if they are a within Euclidean distance r n , corresponding to the broadcast range of the motes. Many results are known about the properties of random scaled disk graphs. For instance, when r n = ln n n , it is known the chromatic number and the clique number are asymptotically (ln n) (see [9, 7] ). The natural model for the case of directional RF and optical networks seems to be the random scaled sector graph, a generalization of the random geometric graph, introduced in [5] . In the setting under consideration, the motes have a fixed angle (0 < 2 ) of maximum scanning, defining a sector of transmission, moreover when mote i falls in [0, 1] 2 , there will be an angle between the beam and the horizontal axis. We represent this angle as a random variable i giving the "elevation" of i with respect to the horizontal direction. We represent the beam emitted by i as the sector S i , centered at i, with radius r, amplitude and elevation i . Every other sensor which falls inside of S i can potentially receive the signal emitted by i (see Fig. 1 ). The random scaled sector graph is the graph with vertices as the sensors, in which there is an arc from i to j if j falls inside S i , (see formal definition in Section 2). Some of the graph parameters for sector graphs coincide with the ones for geometric graphs, for instance in both graphs the threshold for connectivity, in terms of the distance r is r n = ln n n (see [5] ). It should be noted, that in practical applications, the values of are small, typically from /20 to /4, depending on the type of communication (RF or optical). In this paper we study the value of the chromatic number (G n ), directed clique number (G n ), and undirected clique number 2 (G n ) for random scaled sector graphs with n vertices and radius r n = ln n n . We prove that for values < , as n → ∞ w.h.p., (G n ) is ln n ln ln n , showing a clear difference with the random geometric graph model, which is (ln n), as we already mentioned. For > , w.h.p. the value of (G n ) is (ln n) for both random sector and geometric graphs. A random scaled sector graph is defined in the following way, Definition 1 (Díaz et al. [5] ). Assume that the angle is a fixed parameter of the sensors. Let X = (x i ) i 1 be a sequence of independently and uniformly distributed (i.u.d.) random points in [0, 1] 2 , let B = ( i ) i 1 be a sequence of i.u.d. angles and let R = (r i ) i 1 be a sequence of numbers in [0, 1]. We write X n = {x 1 , . . . , x n } and B n = { 1 , . . . , n }. We call the digraphs G n = G (X n , B n , r n ) the random scaled sector graph on n nodes, where V (G n ) = X n and the arcs are defined by:. We use the letter H to denote a subgraph of G n . , denotes the maximum degree of G n . Given G n , as usual the chromatic number, and the size of the maximum directed clique, are represented by (G n ) and (G n ), respectively. Since we are dealing with directed graphs, we introduce a new variable 2 , which represents the size of the maximum undirected clique, where for any two vertices u, v ∈ V (G n ), to be members of the same undirected clique, only one of the two possible arcs, (u, v) or (v, u) , need be present in the graph G n . Thus, (G n ) 2 (G n ) (G n ), and for = 2 , (G n ) = 2 (G n ). We say G n has a property T, with high probability (w.h.p.), if as n → ∞, we expect G n to have property T, with probability 1 − O(1/n c ), for some c > 0. For other concepts and results in probability theory, look for example [9] .. In the remainder of the paper we prove the following results for r n = ln n n ,

O O O O O O B I I I B I I I O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O B I O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O B I O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Optimizing deletion cost for secure multicast key management Abstract. Multicast and broadcast are efficient ways to deliver messages to a group of recipients in a network. Due to the growing security concerns in various applications, messages are often encrypted with a secret group key. The key tree model which has been widely adopted maintains a set of keys in a tree structure so that in case of group member change, the group key can be updated in a secure and efficient way. In this paper, we focus on the updating cost incurred by member deletions. To implement a sequence of member deletions in any key tree, a certain number of encrypted messages need to be broadcast to accomplish the updates. Our goal is to identify the best key tree which can minimize the worst case deletion cost (i.e., the amortized cost over n member deletions). We prove that there is an optimal tree where all internal nodes have degree at most 5. Furthermore, any internal node with degree not equal to 3 must be such that all of its children are leaves. Based on these characterizations, we present a dynamic programming algorithm that computes an optimal key tree in O(n 2 ) time. With the advances in network technologies, many interesting applications based on group communications are emerging. Security is often an important concern in these applications due to either privacy (e.g. teleconferencing) or profit (e.g. pay-per-view) reasons. There are two ways to achieve security in these systems: one is to use sophisticated cryptographic techniques, while the other is to use simple symmetric encryption where the same key is used for both encrypting and decrypting messages. In many of the applications, especially those implemented on mobile devices or requiring immediate response like teleconferencing, the symmetric encryption is preferred because it is more efficient. To achieve security while guaranteeing efficiency, the system needs to manage the keys in an appropriate way so that it is still safe when there are member changes. We can summarize the above requirement into the following group broadcast problem, where we have n subscribers and a group controller (GC) that periodically broadcasts messages (e.g., a video clip) to all subscribers over an insecure channel. To guarantee that only the authorized users can decode the contents of the messages, the GC will dynamically maintain a key structure for the whole group. Whenever a user leaves or joins, the GC will generate some new keys as necessary and notify the remaining users of the group in some secure way. Surveys on the key management for secure group communications can be found in [7] [1] .. The key tree model [10] is widely used for the key management problem. We describe this model briefly as follows. Every leaf node of the key tree represents a user and stores his individual key. Every internal node stores a key shared by all leaf descendants of that node. Every user possesses all the keys along the path from the leaf node (representing the user) to the root. To prevent revoked users from knowing future message contents and also to prevent new users from knowing past message contents, the GC updates a subset of keys, whenever a new user joins or a current user leaves, as follows. As long as there is a user change among the leaf descendants of an internal node v, the GC will 1) replace the old key stored at v with a new key, and 2) broadcast the new key after encrypting it with the key stored at each child node of v. Note that only users corresponding to the leaf descendants of v can decipher useful information from the broadcast. Furthermore, this procedure must be done in a bottom-up fashion (i.e., starting with the lowest v whose key must be updated) to guarantee that a revoked user will not know the new keys. The cost of the above procedure counts the number of encryptions used in step 2) above. An example key tree for a group with 5 members is shown in Figure 1 . A group member holds a key if and only if the key is stored in an ancestor of the member. For example, u 1 holds keys (k 1 , k 2 , k 4 ), and u 2 holds keys (k 1 , k 2 , k 5 ). When u 2 leaves, we need to update k 2 and k 1 . GC will first encrypt the new k 2 with k 4 and multicast the message to the group. This message can only be decrypted by u 1 . Then GC encrypts the new k 1 with k 3 and with the new k 2 separately and multicast them to the group. All users except u 2 can decrypt one of these two messages to obtain the new k 1 . Therefore, after the deletion of u 2 , the GC will use 3 encryptions to maintain the key tree.. There has been a lot of work on managing the key trees or finding the optimal key trees according to different behavior of the dynamic membership change of the group. Snoeyink et al. [8] proved that the updating cost of a key tree with n insertions followed by n deletions is Θ(n log n). They also considered the case of a single deletion and showed that a special 2-3 tree can achieve the minimum deletion cost. Later, Goshi and Ladner [2] designed some scalable on-line algorithms for maintaining balanced key trees in face of arbitrary dynamic membership changes. Hao et al. [4] investigated the key tree problem when the user departure time is predictable. They applied a new scheme based on AVL trees to reduce the communication cost.. There is an alternative strategy for key management whereby rekeying is done only periodically instead of immediately after each membership change [6] . This batch rekeying model is further investigated in [11] [3] [5] under the assumption that during the batch period every user has a probability p of being replaced by another user.. In this paper, we further investigate the scenario proposed in [8] by focusing on the deletion cost in key trees. Suppose a group only accepts membership joins during the initial setup period. After that period, it is closed to new membership and the only dynamic membership changes are deletions. This is an interesting special case of key tree maintenance that can be applied for example to teleconferencing where the group members are usually set up at the beginning of the conference and subsequently members may leave at different points in time. This may occur in other similar situations when the group membership is quite selective and the complete list is drawn up beforehand. By using the updating rule described above, different deletion sequence (user leave order) will incur different deletion cost for updating the keys. Given a specific key tree, we consider its amortized deletion cost (i.e., the average cost per deletion over the worst sequence of n deletions). We are interested in identifying the optimal tree which can achieve the minimum amortized deletion cost among all trees. We will prove that there exists an optimal tree where all internal nodes have degree at most 5, and only nodes of degree 3 can have non-trivial subtrees. Based on these characterization, we present a dynamic programming algorithm which can compute an optimal tree in O(n 2 ) time. Notice that without these characterizations, a brute-force exhaustive search for an optimal tree would take exponential time.. The remainder of this paper is organized as follows. In Section 2, we define the model used in our work. We characterize the worst case deletion sequence in Section 3 and derive some degree bounds for the optimal tree in Section 4. Finally, we summarize our work and give some open problems in Section 5. In this paper, we have investigated the problem of optimizing deletion cost in multicast key trees. We consider the scenario when all users join in the beginning and subsequently the only membership changes are deletions. This could arise in teleconferencing or other applications where group membership is quite selective and the complete list is drawn up beforehand. We first characterize the worst case deletion sequence which results in the maximum number of encryptions during the whole key updating process. Then we investigate the properties of the optimal tree which minimizes the amortized deletion cost. We prove that there exists an optimal tree where any internal node has degree at most 5. We further show that the children of a node with degree not equal to 3 are all leaf nodes. Based on this, we propose a dynamic programming algorithm to compute the optimal key tree in O(n 2 ) time.. One area for future work is to study the structure of the optimal trees when some k, k ≤ n, of the users may leave. One would need to be able to characterize the worst case deletion sequence among all possible combinations of k users. Another interesting direction is to investigate the insertion scenario for a best insertion strategy.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Using web-graph distance for relevance feedback in web search We study the effect of user supplied relevance feedback in improving web search results. Rather than using query refinement or document similarity measures to rerank results, we show that the webgraph distance between two documents is a robust measure of their relative relevancy. We demonstrate how the use of this metric can improve the rankings of result URLs, even when the user only rates one document in the dataset. Our research suggests that such interactive systems can significantly improve search results. Web search today is still an unsolved problem. Although relevance of results has steadily improved over the past decade, anecdotal evidence indicates that many queries still go unanswered. A major obstacle to further improvement of search results is understanding user intent from the query. The problem is exacerbated by the fact that the average query length is between two and three words, and average query sessions consist of only a handful of queries.. The brevity of most search queries is a recognized problem, and several methods have been proposed to deal with this scenario. The approaches can be divided into passive and active systems. Passive systems observe user behavior and try to infer more information about the users' intent from their previous actions. In this area numerous personalized search algorithms have been suggested, and implemented in practice (see, for example, [8, 18] ). These algorithms reweigh the results for each query asked by the users based on their stated preferences or past search histories.. Active systems, on the other hand, engage in some interaction with the user that better elicits user intent. A decade ago, Koenemann and Belkin showed that interaction makes users more effecPermission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SIGIR'06, August 6-11, 2006 , Seattle, Washington, USA. Copyright 2006 ACM 1-59593-369-7/06/0008 ...$5.00. tive searchers [10] . This interaction can take many different forms. For example, the Vivisimo search engine [20] clusters the results and lets the user navigate the cluster hierarchy. Yahoo's mindset search [21] lets users rerank the results, giving more influence to "Shopping" or "Research" URLs. Other work has explored the space of query suggestion. Here a list of possible query expansions is presented to help the user further narrow down the results (see for example [2] and the references therein).. Relevance feedback is an interactive approach that has been shown to work particularly well in classical information retrieval [3, 16] and more recently in Internet search settings [13, 19] . In this setting, after receiving results for a query the user is asked to rate the relevancy of some of them. This information is passed to the search engine, and the engine reranks the results to better suit the user's intent. This type of interaction is particularly well suited to the web search domain, as the relevance of a result can often be judged from a quick look at the text snippet returned. The performance of different term-reweighing schemes has been studied previously [19] ; in this work we focus on using new information available only in the web search domain to further improve performance. Our research indicates that interactive search systems can improve the average quality of the rankings. The web-graph reranker has several attractive properties:. • Search engines strive for diversity in search results. The reranker offers the user a simple way to let the user narrow down the search to the desired category.. • Spam search results are often tightly interlinked. This is due to the individual sites trying to increase their PageRank and participating in link farms. The web-graph reranker can cut out large chunks of links farms from the search results with a single rating from the user.. • The rating of the results improves the user experience, while at the same time provides useful rating data to the search engine designers.. There are several improvements possible to the web-graph based reranker. One of the biggest open questions is the improvement of the recall metric. Even when the original query NDCG < 85, and thus the result ordering is far from optimal, the observed recall of our system is around 30%. In large part this is due to some of the results not being nearby in the web-graph. In these situations a hybrid method analyzing the link structure of the web as well as the text on the individual web pages can probably increase the recall without sacrificing the NDCG gain of the algorithm.. In addition, new relevance feedback methods have been shown to perform better than Rocchio's original scheme, especially in web search scenarios [19] . We plan a comprehensive set of experiments comparing text based relevance feedback methods with the web graph reranker.. Overall, we view this work as a step towards a more interactive search environment. Figuring out user intent from two or three query words has been recognized as a difficult problem and interactive methods appear to be a good stepping stone towards eliciting more information from the user when necessary.

O O B O B O O B I O O O B O B O B O O O B I O O O O B O O O O O O O O O O O O O B O O O O O B O O O O O O B O O B O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O B O B I O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O B O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O B O O O O O O O O O O O O B O O O O O O O O B O O O O O O B O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B O O O B O O O O O O O O O O O O O O O O O B O O O O O B O O O O O B O O O O O O B O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B O O O O B I O O O O O O O O O O O O O B O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O


Semantics and evaluation techniques for window aggregates in data streams A windowed query operator breaks a data stream into possibly overlapping subsets of data and computes a result over each. Many stream systems can evaluate window aggregate queries. However, current stream systems suffer from a lack of an explicit definition of window semantics. As a result, their implementations unnecessarily confuse window definition with physical stream properties. This confusion complicates the stream system, and even worse, can hurt performance both in terms of memory usage and execution time. To address this problem, we propose a framework for defining window semantics, which can be used to express almost all types of windows of which we are aware, and which is easily extensible to other types of windows that may occur in the future. Based on this definition, we explore a one-pass query evaluation strategy, the Window-ID (WID) approach, for various types of window aggregate queries. WID significantly reduces both required memory space and execution time for a large class of window definitions. In addition, WID can leverage punctuations to gracefully handle disorder. Our experimental study shows that WID has better execution-time performance than existing window aggregate query evaluation options that retain and reprocess tuples, and has better latencyaccuracy tradeoffs for disordered input streams compared to using a fixed delay for handling disorder. Many types of data present themselves in stream format: environmental sensor readings, network monitoring data, telephone call records, traffic sensor data and auction bids, to name a few. For applications monitoring and processing streams, window aggregates are an important query feature. A window specifies a moving view that decomposes the stream into (possibly overlapping) subsets that we call window extents, and computes a result over each. (Think of a window specification as a "cookie cutter" and window extents as cookies cut with it.) For example, "compute the number of vehicles on I-95 between milepost 205 and milepost 245 over the past 10 minutes; update the count every 1 minute" is a window aggregate query where successive window extents overlap by 9 minutes.. Evaluating window aggregate queries over streams is non-trivial. The potential for high data-arrival rates, and huge data volumes, along with near real-time requirements in many stream applications, make memory and execution-time performance of stream query evaluation critical. Bursty and out-of-order data arrival raises problems with detecting the boundaries of window extents. Out-of-order arrival also complicates the process of determining the content of window extents and can lead to inaccurate aggregate results or high latency in the output of the results. We have observed that accommodating out-of-order arrival can introduce significant complexity into window query evaluation.. We see two major issues with current stream systems that process window queries. One is the lack of explicit window semantics. As a result, the exact content of each window extent tends to be confused with window operator implementation and physical stream properties. The other issue is implementation efficiency, in particular, memory usage and execution time. To evaluate slidingwindow aggregate queries where consecutive window extents overlap (i.e., each tuple belongs to multiple window extents), most current proposals keep all active input tuples in an inmemory buffer. In addition, each tuple is reprocessed multiple times-once for each window extent to which it belongs. We will propose an approach that avoids intra-operator buffering and tuple reprocessing.. In this paper, we present a framework for defining window semantics and a window query evaluation technique based on it. In the framework, we define window semantics explicitlyindependent of any algorithm for evaluating window queries. From our definitions, it is clear that many commonly used types of windows do not depend on physical stream order. However, most existing window-query evaluation techniques assume that stream data are ordered or are ordered within some bound. Our window query evaluation technique, called the Window-ID (WID) approach, is suggested by the semantic framework. Our technique processes each input tuple on the fly as it arrives, without keeping tuples in buffers and without reprocessing tuples. Our experimental study shows significantly improved execution-time performance over existing evaluation techniques that buffer and reprocess tuples.. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.. In contrast to other techniques, WID can process out-of-order tuples as they arrive without sorting them into the "correct" order. It does not require a specific type of assumption about the physical order of data in the stream. Instead, it uses punctuation [16] to encode whatever kind of ordering information is available. In the later part of the paper, we examine real-life examples of stream disorder and discuss disorder-handling methods. Slack [2] and heartbeats [14] are mechanisms proposed for handling disorder in input streams. Different means for handling disorder can affect the flexibility, scalability and performance of windowquery evaluation approaches. We experimentally evaluated latency-accuracy tradeoffs in handling disorder using WID and sort-based slack. This paper is organized as follows: Section 2 provides a running example that illustrates the basic concepts of WID; Section 3 introduces our framework for defining window semantics; Section 4 discusses implications of window semantics for query evaluation; Sections 5 and 6 present the implementation of WID; Section 7 analyzes disorder using network flow data and discusses mechanisms for handling it; Section 8 presents performance results; and Section 9 concludes. We present the results of the three different experiments. The experiments used variations of Q1, and varied the parameters according to Table 1 . In Table 1 , Agg Fcn stands for Aggregate Function, R for RANGE and S for SLIDE. For Experiment 1, we used the ordered data set and measured the execution time cost of using WID and the buffering approach. The measured time is in ms. For the window specification, we used WATTR = row-num, RANGE = 4000 rows, and varied SLIDE from 1 to 4000 rows.. Experiment 1 (Figure 8(a) and (b)) shows that WID in general has better time performance than the buffering approach, and the comparison favors WID as the ratio of RANGE and SLIDE increases. Figure 8 (b) is a zoomed-in version of Figure 8 (a); scan cost is the measured time of scanning the whole data set.. Latency-Accuracy Tradeoffs for Bounded-Disorder: For Experiment 2, we used the bounded-disorder data set and measured the latency-accuracy tradeoff of using punctuation and two types of slack [2] : consistent and generous. The two types are similar, except that consistent slack requires that if a tuple is late and must be dropped from one window, it will be dropped from all windows it participates in, regardless if it is late for the other windows or not. Generous slack makes no such restriction. Average error percentage is the accuracy metric. For consistent and generous slack, we vary the amount of slack from 0.32 seconds through 3.2 seconds and we use RANGE = 64 seconds, and SLIDE = 64 seconds.. Our results ( Figure 9 ) show that as slack increases, error decreases and latency increases, as expected. It also shows that external punctuation has better latency and accuracy than either slack mechanism. In addition, generous slack has significantly better accuracy at comparable latency when compared to consistent slack. In previous work, window semantics has often been described operationally. However, operational window definitions tend to lead to confusion of the window extent definition with physical data properties and implementation details. For example, some current window query operators process window extents sequentially-that is, they close the active window when a tuple past it arrives, which translates into a requirement that their input arrive in order of the windowing attribute. If the data is not in order, some sort mechanism such as Aurora's BSort [2] must be used to reorder the data. Without a mechanism to explicitly identify what extents tuples belong to, tuples cannot be processed in their arrival order (unless it corresponds to window order), which leads to retaining tuples in the implementation, latency, and inflexibility in query evaluation.. We propose a semantic framework, and define the semantics of some existing types of windows under this framework. While our window semantics definition is independent of any implementation algorithm, having explicit window semantics leads directly to a flexible implementation that can handle a wide variety of windows and that can handle disordered data in several ways. In addition, an explicit definition makes it easier to verify the correctness of a window operator implementation.. Note that defining window semantics and implementing the defined semantics are two separate issues. A window semantics definition specifies the content of window extents, while implementation issues, such as determining when to process an extent (and whether to approximate its actual value), are handled by separate mechanisms or directives. In this section, we present the algorithms used by the bucket and the aggregate operator in WID for slide-by-tuple window queries.. The implementation of bucket is straightforward. For each tuple t, where t.RATTR = s, it adds an attribute t.wid = (Ss, Es) giving the maximal range of window-ids for extents to which it belongs. It also transforms punctuations on RATTR to punctuations on wid. Figure 6 contains pseudo-code for the aggregate operator. The aggregate operator needs to store partial aggregates for bins that are not expired. Initialize sets up the special "init" bin, labeled with -∞. ProcessTuple sets up new start and end bins for each arriving tuple, then updates appropriate bins. ProcessPunctuation outputs results and purges appropriate bins.

O O B O O O O O B B O O B O O O B O O O O O O B O O O O O O O O B O O O B B O O O B O O O O O O O B O O O O O O O O O O O B O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O B O O O O O O O O O O O O B O B O O O O O B O O O B O O O O B B O O O O O O O B O O B B O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O B B B O O O O O O O O O O O O O B B O O O O O B O O O O B O B O O O O O O O O O O B O O O O O B O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O B B O B O O O O O O O O O O B O O O O O O O O O O O O O O B O O B B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O B B O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O B O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B B O O O O O O B O O O O O O O O O O O B O O O O O O O O O O B O B O O O O B O O O O O O B O O O O B O O O O O O O O O O B B O O O O O O O O O O B B O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B B O O O O O O B O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O B O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B B O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O B B O O O B B O O O O O O O B O B O O B O O O O B O O O O B O O O O O O O O O O B O O O O O O O B O O O O O B O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


From origins to implications: key aspects in the debate over the digital divide Defined as the differential extent to which rich countries and poor countries benefit from various forms of information technology (IT), the global digital divide has been extensively measured and described in national as well as international debates. The problem, however, is that the topic is highly fragmented in the literature, with few attempts to put the parts into a coherent analytical framework. More precisely, there has been no specific attempt to pinpoint the main issues that influence one's view of the importance of the digital divide and the policies demanded by the different points of view. The goal of this paper, accordingly, is to fill this important gap in the literature in an analytical schema that recognizes the ways in which the impact of innovations depends heavily on how they are generated and diffused. At each stage of this sequential process are key issues that influence one's view of the digital divide. It matters a great deal for instance on whether the divide is in some sense unique, or just another manifestation of the general technological relationship between rich and poor countries. It is also the case that the size of the divide depends heavily on how it is measured. Yet another example is that the extent of the potential impact of IT will influence our view of the foregone opportunities associated with limited uptake of this technology in developing countries. One of the more paradoxical aspects of the literature on the digital divide is that although it is so voluminous it contains remarkably little reliable evidence on the most crucial debates on the topic. Too much of the research effort has gone into the niceties of measuring the divide 18 and too little has been devoted to establishing whether the topic warrants the attention that has been lavished on it.. These observations notwithstanding, such data as are available do throw some useful light on the questions posed at the outset of the paper (as opposed to all possible questions that arise on this very large topic). One body of evidence showed, for example, that the pattern of diffusion between and within countries closely reflects what the notion of technological dualism would tend to predict and that this outcome in turn skews the impact of IT in favour of rich countries (thus validating the usefulness of the analytical schema presented in Figure 1 , which emphasizes the interconnections between the generation, diffusion and impact of technical change). The second conclusion is that mobile phones represent an enormous foregone opportunity for many, if not most inhabitants of developing countries, not only in terms of economic growth but also in terms of poverty alleviation (a conclusion that challenges the quite widely held belief that investments in IT are somehow necessarily inferior to direct interventions in areas such as nutrition, education and health, among people described as living in poverty). At the national level, Grameen Telecom in Bangladesh stands out as an excellent example of what can be achieved with mobile telephony. Rural Internet kiosks represent as good an example as is now available, of the potential afforded by the Internet for the rural majority in developing countries. Thirdly, although there is some evidence to support the idea that, in some important sectors and sub-sectors (such as textiles and clothing), developing countries can suffer from a loss of comparative advantage (which leads to absolute rather than relative losses), it is not, as far as I can tell, a phenomenon that should give these countries as a whole any major grounds for concern. All in all, though, there is certainly enough evidence in the previous parts of the paper to suggest that developing countries ought to take the digital divide very seriously and all the more so given my view that it will not automatically be closed by the free play of market forces. I based this view partly on the belief that once IT has been adopted by those with relatively high incomes in developing countries, growth rates are likely to fall off quite sharply, especially in regard to computers and Internet connectivity.. The fourth and final conclusions are somewhat similar. The former concerns multinationals and in particular the finding that these firms have shown occasional interest in making investments in IT-based projects for the poorest groups in developing countries. Because this is a highly encouraging development from a policy perspective, questions arise as to whether and to what extent such endeavours will be pursued in the future, as part of the emerging paradigm referred to as 'producing for the poor profitably' (and relatedly, what governments can do to encourage any such tendency). Much the same sort of issues finally arise in relation to the innovations that have been made in hardware/software as well as in institutions, with the aim of making ITs relevant to developing countries rather than the rich countries in which they originate. Although a wide range of such initiatives were shown to exist, they currently serve only a small fraction of those living in the rural areas of developing countries. 19 This situation needs to be urgently addressed as these innovations (especially those that involve a combination of technological and institutional change) represent, in my view, one of the most promising ways of bridging the digital divide, not only in mobile phones but also the Internet. The institutional dimension warrants special attention since, as shown above, private ownership is not a viable option in a developing country context where even low-cost handsets are beyond the reach of vast numbers of people. One could, of course, theoretically wait until incomes, education and infrastructure have increased to the levels prevailing in the rich countries, but that will in many cases (such as Africa) be far off in the future, and by then gaining a foothold in the world of IT will be much more difficult. For countries such as India and (to a lesser extent) China, however, the experience with outsourcing in software indicates that when governments act to develop appropriate education, infrastructure and access (albeit for a relatively small percentage of the population), the market (and the forces of comparative advantage) do engender a flow of wealth and knowledge from the developed world.

O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Gravity optimised particle filter for hand tracking This paper presents a gravity optimised particle filter (GOPF) where the magnitude of the gravitational force for every particle is proportional to its weight. GOPF attracts nearby particles and replicates new particles as if moving the particles towards the peak of the likelihood distribution, improving the sampling efficiency. GOPF is incorporated into a technique for hand features tracking. A fast approach to hand features detection and labelling using convexity defects is also presented. Experimental results show GOPF outperforms the standard particle filter and its variants, as well as state-of-the-art Camshift guided particle filter using a significantly reduced number of particles. Among human body parts, the hand is the most effective means of non-verbal communication and plays an effective role in human computer interaction such as gesture recognition [1, 2] , virtual reality [3] , and computer games [4, 5] . Hand gesture recognition involves hand tracking and the difficulties in developing a hand tracking system include: high dimensionality of the tracking; finger self-occlusion; high processing speed; and rapid hand motion [6] . Hitherto, an accurate and real-time hand tracking system is still far from realised. In this paper we propose an approach which balances the need for real-time requirement and acceptable accuracy. The approach incorporates an improved particle filter for hand tracking and detects hand features by computing the convexity defects of the hand silhouette contour.. The standard particle filter (PF) also known as conditional density propagation (i.e., condensation) algorithm (e.g., [7] ) incorporates the use of complex motion models and is highly robust to clutter. However, it lacks the ability to run in real-time since the number of samples (or particles) is large in order to account for sudden movements of the object being tracked. A large number is also needed to overcome the samples impoverishment problem by populating some areas of the state-space that may be left empty due to prediction of the motion model that tends to cluster the samples in some area due to the predicted motion.. The ICondensation algorithm [8] , an extension of PF, permits the combination of the original random sampling filter representation with the information available from alternative sensors in the form of an importance function. The importance function aids the sampling from prior method by generating and concentrating samples in areas of the state-space that contain most information about the posterior. This 1 helps alleviate the samples degeneracy problem by avoiding to generate samples which have low weights to represent the posterior. Samples drawn from the importance function are systematically formulated in such a way that they do not change the probabilistic model of the tracker.. In [9] a local optimiser based on the stochastic meta-descent tracker is integrated after the standard particle propagation step. The new particles generated by the optimiser are combined with the original particles distribution which results in a smart particle filter that can track high-dimensional articulated structure with far fewer particles. In [10] , after particles propagation the mean shift embedded particle filter (MSEPF) is applied to move the particles to the nearby local modes with high likelihood resulting in better posterior estimation. Using significantly fewer particles, MSEPF operates robustly and with lesser computational burden. In [11] CamShift Guided Particle Filter (CAMSGPF) employs a simplified version of. CamShift which iterates at a smaller and fixed interval to reduce the computational burden. This is unlike. CamShift that will iterate until convergence. The optimisation procedure in CAMSGPF takes into account the current observation which results in new proposal density of the current samples for which new samples are drawn.. Since the introduction of PF for object tracking, most of the works derived thereafter evolve around the use of weighted particles to represent the posterior density. In this paper we propose the gravity optimised particle filter (GOPF) that generates a new set of particles based on current observation and allows each weighted particle to have its own gravitational force (from an analogy with Newton's law of universal gravitation) that will attract nearby particles towards the peak of the particles distribution. The newly generated particles is combined with the particles generated in the same way as with a PF. The weights for the new particles depend on their position relative to the current observation to enable the combined particles to maintain the multiple hypotheses nature of the tracker.. There are generally two approaches to hand tracking: model-based and appearance-based. The modelbased approach [12, 13] is based on parametric models of the shape and kinematic structure of the 3-dimensional (3D) hand. Using the motion history and dynamics of the hand, this approach predicts the model hypotheses when a new observation is made by measuring the dissimilarity between the expected model hypotheses with the actual observation. However, seeking the optimised solution in a multidimensional model parameters space especially with the complexity of hand motion and self occlusion makes this approach unreliable for long video sequences. Furthermore, the computational requirements is high. Recent work in [12] addresses this poblem using GPU-based software implementation and off-the-shelf Kinect sensor which demonstrates robust 3D articulated hand tracking in near real-time (15Hz) over a long sequence.. The appearance-based approach [14, 15] is based on appearance-specific 2D image mapping from a set of image features to a limited set of predefined poses. The approach is goal-oriented, where a small set of predefined poses needs to be recognised, making it impossible to estimate other poses. Variable length Markov model is combined with annealed PF in [16] to account for discontinuous changes during the 2 observations. The framework operates by automatic switching between first-order Markov model and PF.. The former is used for the case of previously observed events, whereas the later operates for the case of unseen events. In [13] , appearance-guided PF is used for high degree-of-freedom (DOF) tracking in image sequences. PF is extended by using state space vectors that act as attractors, and a probability propagation framework is derived to find the approximation for the maximum a posteriori solution. This solution avoids the drifting effect of PF.. In this paper we present a model-based framework for tracking hand features. The framework incorporates GOPF and a fast method for detecting hand features using convexity defects. The main advantage using the proposed hand features detection is due to its reasonable accuracy and fast processing. It also does not depend on offline learning from database of hand features or postures.. This paper is organised as follows: Section 2 provides an overview of the proposed hand tracking framework. Section 3 presents the details of GOPF. Section 4 provides detailed explanation of the measurement model. Finally, Section 6 and Section 7 respectively present the experimental results and conclusions. In this paper, we propose a novel tracking algorithm GOPF by incorporating PF and the replication of new particles based on gravitational attraction which improves the sampling efficiency as well as significantly reducing the required number of particles compared to PF. The hand features extraction algorithm which utilises the convex hull and the convexity defects of the hand shape robustly detects and labels each finger, as well as identifying if they are of the left or right hand. In terms of accuracy, the GOPF based tracking outperforms the PF based tracking including various well known variants of PF such as EKF, SIRPF, APF and RPF. GOPF also outperforms the state-of-the-art CAMSGPF algorithm in terms of stability.. Integration and animation with an OpenGL hand model is the focus of future work where the use of stereo imaging technique will be incorporated to increase the accuracy of 3D pose estimation. The proposed GOPF based hand tracking framework has several limitations, and are subject to improvement in future works. The hand features extraction method may fail in the event the palm twists more than 45. • . Complete occlusion for a longer period of time might cause the tracker to fail. Fewer parameters usage is preferable in hand features extraction to avoid missing many parts of the parameters during extraction. Lastly, threshold parameters are set in pixels unit and mostly work for image size of 320x240. Although threshold parameters can be adjusted for different image sizes, it is not intended to be used for this framework as it may degrade the speed (when using large image size) or the accuracy (when using small image size) of the tracking framework.

B O B I O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Attributed graph transformation with inheritance: Efficient conflict detection and local confluence analysis using abstract critical pairs Inheritance is an important and widely spread concept enabling the elegant expression of hierarchy in object-oriented software programs or models. It has been defined for graphs and graph transformations enhancing the applicability of this formal technique. Up to now, for the analysis of transformations with inheritance a flattening construction has been used, which yields all the well-known results for graph transformation but results in a large number of graphs and rules that have to be analyzed.In this paper, we introduce a new category of typed attributed graphs with inheritance. For the detection of conflicts between graph transformations on these graphs, the notion of abstract critical pairs is defined. This allows us to perform the analysis on polymorphic rules and transformations without the need for flattening, which significantly increases the efficiency of the analysis and eases the interpretation of the analysis results. The new main result is the Local Confluence Theorem for typed attributed graph transformation with inheritance using abstract critical pairs. All constructions and results are demonstrated on an example for the analysis of refactorings.

O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O B O O O O O O O O O O O O O O O O O O


Efficient longest executable path search for programs with complex flows and pipeline effects Current development tools for embedded real-time systems do not efficiently support the timing aspect. The most important timing parameter for scheduling and system analysis is the Worst-Case Execution Time (WCET) of a program.This paper presents a fast and effective WCET calculation method that takes account of low-level machine aspects like pipelining and caches, and high-level program flow like loops and infeasible paths. The method is more efficient than previous path-based approaches, and can easily handle complex programs. By separating the low-level from the high-level analysis, the method is easy to retarget.Experiments confirm that speed does not sacrifice precision, and that programs with extreme numbers of potential execution paths can be analyzed quickly. The purpose of Worst-Case Execution Time (WCET) analysis is to provide a priori information about the worst possible execution time of a program before using the program in a system. Reliable WCET estimates are necessary when designing and verifying embedded real-time systems, especially when used in safety-critical systems like vehicles and industrial plants.. WCET estimates can be used to perform scheduling and schedulability analysis, to determine whether performance goals are met for periodic tasks, to check that interrupts have sufficiently short reaction times, to find performance bottlenecks, and for many other purposes. [1, 9, 12] .. WCET estimates must be safe, i.e. guaranteed not to underestimate the execution time, and tight, i.e. provide acceptable overestimations.. Measuring the execution time to find the worst case requires access to the target hardware and is a very timeconsuming process. It is also very hard to guarantee to find the worst case with measurements.. Static analysis promises to generate safe and tight estimates by analyzing the source code and object code of the program off-line (without executing it).. When performing static WCET analysis, it is assumed that there are no interfering background activities, such as direct memory access (DMA), and that the program execution is uninterrupted. Extra execution time caused by cache interference between tasks, interrupts, etc. are assumed to be handled in a separate analysis.. To make WCET analysis a mainstream tool for embedded real-time systems development, the analysis should be a part of the usual work-flow of edit-compile-test-debug. Just like a program is checked for bugs, it should be checked for timeliness.. For this to be achieved, WCET analysis should be performed inside the compilation system, which demands a very efficient method for calculating the WCET.. Furthermore, due to the fragmented character of the embedded processor market [13] , it is necessary that a tool is easily retargeted to new architectures.. In this paper, we present a very fast method for calculating WCET estimates, given information about the program flow and a program timing model (which is given in a target-independent format). The method is path-based in that it explicitly finds the longest path in the control flow of the program, and more efficient than previous path-based approaches (especially in the presence of many potential execution paths). This makes it feasible to use the method inside a compiler, for example. The program timing model is obtained by using a tracedriven simulator for the target architecture. The separation from the calculation makes it easier to retarget, since the calculation is not affected by target changes.. The concrete contributions of this work are: • We adapt an acyclic longest-path search algorithm to perform longest executable path search in a program, providing a very efficient path-based WCET calculation algorithm.. • We extend the basic algorithm to handle flow information such as dependent conditional statements and implication, expressed using the flow language presented in [8] .. • We extend the algorithm further to handle arbitrary pipeline effects, going beyond pipeline effects between adjacent basic blocks.. • We have implemented the new calculation algorithm within an existing WCET prototype tool, replacing a different calculation module while using the existing hardware model. The rest of this paper is organized as follows: Section 2 describes previous work in the field of WCET analysis. Section 3 presents our WCET tool framework. Section 4 shows the basic path-based calculation method, while Section 5 shows how to add flow information and Section 6 arbitrary pipeline effects to the calculation. Section 7 contains experimental evaluations, and Section 8 gives conclusions and discusses future work. In this paper, we have presented an efficient local longestpath search algorithm for worst-case execution time analysis. We have extended the algorithm to handle complex flow facts and arbitrary pipeline effects. Using this approach, we are able to quickly and efficiently calculate the WCET of programs. The calculation method avoids exploring all the We have implemented the new calculation method within our generic WCET tool framework, demonstrating the flexibility of that framework.. Our experiments show that the new calculation method generates tight and safe WCET estimates, and that flow information can be used effectively to improve the quality of the estimates. The WCET analysis is efficient enough to be integrated in the natural design-flow of real-time software engineers.. For the future, we are considering whether it is possible to create a hybrid approach between the path-based and IPET-based calculation methods, combining the efficiency of path-based approaches with the expressive power of IPET (in particular, extending the sets of flow facts that can be handled exactly).. Considering the availability of WCET tools, we are cooperating with embedded programming-tools vendor IAR Systems [16] .. A longer version of this paper is available as a technical report [31] .

O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O