Towards optimisation of openMP codes for

5 downloads 0 Views 446KB Size Report
Abstract: In addition to the miniaturized sensor nodes, Wireless Sensor and Actor. Networks (WSANs) ..... the next step is to group sensors into distinct clusters;.
1

Coverage and Latency Aware Actor Placement Mechanisms in Wireless Sensor and Actor Networks Kemal Akkaya* Department of Computer Science Southern Illinois University Carbondale, Carbondale, IL 62901, USA E-mail: [email protected] *Corresponding author

Mohamed Younis Department of Computer Science and Electrical Engineering, University of Maryland Baltimore County, Baltimore, MD 21250, USA E-mail: [email protected] Abstract: In addition to the miniaturized sensor nodes, Wireless Sensor and Actor Networks (WSANs) employ significantly more capable actor nodes that can perform application specific actions to deal with events detected and reported by the sensors. In such networks responsiveness to serious events is of utmost importance and thus minimal latency should be experienced in both data gathering and action completion. In addition, since these actions are often taken at or close to where events are detected, which can be any spot within the monitored area, the actors should strive to provide maximal coverage of the area. In this paper, we propose two actor placement mechanisms for WSANs, namely COLA and COCOLA that consider both the delay requirements of data collection and the coverage of the area. COLA first evenly distributes the actors in the region for maximized coverage. Actors then collaboratively partition the sensors among themselves, forming clusters. An actor plays the role of the cluster-head for the assigned set of sensors; receiving and processing the sensed data. Each individual actor then repositions itself at a location that enables minimal latency in collecting the sensor reports in its cluster. COCOLA is an extension to COLA which additionally enforces connectivity among the actors by assigning appropriate locations to each actor for improved coverage and reduced latency. The effectiveness of both approaches is evaluated through extensive simulation experiments. Keywords: Area coverage, energy awareness, sensor networks, actors, data latency, network connectivity.

2 1

INTRODUCTION

In recent years, wireless sensor and actor (actuator) networks (WSANs) have started to receive a growing attention due to their potential in many real-life applications [1]. Such networks include miniaturized low-cost sensing nodes that are responsible for measuring ambient conditions and reporting such measurements to some actor nodes over wireless communication links. Actors have the capability for processing the sensed data, making decisions and then performing the appropriate actions. Robotic Mule [2], an autonomous robot designed for the Army to detect mines in the battlefield and the NASA JPL miniaturized rover [3], are some examples of possible actor nodes. Typical applications of WSANs include urban search and rescue (USAR), battlefield and seashore surveillance, lunar and planetary exploration, detecting and countering pollution in coastal areas, monitoring and guarding the environment against unusually high-level of radiation and suspiciously active chemical/biological agents, etc. In these applications, one of the most important issues is being able to provide services at every part of the deployment region. This is known as the coverage problem [4]. However, these services often require actors’ responsiveness in order to provide the desired effects. The solution to this problem requires a careful placement of actors in the area so that they get quickly notified and respond appropriately while meeting application-level constraints on the overall response time. For example in forest monitoring applications, actors such as fire trucks and flying aircrafts need to be engaged as rapidly as possible to control a fire and prevent it from spreading. Similarly for scientific studies or space applications actors should respond instantaneously to record rare phenomena, e.g. capture an image or record a weird behavior of a habitat. Maximizing the actor coverage and minimizing data latency may be conflicting objectives and thus warrant a trade-off. In practice, the distribution of sensor nodes may not be uniform throughout the event area. Therefore, placing the actors for increased coverage may lead to an inefficient network topology and/or extend the data paths from sensors to actors. For example, if the sensors are densely populated close to the center of the deployment region, either close-by actors will be overloaded or data will be routed to far actors over long paths as seen in Figure 1. Both of these scenarios are not acceptable. Actor overload may lead to data loss and an inability to process data robustly and promptly, which will negatively impact the application. On the other hand, routing data over long paths will increase the end-toend delay, again limiting the actor responsiveness and

Actor Sensor

Figure 1 Undesired WSAN topology

will unnecessarily boost the energy consumed by the resource-constrained sensors. In this paper, we present COLA, a COverage and Latency aware Actor placement scheme for WSANs. COLA considers the actor coverage and data gathering latency, when determining the location of the actor nodes. Initially, we aim to nominate positions that maximize the actor coverage and then move the actor nodes to these positions. At their initial locations, the actors will start a discovery process to establish contact with nearby sensors and then will collaboratively partition the discovered sensors among themselves forming clusters. Note that for each cluster, an actor is designated as a cluster-head which gathers and processes the data from the sensors within that cluster. Each individual actor will then compute the best position that will provide minimum end-to-end packet delay for all the sensors within its cluster. This location is computed by modeling the problem as an absolute 1-center vertex problem which has been used as an optimization technique for many real-life applications [5]. Finally each actor will relocate to the computed position. While COLA can improve the coverage in addition to reducing the end-to-end delay, it may make some of the actors inaccessible to others due to their newly designated positions. However, a connected network of actors is required in many real-life applications for which actors may need to collaboratively make decisions on the best response. For instance, in a forest monitoring application, some actor nodes may request from other actors to come to a certain location in order to help in extinguishing a fire. In such a network each actor should be able to reach any of the other actors. Therefore, inter-actor connectivity should be maintained when determining the new location of the actors. To deal with inter-actor connectivity goals we present COCOLA (COnnected COLA). COCOLA utilizes COLA as the base approach for determining actors' location. However, COCOLA restricts the

3 actor’s movement to the designated location by considering the transmission range of the neighboring actor nodes. In other words, each actor in the network tries to move as close as it can to its 1-center vertex position in order to improve the delay performance while maintaining communication links to neighboring actors. We present a simple distributed heuristic to perform such relocations in the network. This paper is organized as follows. Next section describes the system model that we consider throughout the paper. In section 3, we compare our approach to previous research. Section 4 introduces COLA for actor placement. In section 5, COCOLA is introduced to further ensure inter-actor connectivity. The performance of COLA and COCOLA are evaluated in section 6. Section 7 concludes the paper with a summary and a highlight of our planned future work. 2

SYSTEM MODEL

A set of sensors and actor nodes are spread throughout an area of interest to detect and track events and take necessary actions in this area. The sensors are batteryoperated with diverse capabilities and types and are empowered with limited data processing engines. While sensors are deployed in abundance, the number of actor nodes is limited since robot-like nodes are usually used and they tend to be very expensive. The actors are both less-energy constrained and have larger transmission range than the sensors. We considered two models for the transmission range of the actors. The first model assumes significantly large enough transmission range for actors to communicate. In the second model the transmission range is restricted. The action range of an actor, which is defined as the maximum distance it can cover, is limited and assumed to be equal for all actors. We use all the actors as data collector points (sinks) as seen in Figure 2 and each actor will be responsible for a cluster where it can gather data from the sensors and act (e.g. destroy targets) based on the gathered data. We also assume that the actors can move on demand in order to act on larger areas or to enhance the network operation.

3

RELATED WORK

The coverage problem has been studied in the literature in the context of multi-robot systems. The network in these systems consists of robots which have sensing, vision and motion capabilities. The issue is how to locate the robots so that every point in the

Command Node

Actor /cluster-head Active sensor Inter-actor communication Communication with the command node

Figure 2 Multi-cluster sensor-actor network

region will be under the shadow of a particular robot [6]. If the region is very large and the number of robots is limited, dynamic coverage and exploration can be considered [7]. In this case, the robots will continuously move and patrol the region for complete coverage. However, since the area of WSANs is fairly new, there is not much work on coverage problems in WSANs. Quite recently, the characteristics and research challenges of WSANs have started to draw attention [1]. One of the few projects that address specific problems for WSANs is reported in [8]. The authors mainly tackle the problem of picking appropriate actors for responding to an event in a particular region. Again the network is clustered around actors. However, it was assumed that multiple actors are available to serve the individual clusters; one of which stay stationary to collect data while the other designated actors stand by to get engaged when need arises. The paper focused on the problem of actor assignment to overlapping areas with the least amount of energy and packet delay. An integer programming formulation was proposed to solve this problem. Our work is similar to that work in the sense that we aim to provide best network performance in terms of packet delay. However, we mainly focus on another metric which is the coverage of the region; basically trying to achieve maximum actor coverage. We argue that employing large number of actor nodes will not be practical for most of applications since sophisticated and often expensive robots are being used as actor nodes. In other words, we consider a different problem in which maximum coverage with a given number of

4 actors is an objective. We also assume that actors can move around in order to extend the coverage as needed. However, since the movement imposes overhead, especially for robots, in terms of energy and delay, we strive to avoid it unless the coverage in a cluster is insufficient. Furthermore, unlike [8] we consider inter-actor connectivity in addition to coverage and latency metrics. To the best of our knowledge, this connectivity problem has not been studied in the literature with the aim of maximizing coverage and minimizing latency.

4 COLA: COVERAGE AND LATENCY AWARE ACTOR PLACEMENT One of the fundamental design issues in WSANs is where to place the actors. The location of an actor may affect the fulfillment of the system’s requirements and impact multiple network performance metrics. For example, it is desirable in many setups to have good actor coverage in the area of interest. Therefore, it may be required to have the actors uniformly distributed in the area as much as possible. Moreover, in many applications it is important to achieve high level of responsiveness to emerging events whether by executing specific tasks, performing sophisticated experiments to collect more accurate data or even moving closer to where the event is happening. Thus, in addition to actor’s coverage, we focus our attention on the number of hops a data packet travel till reaching an actor node. In the next subsection we give a more precise description of the problem. 4.1 Problem Definition Our problem can be defined as follows: “Given an area of interest with known boundaries and a set of sensors and actors initially deployed randomly in this area, what is the best layout for the actor nodes which will provide maximum coverage of the area and minimize the data collection latency and action completion time while also considering the energy constraints of sensors”. Since energy savings can usually be done through pursuing multi-hop routes, the problem can be named as “Max-coverage Min-delay Actor Placement” where data collection latency is to be minimized. There are two variants of the actor placement problem depending on the transmission range of the onboard radio. When actors are able to communicate over a long haul link, the placement problem becomes less constrained. In this case, the concern will be on the delay of packet delivery from a sensor to any actor. However, if the actor’s reachable range is not long enough to guarantee connectivity with all other actors, the inter-actor topology has to be included in the

formulation of the actor placement optimization problem. In this section, we only consider the former case. The later case will be discussed in section 5. Given the infinite solution space and the uncertainty about the quality of wireless links, finding optimal locations for the actor nodes is a very complex problem which has been proven to be NP-hard through reduction to the P-center problem [9]. For example, even if we assume that an optimal position for an actor node could be identified; there is no guarantee that the actor will be in fact reachable to the nearby sensor nodes. Therefore, we pursue heuristics. The basic idea of COLA is to consider both the topology of the sensor network and the boundaries of the deployment region. To address the requirement of maximum actor’s coverage, we strive to assign position to actors that minimize the overlap among their acting range. COLA is divided into two phases; network bootstrapping and actor relocation. 4.2 Network Bootstrapping The network bootstrapping phase includes the initial placement of actors and grouping sensors into clusters. Initial Actor Placement: The coverage problem is defined as the maximization of the total area covered by actors. This can be achieved either statically or dynamically [4]. Static coverage is the problem of deploying actors in a static configuration, such that every point in the area is under the actors’ shadow (i.e. covered) at every instant of time. Clearly, for complete static coverage of an area the number of actors should be large enough. Dynamic coverage, on the other hand, is addressed by algorithms which explore and hence cover the area with constant motion and stick to neither a specific configuration, nor a particular pattern of traversal [4]. In this paper, we consider an on demand and partially dynamic coverage where actors only move whenever deemed necessary based on the received sensor data. That is, the actor will move when its action range does not cover the whole area it is responsible for and there is a need to act out of its action range. Note that this is different from the transmission range which depends on the radio. In COLA, initial placement of actor nodes is done by dividing the region into equal sized cells whose number matches the number of actors and then repositioning the actors at the center of these cells. Figure 3 illustrates the idea, where the circles represent the action range of the actors. Such placement will provide the maximal possible coverage by preventing overlaps among the various action ranges. In order to calculate these actor locations, a distributed algorithm is used. Let n be the number of actors, Ai denote the actor with ID i and posi denote its location. The steps of the algorithm are as follows:

5 Next, we prove that this algorithm is conflict-free and thus each actor concludes the same result. Theorem: COLA is conflict-free. Proof: Since all actors will have the same information and follow the same order of assigning new locations to actors based on the actor ID, each actor will produce the same assignment list. Thus, no location can be assigned more than one actor at the same time. … 3 actors

4 actors

Figure 3 Illustration of initial placement of actors

1. /* Each actor broadcasts its ID and location */ ∀i Ai do Broadcast (i, posi) 2.

/* By using the number of actors, the location of each actor and the coordinates of the corners of the event region, each actor node employs a recursive algorithm which determines the cells as follows: */ Divide (Region, n) { if ( n ==1) then /* Insert the vertices of the cell and its center point into a binary tree */ InsertTree(CellTree,Region Center(Region)); else /* Recursively divide the region into cells */ Compute(Region, Cell1, Cell2); Divide (Cell1, ⎡n / 2 ⎤ ); Divide (Cell2, ⎣n / 2 ⎦ ); }

3. /* Finally, each actor node computes the closest cell to move to by comparing their initial locations to the centers positions stored in the binary tree. Given that the movement is both energy and time consuming, this approach will reduce the total travel distance of all actor nodes and the total travel time. */ ∀i Ai do { /*Search CellTree for the closest unvisited cell to actor i */ min ÅFindClosest(i, posi, CellTree); /* Store the location for the closest cell in to a list along with the actor ID */ NewLoc (i) = min; /* Mark the cell as visited. */ MarkVisited (min); } 4. /* Upon retrieving the closest location from the list, the actor node starts moving to that location.*/ Move (i, NewLoc (i))

Forming Clusters: After positioning the actor nodes, the next step is to group sensors into distinct clusters; each is headed by an actor node. An actor will be responsible for collecting the data of the sensors in its cluster. There are numerous published techniques, e.g. [10] that can be applied for assigning sensors to clusters. In its simplest form, each actor broadcasts a message with its ID and location. A sensor node when receiving this message, estimates its proximity to that actor node. The sensor waits to hear from other actors and then picks the closest actor. Finally the sensor replies back to the selected actor to join its cluster. 4.3 Actor Relocation for Minimum Latency While the actors are now positioned for maximum coverage, this does not mean that it is the best layout for minimizing the data collection delay. The location of the actor should be selected in order to minimize the maximum delay a packet will experience from any sensor source to the corresponding actor (cluster head). That is actually to minimize the number of hops on the longest path from a sensor to the actor of the cluster. Therefore, COLA relocates the actor nodes from the center of the cells to new locations where significant reduction in path delay can be achieved. This relocation also helps in getting the actor closer to data sources and hence may reduce the number of sensor’s transmissions which extends the sensors’ lifetime as well. While this relocation may negatively affect the performance in terms of coverage, we argue that this new location would not be very far away from the initial location since the relocation is restricted within the boundary of the individual clusters as we describe next. Picking the new location: Given that one of the factors that affect actors’ responsiveness is the amount of time they wait to receive the data from sensors, it is very crucial that this time is minimized in order to speedup the decision making process for actors. This can be achieved by determining a location for the actor node which ensures that even the farthest sensor node can transmit its data to the actor within an acceptable time. Finding the optimal position that fulfills these goals is a classical 1-center problem; which is known

6 to be NP-hard. Therefore, COLA pursues a vertex 1center formulation which has a polynomial time solution [5]. The vertex 1-center problem has many applications such as urban planning. When placing service centers like hospitals in a city, it is desired that an ambulance can be dispatched responsively to patients or accident scenes no matter where they are located. In our context, such formulation means that the new position for an actor node is to be searched among the locations of sensor nodes which serve as vertices. Solving the vertex 1-center model will result in a new location for an actor node which guarantees that the maximum possible delay in terms of hop counts from sensor sources to the actor node is minimized. The pseudo code for computing the vertex 1center of a cluster is shown below in Figure 4. The main idea is first to create the minimum distance matrix of all the sensor nodes within the cluster (line 1). d[i, j] basically denotes the number of hops for the minimum possible path from sensor i to j. Then for each node, we pick the longest path from that node to any of the other nodes, among the values which are listed in the corresponding row of the matrix (line 23). These values are stored into a list (denoted as MaxList) and among them the smallest value is picked in line 4-5. The vertex 1-center will be the location of the node which has this smallest value in its row (line 6). The actor node is hence relocated to that location as shown in line 7. 1 The actor node computes the minimum distance matrix for the cluster: M = d[i, j] for all i, j ∈ Sensors in the cluster 2 for each row k of M do /* Find the longest path for this node to all others */ 3 Find Max(row(k)); 4 MaxList ÅMax(row(k)); /* Pick shortest entry in the set of longest paths*/ 5 MinCost Å Min(MaxList); 6 VertexCenterÅ Position(First node on Path(MinCost)); 7 Relocate the actor to VertexCenter Figure 4 Pseudo code for vertex 1-center algorithm

In this algorithm, once the minimum distance matrix M is computed, the complexity of the remaining part is in the order of number of sensors. M can be computed in polynomial time using the Floyd-Warshall’s all pair shortest-path algorithm [17]. It should be noted that every individual actor will use the above algorithm and identify the best location to serve its cluster independent of the other actors. Since the vertex 1center is in fact the position of one of the sensor nodes

in the cluster, the actor remains within the boundary of the cluster and the overlap among the actors’ coverage stay at minimal. We validate this property through simulation in section 6.

5

COCOLA: CONNECTED COLA

The actor nodes in WSANs are not only responsible for gathering data from the sensors, but also responding with some actions when deemed necessary. The decision for performing these actions is often made collaboratively among the actor nodes. Since each actor has a portion of the sensed information, they can communicate to decide how to act, which actor to call for help or which actor to designate for leading the effort if multiple of them cover the event area [1]. An example of this scenario is in oceanic studies and coaster monitor applications where a number of mobile Unmanned Surface Vehicles (USVs) are deployed to detect and clean oil spills from ships, measure tide, study fish migration, etc. In such setup these USVs would continually coordinate among themselves to avoid collisions and exchange their collected data in order to decide on travel direction and worthy investigation spots [18]. This requires some message exchanges among the actors which necessitates a connected network. Thus, each of the actors should be accessible, either directly or indirectly by other actors within the network, for efficient and on-time data exchange and decision making. In the previous section, we assumed that in COLA any two actor nodes can communicate with each other if needed. If actors have limited communication range, the problem becomes more challenging. In that case, in addition to the coverage and latency metrics, interactor connectivity should be also considered as a constraint. In other words, while selecting their positions actors should avoid making themselves isolated or causing the inter-actor network to be partitioned. In this section, we define this new problem and present our solution. 5.1 Problem Definition The new actor positioning problem can be considered as an extension to COLA. In this case, the algorithm described in section 4.2 is assumed to create a connected network of actors. Based on this, the new problem can be defined as follows: “Given a set of actors and sensors placed in an area of interest with known boundaries such that the actors form a connected network among them, determine the best layout for the actors which will provide the least endto-end delay for sensors’ data without violating the connectivity of the actor network.”

7 Optimal placement of multiple actors can be formulated as a p-center problem, with p denoting the number of actors. However, this problem has been proven to be NP-complete [16], Therefore, we extend the COLA bootstrapping heuristics presented in section 4.2. Initially, the actors can determine their new locations which will maximize the coverage of the monitored region. Given that the transmission range of the actor nodes is known a priori, we argue that the uniform layout as an outcome of this algorithm can form a connected graph if a sufficient number of actors is deployed. Thus, there are two tasks before data gathering operation starts: First, each actor will determine the best location in terms of latency for itself by computing the vertex 1-center location in its cluster. Second, it will consider moving to that location without losing connectivity with its neighboring actors. Given the collaborative nature of actor’s operation and the lack of centralized management infrastructure in WSANs, distributed actor repositioning approaches are more suited. In such case, if multiple actor relocation is simultaneously performed, a violation of the inter-actor connectivity can be triggered. For example, two actors Ai and Aj that are in range of each other may decide on positions that require them to move away from each other. Ai would see its move acceptable since it would assume that Aj’s position has not changed. Meanwhile Aj would assume that same about Ai. Therefore, the individual actors need to coordinate (synchronize) among themselves before moving to the location of their choice in order to ensure that the inter-actor network is not partitioned. In the next subsection, we present COCOLA and describe how it addresses the inter-actor synchronization. 5.2 Distributed Relocation Approach Since simultaneous relocations of actors may lead to violating the inter-actor network connectivity constraints, COCOLA strives to maintain a global order of the relocation of the individual actors. COCOLA still allows some actors to move at the same time if no conflicting (no exactly same) views of the state of the inter-actor network are used. The idea is to localize the decision making process for determining which actor to move first. In the context of COCOLA an actor would only coordinate with its immediate neighbors, which are directly reachable to it. This takes the form of a competition among the neighboring actors before the relocation is performed. Each actor node winning this competition can relocate to its new position, i.e. the vertex 1-center of its cluster, while ensuring that its neighbors do not move since they lost the competition.

For the competition, actors can use the node ID again. In other words, the node with the highest ID among its neighbors will go ahead and relocate and then the second highest ID and so on. Alternatively, the arbitration can be based on a priority, derived independently by each actor. The priority function can be based on application and network level metrics. For example, high priority can be given to actors in largely populated clusters or to those that would travel the shortest distance from their current positions (since most probably they would not cause any link to break). Unlike the use of actor IDs, care need to be taken to ensure the assignment of unique priority values among actors in order to avoid ties among competing actors. In the balance of this section, we use Φ to refer to the base of the competition whether it is actor ID or priority. Our distributed relocation heuristic works as follows: Each actor upon computing Φ, broadcasts it to its neighbors. Thus, each actor compares its Φ value to those of its neighbors. If an actor has the largest Φ, it assumes that it has the right to relocate and the others would stay stationary. Once the actor reaches its new position, it informs its neighbors so that each of them decides on whether it will relocate next or wait. One attractive feature of COCOLA is that it allows simultaneous actor relocation which speeds up the process. For example, if an actor Ai is not a neighbor to Aj and both of them have the highest Φ among their neighbors, then both Ai and Aj can concurrently relocate. We later prove that COCOLA converges allowing all actors to reposition, and prevents conflicting actor’s moves that cause an inter-actor link to break. An example is depicted in Figure 5 to illustrate how COCOLA works in a 9-node actor network. The number at each node denotes the Φ value of the actor. In the first iteration, nodes 7 and 9 win the competition since they have highest priority among their respective neighbors and thus would relocate. It should be noted that nodes 1, 2, 3, 4, 6 and 8 have to remain stationary. While node 5 is not affecting 7 and 9, it did not win over 6 and thus will stay still till actor 6 completes its repositioning at a later stage. In the second round, both actors 6 and 8 move. Nodes 5, 4 and 3 follow in the third iteration while keeping node 1 and 2 stationary. Finally nodes 1 and 2 would go ahead and move. It is worth noting that the maximum node degree is 4 for this network which matches the number of rounds. We later will come back to analyze the algorithm performance. We also like to note that the order of relocation does not match the global priority order. COCOLA strives to expedite the relocation process and limit the overhead and inter-actor dependency. If a

8 The slope m =

1

7

2

From (1),

9

6

(2)

and n can be computed by applying one of the points to the equation y = mx + n.

4

8 5

b2 '−b2 a 2 '− a 2

b2 = ma 2 + n

(3)

⇒ n = b2 − ma 2

Applying (a2new, b2new) to (1) we get

3 Figure 5: The numbers denote the Φ values of each actor. The order of relocation is (7||9, 6||8, 3||4||5, 1||2)

b 2new = ma 2 new + n

(4)

global order is required, COCOLA would take N iterations to complete. Upon winning the competition, an actor node Ai will move towards its vertex 1-center while preserving its connection to its neighbors. The neighbors of Ai will stay still while Ai is moving and will thus simplify the relocation process. Since it is a constrained move, the goal in this case is to get as close as possible to the vertex 1-center of the cluster without breaking any links to neighbors. Computational geometry can be employed to find the furthest point that Ai can reach (closest point to the 1-center vertex). The idea is determine the function of the line passing through the current and new location of Ai. The sought point will be somewhere on this line and its distance to both neighbors should be less than the given actor radio transmission range. A simple scenario involving 2 neighbors is depicted in Figure 6. In Figure 6, A2 is connected to A1 and A3. It computes the vertex 1-center location in its cluster as depicted in Figure 6a. However, moving to that location will make A2 out of range of A3. Thus, a new location which will maintain connectivity should be computed as seen in Figure 6b. This new location for A2 is computed based on the following notation and equations: Location of A2: Location of 1-center of A2 : Location of A1: Location of A3 : New location of A2: Actor communication range:

(a2, b2) (a2’, b2’) (a1, b1) (a3, b3) (a2new, b2new) r

The equation of the line passing through (a2, b2) and (a2’, b2’) can be determined by using y = mx + n (1)

1-center

A1

A2

A3

(a)

1-center

A2 ’

A1

A2

A3

(b) Figure 6 a) 1-center of A2. A2 will be out of range of A3 if relocated to its 1-center. b) A2 is relocated close to 1-center so that it will keep connectivity with A1 and A3.

9 The distance between (a2new, b2new) and (a1, b1) should be less than the Actor range.

(a 2 new − a1 ) 2 + (b2 new − b1 ) 2