Optimal Transmission Range for Cluster-Based Wireless Sensor Networks With Mixed Communication Modes Prolonging the network lifetime is one of the most important designing objectives in wireless sensor networks -LRB- WSN -RRB- . We consider a heterogeneous cluster-based WSN , which consists of two types of nodes : powerful cluster-heads and basic sensor nodes . All the nodes are randomly deployed in a specific area . To better balance the energy dissipation , we use a simple mixed communication modes where the sensor nodes can communicate with cluster-heads in either single-hop or multi-hop mode . Given the initial energy of the basic sensor nodes , we derive the optimal communication range and identify the optimal mixed communication mode to maximize the WSN 's lifetime through optimizations . Moreover , we also extend our model from 2-D space to 3-D space . A WIRELESS sensor network consists of a large amount of sensor nodes , which have wireless communication capability and some level of ability for signal processing . Distributed wireless sensor networks enable a variety of applications for sensing and controlling the physical world -LSB- 1 -RSB- , -LSB- 2 -RSB- . One of the most important applications is the monitor of a specific geographical area -LRB- e.g. , to detect and monitor the environmental changes in forests -RRB- by spreading a great number of wireless sensor nodes across the area -LSB- 3 -RSB- -LSB- 6 -RSB- . Because of the sensor nodes ' self constraints -LRB- generally tiny size , low-energy supply , weak computation ability , etc. -RRB- , it is challenging to develop a scalable , robust , and long-lived wireless sensor network . Much research effort has focused on this area which result in many new technologies and methods to address these problems in recent years . The combination of clustering and data-fusion is one of the most effective approaches to construct the large-scale and energy-efficient data gathering sensor networks -LSB- 7 -RSB- -LSB- 9 -RSB- . In particular , the authors of -LSB- 9 -RSB- develop a distributed algorithm called Low-Energy Adaptive Clustering Hierarchy -LRB- LEACH -RRB- for homogeneous sensor networks where each sensor elects itself as a cluster-head with some probability and The research reported in this paper was supported in part by the U.S. National Science Foundation CAREER Award under Grant ECS-0348694 . the cluster reconfiguration scheme is used to balance the energy load . The LEACH allows only single-hop clusters to be constructed . On the other hand , in -LSB- 10 -RSB- we proposed the similar clustering algorithms where sensors communicate with their cluster-heads in multi-hop mode . However , in these homogeneous sensor networks , the requirement that every node is capable of aggregating data leads to the extra hardware cost for all the nodes . Instead of using homogeneous sensor nodes and the cluster reconfiguration scheme , the authors of -LSB- 11 -RSB- focus on the heterogeneous sensor networks in which there are two types of nodes : supernodes and basic sensor nodes . The supernodes act as the cluster-heads . The basic sensor nodes communicate with their closest cluster-heads via multi-hop mode . The authors of -LSB- 11 -RSB- formulate an optimization problem to minimize the network cost which depends on the nodes ' densities and initial energies . In addition , The authors of -LSB- 12 -RSB- obtain the upper bounds on the lifetime of a sensor network through all possible routes / communication modes . However , it is complicated to implement a distributed scheme to achieve the upper bound of the WSN lifetime because it is required to know the distance between every two sensor nodes in their scheme . The authors of -LSB- 13 -RSB- develop a simpler , but sub-optimal , scheme where the nodes employ the mixed communication modes : single-hop mode and multi-hop mode periodically . This mixed communication modes can better balance the energy load efficiently over WSNs . However , the authors of -LSB- 13 -RSB- do not obtain the optimal communication range for the multi-hop mode which is a critically important parameter for the mixed communication modes scheme . Also , their analytical model can only deal with the case of grid deployment , where the nodes are placed along the grids , without considering the random deployment . In order to further increase the network lifetime of heterogeneous WSNs by remedying the deficiencies in the aforementioned pervious work , we develop the analytical models to determine the optimal transmission range of the sensor nodes and identify the optimal communication modes in this paper . In our models , the basic sensor nodes are allowed to communicate with their cluster-heads with mixed communication Proceedings of the 2006 International Symposium on a World of Wireless , Mobile and Multimedia Networks -LRB- WoWMoM ' 06 -RRB- 0-7695-2593-8 / 06 $ 20.00 2006 IEEE Cluster-head Basic sensor node Zone1 Zone 2 Zone 3 Zone 4 R Mobile base station Cluster Fig. 1 . An example of the wireless sensor data-gathering networks . In each round , the aircraft hovers above the cluster-heads in the monitored area to collect the aggregated data . Within each cluster , the basic sensor nodes can communicate with its cluster-head in either single-hop or multi-hop . modes instead of only multi-hop mode or only single-hop mode . Applying the derived optimal transmission range and communication modes , we also study how the other WSN parameters -LRB- e.g. , the density and initial energy of the cluster-heads , etc. -RRB- affect the network lifetime through simulation experiments . Moreover , simulation results verify our analytical models . We also extend our model from 2-D space to 3-D space . The rest of the paper is organized as follows . Section II develops our proposed models and formulates the design procedure as an optimization problem . Section III solves the formulated optimization problem . Section IV presents the numerical and experimental results . Section V addresses the extended 3-D model . The paper concludes with Section VI . We study the following WSN scenario in this paper . A heterogeneous sensor network consisting of two types of sensor nodes , i -RRB- the more powerful but more expensive cluster-head nodes with density of 1 and ii -RRB- the inexpensive basic sensor nodes with density of 2 , is deployed in a specific area . The density of the basic sensor nodes is determined by the application requirements . A basic sensor node joins the cluster whose cluster-head is the closest in hops or distance to this basic sensor node . In each round , the cluster-heads send the aggregated data to the mobile base station -LRB- e.g. , an aircraft or a satellite -RRB- after the cluster-heads receive and process the raw data from the basic sensor node . Fig. 1 shows an example of this type of sensor networks . The definition of network lifetime used in this paper is the period in rounds from the time when the network starts working to the time when the first node dies -LSB- 15 -RSB- . Notice that energy dissipation is not uniform over the cluster-based WSNs , implying that some nodes in specific zones -LRB- e.g. , the nodes which are close to the cluster-heads need to consume more energy for relaying traffic of other nodes in multi-hop mode -RRB- drain out their energy faster than others . Thus , the network lifetime of these critical nodes decides how long the WSN can survive . Hence , maximizing the network lifetime is equivalent to minimizing the energy consumption of the critical sensor nodes if the initial energy of sensor nodes is given . In this paper , our optimization objective is not to minimize the total energy consumption by all the sensor nodes , but to minimize the energy consumption of the critical nodes to prolong the network lifetime . A. Node Architectures and Energy Models A wireless sensor node typically consists of the following three parts : 1 -RRB- the sensor component , 2 -RRB- the transceiver component , and 3 -RRB- the signal processing component . In this paper , we have the following assumptions for each component . 1 -RRB- For the sensor component : Assume that the sensor nodes sense constant amount of information every round . The energy consumed in sensing is simply E sense -LRB- l -RRB- = l , where is the power consumption for sensing a bit of data and l is the length in bits of the information which a sensor node should sense in every data-gathering round . In general the value of l is a constant . 2 -RRB- For the transceiver component : We use a simple model for the radio hardware energy consumption -LSB- 16 -RSB- . The energy E tx -LRB- r , l -RRB- and the energy E rx -LRB- l -RRB- required for a node to transmit and receive a packet of l bits over r distance , respectively , can be expressed as follows . E tx -LRB- r , l -RRB- = -LRB- r n + -RRB- l E rx -LRB- l -RRB- = l -LRB- 1 -RRB- where r n accounts for the radiated power necessary to transmit over a distance of r between source and destination and is the energy dissipated in the transmitter circuit -LRB- PLLs , VCOs , etc -RRB- which depends on the digital coding , modulation , etc. . The value of path loss exponent n depends on the surrounding environment -LSB- 16 -RSB- . In general , = 10pJ/bit/m 2 when n = 2 , = 0.0013 pJ/bit/m 4 when n = 4 , = 50nJ/bit -LSB- 9 -RSB- . 3 -RRB- For the signal processing component : This component conducts data-fusion . Because the signal processing component usually consists of complicated and expensive gear such as Digital Signal Proces-sors -LRB- DSP -RRB- , Field Programmable Gate Arrays -LRB- FPGA -RRB- , etc. , the basic sensor nodes do not contain the signal processing component . Only the cluster-heads have these components and the ability for data-fusion . The energy spent in aggregating k streams of l bits raw information into a single stream is determined by E aggr -LRB- k , l -RRB- = kl -LRB- 2 -RRB- where the typical value of is 5nJ/bit/stream -LSB- 17 -RSB- . B. Mixed Communication Modes Notice that in the multi-hop mode , the closer the distance between the sensor node and its cluster-head , the more energy the sensor node consumes since the inner nodes are required Proceedings of the 2006 International Symposium on a World of Wireless , Mobile and Multimedia Networks -LRB- WoWMoM ' 06 -RRB- 0-7695-2593-8 / 06 $ 20.00 2006 IEEE to relay the more traffics than that for the outer nodes . On the other hand , for the case of pure single-hop mode , the basic sensor nodes which are closer to their cluster-heads dissipate less energy than those farther from the cluster-heads because the energy consumption increases as the n-th power of distance , where n is the path loss exponent . In order to balance the energy load of the basic sensor nodes , our model employs the mixed communication modes which consist of the mixed single-hop and multi-hop mode . The basic sensor nodes use single-hop communication mode in some rounds but multi-hop communication mode in the other rounds . This kind of mixed communication modes is easy to implement . For example , the cluster-head can broadcast a notifying message periodically to all member nodes to inform of which communication mode should be used for next data-gathering round . We use parameter to measure how often the single-hop mode is used . Suppose T is the total rounds that the network can perform , T s is the number of rounds that single-hop communication mode is used and T m is the number of rounds that multi-hop communication mode is employed . Let = T s / T = 1-T m / T be the frequency with which the single-hop communication mode is used . Note that = 0 means that the pure multi-hop communication mode is employed , while = 1 represents that only the single-hop communication mode is used . C. Deployment Models The sensor nodes and the cluster-heads are randomly distributed on a 2-D circular area , whose radius is A unit . We can model such random deployment -LRB- e.g. , deployed by the aircraft in a large-scale mode -RRB- as a spatial Poisson point process . Specifically , the cluster-heads and basic sensor nodes in the wireless sensor network are distributed according to two independent spatial Poisson processes PP1 and PP2 with densities equal to 1 and 2 , respectively . The basic sensor nodes will join the clusters in which the cluster-heads are the closest to the sensor nodes to form Voronoi cells -LSB- 14 -RSB- . The 2-D plane is thus partitioned into a number of Voronoi cells which correspond to a PP1 process point . The authors of -LSB- 14 -RSB- have studied the moments and tail of the distributions of the number of PP2 nodes -LRB- i.e. , the basic sensor nodes -RRB- connected to a particular PP1 node -LRB- i.e , a cluster-head -RRB- . Because PP1 and PP2 are homogeneous Poisson point processes , we can shift the origin to one of the PP1 nodes . Let V be the set of nodes which belong to the Voronoi cell corresponding to a PP1 node located at the origin and S -LRB- r , -RRB- be a PP2 node whose polar coordinate is -LRB- r , -RRB- . By using the results of -LSB- 14 -RSB- , we can get the probability that S -LRB- r , -RRB- belongs to V as follows : P r S -LRB- r , -RRB- V = e 1 r 2 -LRB- 3 -RRB- Let N V be the number of PP2 nodes belonging to the V. Then , the average N V can be given by E -LSB- N V -RSB- = 2 0 0 P r S -LRB- r , -RRB- V 2 rdrd = 2 0 0 e 1 r 2 2 rdrd = 2 1 -LRB- 4 -RRB- where 2 rdrd denotes the number of PP2 nodes in a small area of rdrd . If we confine the cluster size to X hops -LRB- i.e. , maximum number of X hops is allowed from the basic sensor node to its cluster-head -RRB- , the average number of sensors which do not belong to any cluster-head , denoted by E -LSB- N O -RSB- , can be expressed as follows : E -LSB- N O -RSB- = 1 A 2 2 0 XR P r S -LRB- r , -RRB- V 2 rdrd = 2 A 2 e 1 -LRB- XR -RRB- 2 -LRB- 5 -RRB- Clearly , we want a small E -LSB- N O -RSB- with an appropriate cluster size X. E -LSB- N O -RSB- 2 A 2 -LRB- 6 -RRB- where -LRB- > 0 -RRB- is the percentage of sensor nodes that will not join any cluster-head . Solving Eq . -LRB- 5 -RRB- and Eq . -LRB- 6 -RRB- together , we obtain the following inequality . X - log 1 R 2 -LRB- 7 -RRB- The average number of sensor nodes which do not join any cluster-head is less or equal than 2 A 2 if X is given by X = - log 1 R 2 -LRB- 8 -RRB- Thus , we know that every cluster can be divided into X ring zones with the ring width equal to R when multi-hop communication mode is used . The average number of sensor nodes in the i-th zone of the cluster can be written as follows : E -LSB- N i -RSB- = 2 0 iR -LRB- i-1 -RRB- R P r S -LRB- r , -RRB- V 2 rdrd = 2 1 e 1 -LSB- -LRB- i-1 -RRB- R -RSB- 2 - e 1 -LRB- iR -RRB- 2 -LRB- 9 -RRB- where i is an positive integer ranging from 1 to X. D . The Wireless Sensor Network Lifetime In our model , the nodes at the same zone will die at almost the same time . Therefore , the network lifetime is equivalent to the period from the time when the WSN begins working to the time when all nodes of a zone die . i -RRB- The basic sensor nodes The sensor nodes have the responsibility to relay the traffic from the peers laid in the outer zone in the multi-hop communication mode . We define the average number of packets Proceedings of the 2006 International Symposium on a World of Wireless , Mobile and Multimedia Networks -LRB- WoWMoM ' 06 -RRB- 0-7695-2593-8 / 06 $ 20.00 2006 IEEE by Y -LRB- i -RRB- , which a sensor node placed in the i-th zone need to relay . Because each basic sensor node sends out a packet of sensed information per round , Y -LRB- i -RRB- is determined by the average number of nodes for which node i needs to forward messages and can be written as follows : Y -LRB- i -RRB- = X j = i +1 E -LSB- N j -RSB- E -LSB- N i -RSB- . -LRB- 10 -RRB- The energy consumption of the basic sensor nodes in the i-th zone can be written as the summation of the following 3 terms : E sensor -LRB- i , -RRB- = -LRB- 1 - -RRB- E tx -LRB- R , l -RRB- + Y -LRB- i -RRB- E tx -LRB- R , l -RRB- + E rx -LRB- l -RRB- + E tx -LRB- iR , l -RRB- + E sense -LRB- l -RRB- -LRB- 11 -RRB- where -LRB- 0 1 -RRB- is a parameter measuring the frequency with which the single-hop communication mode will be employed . The first term of Eq . -LRB- 11 -RRB- represents the energy spent in the relaying the traffic for the sensor nodes in the outer zone and transmitting its own traffic when the multihop communication mode is employed . The second term of Eq . -LRB- 11 -RRB- is energy consumption for transmitting a packet by single-hop . The third term of Eq . -LRB- 11 -RRB- is the energy dissipation for sensing . In our model , because the basic sensor nodes in the same zone will consume almost the same energy in each round -LRB- i.e. , sharing the same relaying traffic load when multi-hop communication mode is used -RRB- , their lifetimes are equal if their initial energies are the same . Therefore , if the initial energy is the same for each basic sensor node , the sensor nodes which belong to the -LRB- arg max 1iX -LCB- E sensor -LRB- i , -RRB- -RCB- -RRB- - th zone will cost the most energy and die first which decides the network lifetime . Given the initial energy , denoted by E init2 , which is carried by the basic sensor node , the network lifetime in rounds -LRB- T -RRB- can be written as follows : T = E init2 max 1iX E sensor -LRB- i , -RRB- = E init2 E max -LRB- -RRB- -LRB- 12 -RRB- where E max -LRB- -RRB- max 1iX E sensor -LRB- i , -RRB- . One of our objectives is to find the optimal which is determined by = arg min 01 -LCB- E max -LRB- -RRB- -RCB- -LRB- 13 -RRB- ii -RRB- The cluster-heads Because the main functions of cluster-heads include -LRB- 1 -RRB- sensing , -LRB- 2 -RRB- collecting data from the basic sensor nodes , -LRB- 3 -RRB- aggregating the raw data , and -LRB- 4 -RRB- transferring the processed data to the base station , the energy consumption of cluster-heads is the sum of the energy dissipation of these four parts for the above four parts . Therefore , the energy consumption for a cluster-head , denoted by E CH , in each round can be expressed as summation of the following 4 terms : E CH = E -LSB- N -RSB- E rx -LRB- l -RRB- + E tx -LRB- H , l -RRB- + E sense -LRB- l -RRB- + E aggr -LRB- E -LSB- N -RSB- + 1 , l -RRB- -LRB- 14 -RRB- where E -LSB- N -RSB- is the average number of basic sensor nodes in a cluster , and H is the distance between the cluster-head and the mobile base-station . The first term of Eq . -LRB- 14 -RRB- represents the energy consumed for receiving the packets from the basic sensor nodes . The second term of Eq . -LRB- 14 -RRB- is the energy spent in transmitting the aggregated information to the mobile base station . The third term of Eq . -LRB- 14 -RRB- denotes the energy dissipation for sensing and the fourth term of Eq . -LRB- 14 -RRB- means the energy consumption for aggregating -LRB- E -LSB- N -RSB- + 1 -RRB- packets , each with l bits , into one packet of l bits . Because E -LSB- N -RSB- = 2 / 1 , E CH depends on the ratio between 2 and 1 . The energy consumption of cluster-heads is reversely proportional to the density of cluster-heads . The larger the density of cluster-heads , the smaller the value of E CH . Thus , in order to ensure T 0 rounds network lifetime , the initial energy for the cluster-heads can be written as follows : E init1 T 0 E CH -LRB- 15 -RRB- E. Connectivity Because the mixed communication modes contains multihop communication mode , the communication range -LRB- R -RRB- is required to be large enough to ensure the connectivity of the network . When the nodes are assumed to be distributed with Poisson density in a disc of a unit area , the authors of -LSB- 18 -RSB- derived a lower bound on the communication range -LRB- R -RRB- to ensure the network connectivity with probability P r -LCB- conn -RCB- , which is determined by P r -LCB- conn -RCB- 1 - e - R 2 -LRB- 16 -RRB- Hence , the following inequality need to hold to ensure the connectivity . e - R 2 -LRB- 17 -RRB- where > 0 . By resolving Eq . -LRB- 17 -RRB- , we obtain the minimum transmission range , denoted by R min , to ensure that the probability of connectivity is greater than -LRB- 1 - -RRB- . R min = - 1 log = 1 -LRB- 1 + 2 -RRB- log -LRB- 1 + 2 -RRB- -LRB- 18 -RRB- F . The Optimization Problem Formulation Our objective is to find the optimal transmission range -LRB- R -RRB- and the parameter for the mixed communication modes -LRB- -RRB- to maximize the network lifetime . Objective : max -LCB- T -RCB- -LRB- 19 -RRB- Subject to R R min -LRB- 20 -RRB- 0 1 -LRB- 21 -RRB- 0 E init2 E 0 -LRB- 22 -RRB- where the first constraint given by Eq . -LRB- 20 -RRB- is to ensure the connectivity of the network . The expression of R min depends Proceedings of the 2006 International Symposium on a World of Wireless , Mobile and Multimedia Networks -LRB- WoWMoM ' 06 -RRB- 0-7695-2593-8 / 06 $ 20.00 2006 IEEE on the types of deployment . The second constraint given by Eq . -LRB- 21 -RRB- indicates that we can use mixed communication modes . The third constraint given by Eq . -LRB- 22 -RRB- is due to the very limited energy carried by the basic sensor nodes . By observing Eq . -LRB- 12 -RRB- , we can simplify the objective function as `` min -LCB- E max -RCB- '' and remove the constraint given by Eq . -LRB- 22 -RRB- by letting E init2 = E 0 . Then , the simplified optimization problem can be written as follows : Objective : min -LCB- E max -RCB- -LRB- 23 -RRB- Subject to R R min 0 1 First , we show that given a specified transmission range -LRB- R -RRB- , the function of E max -LRB- -RRB- is convex in and the optimal = arg min 01 -LCB- E max -LRB- -RRB- -RCB- is a function of R. Because the energy consumption E sensor -LRB- i , -RRB- of the sensor nodes in the i-th zone is a convex function of i -LRB- the proof is omitted for lack of space -RRB- , the value of E max -LRB- -RRB- will be achieved by the sensor nodes laid in either the 1st zone or the X-th zone , i.e. , E max -LRB- -RRB- = max -LCB- E sensor -LRB- 1 , -RRB- , E sensor -LRB- X , -RRB- -RCB- -LRB- 24 -RRB- Note that E sensor -LRB- 1 , -RRB- is a monotonically decreasing linear function of while E sensor -LRB- X , -RRB- is a monotonically increasing linear function of , and E sensor -LRB- 1 , 1 -RRB- = E sensor -LRB- X , 0 -RRB- . Hence , we can find that the two lines corresponding to these two linear functions will intersect at the point where is within the range between 0 to 1 . Clearly , the intersecting point , denoted by , yields the minimum value of E max -LRB- -RRB- . Therefore , = is the optimal value when the following equation is satisfied . E sensor -LRB- 1 , -RRB- = E sensor -LRB- X , -RRB- -LRB- 25 -RRB- By resolving Eq . -LRB- 25 -RRB- , we obtain the solution for Eq . -LRB- 13 -RRB- . = arg min 01 -LCB- E max -LRB- -RRB- -RCB- = Y -LRB- 1 -RRB- -LSB- E tx -LRB- R -RRB- + E rx -RSB- Y -LRB- 1 -RRB- -LSB- E tx -LRB- R -RRB- + E rx -RSB- + E tx -LRB- XR -RRB- - E tx -LRB- R -RRB- = Y -LRB- 1 -RRB- -LRB- R n + 2 -RRB- Y -LRB- 1 -RRB- -LRB- R n + 2 -RRB- + R n -LRB- X n - 1 -RRB- = Y -LRB- 1 -RRB- -LRB- R n + 2 -RRB- Y -LRB- 1 -RRB- -LRB- R n + 2 -RRB- + R n -LRB- X n - 1 -RRB- -LRB- 26 -RRB- where = / , and we use E tx -LRB- R -RRB- , E tx -LRB- XR -RRB- , and E rx instead of E tx -LRB- R , l -RRB- , E tx -LRB- XR , l -RRB- , and E rx -LRB- l -RRB- since the value of l is a constant for a specific application . The factor measures to what extent R has the impact on the transmission energy consumption . For example , The transmission energy consumption is more sensitive to R when is larger . The factor also determines the cost of relaying traffic . The cost of relaying traffic increases with the increment of because receiving packets consumes more energy with a greater . 10 -5 10 0 10 5 10 4 10 3 10 2 10 1 10 -1 10 -2 10 -3 10 -4 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 * R = 0.1 , n = 2 R = 1 , n = 2 R = 0.1 , n = 4 R = 1 , n = 4 Fig. 2 . The optimal against . If R n , Eq . -LRB- 26 -RRB- reduces to its approximated expression as follows : Y -LRB- 1 -RRB- Y -LRB- 1 -RRB- + -LRB- X n - 1 -RRB- -LRB- 27 -RRB- By substituting Eq . -LRB- 9 -RRB- and -LRB- 10 -RRB- into Eq . -LRB- 26 -RRB- , we have = 1-e -1 -LRB- X2-1 -RRB- R2 e 1R2 -1 -LRB- R n + 2 -RRB- 1-e -1 -LRB- X2-1 -RRB- R2 e 1R2 -1 -LRB- R n + 2 -RRB- + R n -LRB- X n - 1 -RRB- -LRB- 28 -RRB- Notice that is a function of R if we substitute Eq . -LRB- 8 -RRB- into Eq . -LRB- 28 -RRB- . Let 1 = 0.001 , 2 = 3 , and = 10 -12 . By using Eq . -LRB- 28 -RRB- , we plot the optimal against as shown in Fig. 2 . We observe from Fig. 2 that the optimal is almost 0 -LRB- i.e. , pure multi-hop communication mode -RRB- if n = 4 and is small . The reason is because the energy consumption for transmission is proportional to R 4 and the term of R 4 in the first part of Eq . -LRB- 1 -RRB- dominates the transmission energy consumption if is small . Thus , the energy consumption in single-hop mode is much more than that in multi-hop mode . In contrast , if is large , the multi-hop mode loses its advantage over the single-hop mode because the transmission energy consumption is dominated by the constant term of in the first part of Eq . -LRB- 1 -RRB- and it is not sensitive to the transmission range . So far , given the communication range -LRB- R -RRB- , we obtain the minimum E max -LRB- -RRB- for the basic sensor nodes in order to derive the solutions for objective function of Eq . -LRB- 24 -RRB- as follows : E max -LRB- -RRB- = -LSB- R n -LRB- 1 + X n -RRB- + + -RSB- l -LRB- 29 -RRB- Next , we want to identify the optimal R to minimize E max -LRB- -RRB- when constraint given by Eq . -LRB- 20 -RRB- applies . Because it is difficult to find the closed form for the optimal R , we use a numerical solutions to determine the optimal R which is detailed for some scenarios in Section IV . For the following discussions , we set = 10pJ/bit/m 2 , = 50nJ/bit , = 5nJ/bit/stream , the packet length Proceedings of the 2006 International Symposium on a World of Wireless , Mobile and Multimedia Networks -LRB- WoWMoM ' 06 -RRB- 0-7695-2593-8 / 06 $ 20.00 2006 IEEE 10 -3 10 -2 10 -1 10 0 10 1 10 2 0 5 10 15 20 25 30 The density of the cluster-heads -LRB- 1 -RRB- The optimal transmission range -LRB- R * -RRB- 2 / 1 = 100 2 / 1 = 5000 = 1000 = 50 = 0 10 -3 10 -2 10 -1 10 0 10 1 10 2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 The density of the cluster-heads -LRB- 1 -RRB- * 2 / 1 = 100 2 / 1 = 5000 = 1000 = 0 = 50 -LRB- a -RRB- -LRB- b -RRB- Fig. 3 . The optimal parameters versus the density of cluster-heads under different . -LRB- a -RRB- The optimal communication range R . -LRB- b -RRB- The optimal . 0.5 1 1.5 2 2.5 3 3.5 4 4.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Transmission range in meters -LRB- R -RRB- The normalized network lifetime = 0 = 0.2 = 0.5 = 0.8 = 1 Fig. 4 . The normalized network lifetime versus the transmission range -LRB- R -RRB- with = 50 , 1 = 0.1 , 2 / 1 = 5000 , and = 0 , 0.2 , 0.5 , 0.8 , 1 . l = 120 bits and the path loss exponent n = 2 . We consider various scenarios with three different values of , two average numbers of basic sensor nodes in a cluster -LRB- 2 / 1 -RRB- and various densities of cluster-heads -LRB- 1 -RRB- . According to the discussion in Section III , we get the numerical solutions for the optimal R , and then the value of optimal can be calculated by using Eq . -LRB- 28 -RRB- . The numerical results of optimal R and with different and -LRB- 2 / 1 -RRB- are shown in Fig. 3 -LRB- a -RRB- and Fig. 3 -LRB- b -RRB- , respectively . The optimal R decreases as 1 increases . With the same 1 , the larger , the larger the value of R . When is small -LRB- e.g. , = 0 and = 50 -RRB- , the value of is small -LRB- e.g. , < 0.1 -RRB- . This implies that the multi-hop communication mode dominates the single-hop mode . The reason for these observations includes the following two . First , the cost of relaying traffics is small since the receiving energy is small . Second , the transmission energy is sensitive to the transmission range . We also conduct the simulation experiments to verify our analytical results . In our simulations , Minimum Transmission Energy -LRB- MTE -RRB- routing algorithm -LSB- 19 -RSB- , which minimizes the total energy consumption for sending a packet , is used as the relaying scheme for the multi-hop communication mode . Let = 50 , 1 = 0.1 , and 2 / 1 = 5000 . We set the initial energy of cluster-heads -LRB- E init2 -RRB- high enough to guarantee that the cluster-heads can have longer lifetime than the basic sensor nodes . Fig. 4 shows the simulation results of network lifetime . The plots in Fig. 4 is the average results of 1000 experiments . It shows that in most cases -LRB- i.e. , = 0 , 0.2 , 0.5 , and 0.8 -RRB- the network lifetime is maximized when R = 3.5 , which agrees with the numerical results shown in Fig. 3 . In the following simulations , the parameters are set as follows : the initial energy of basic sensor nodes E init2 = 0.01 J , the distance between the cluster-heads and the mobile base station H = 100m , l = l = 120bits and 2 = 1000 . Fig. 5 shows the network lifetime changes with the average number of the basic sensor nodes in a cluster by using the optimal R and when is equal to 0 , 100 and 1000 . We observe that increasing the density of cluster-heads -LRB- i.e. , 2 / 1 decreases given constant 2 -RRB- does not always help to extend the network lifetime . For example , the network lifetime can be increased by 51 % when the density of cluster-heads changes from 1 = 0.01 or 2 / 1 = 10 6 to 1 = 0.1 or 2 / 1 = 10 5 , while the network lifetime is almost the same when the density of cluster-heads is greater than 1 = 1 -LRB- i.e. , the average of basic sensor nodes 2 / 1 10 4 -RRB- . On the other hand , Fig. 6 shows the energy consumption of a cluster-head against the average number of the basic sensor nodes . We find that the average energy consumption of a cluster-head is proportional to -LRB- 2 / 1 -RRB- from Fig. 6 . The required initial energy of cluster-heads increases with the decrease of the density of cluster-heads -LRB- 1 -RRB- . Thus , there is a trade-off between the network lifetime and the initial energy of the cluster-heads . Our work can be easily extended to a 3-D space model . The differences between the 3-D space model and the 2-D space model lie in the deployment models and the connectivity models . The probability that a basic sensor node with spherical coordinate -LRB- r , , -RRB- belongs to a cluster-head located in the origin is P r S -LRB- r , , -RRB- V = e 1 4 3 r 3 -LRB- 30 -RRB- Proceedings of the 2006 International Symposium on a World of Wireless , Mobile and Multimedia Networks -LRB- WoWMoM ' 06 -RRB- 0-7695-2593-8 / 06 $ 20.00 2006 IEEE 10 1 10 2 10 3 10 4 10 5 10 6 600 700 800 900 1000 1100 1200 1300 The average number of basic sensor nodes in a cluster -LRB- 2 / 1 -RRB- Network lifetime in rounds = 0 = 100 = 1000 Fig. 5 . Optimal network lifetime under various situations where 2 = 1000 . 10 1 10 2 10 3 10 4 10 5 10 6 10 -1 10 0 10 1 10 2 10 3 The average number of basic sensor nodes in a cluster -LRB- 2 / 1 -RRB- Energy consumption of a cluster-head in Joules = 0 = 100 = 1000 Fig. 6 . The energy consumption of cluster-heads against the number of the basic sensor nodes . The average number of basic sensor nodes in a cluster is determined by E -LSB- N V -RSB- = 0 2 0 0 P r S -LRB- r , , -RRB- V 2 r 2 sin drdd = 0 2 0 0 e 1 4 3 r 3 2 r 2 sin drdd = 2 1 -LRB- 31 -RRB- In the similar way , we can obtain the number of basic sensor nodes in the i-th zone as follows : E -LSB- N V -RSB- = 0 2 0 iR -LRB- i-1 -RRB- R P r S -LRB- r , , -RRB- V 2 r 2 sin drdd = 2 1 e 1 4 3 -LSB- -LRB- i-1 -RRB- R -RSB- 3 - e 1 4 3 -LRB- iR -RRB- 3 -LRB- 32 -RRB- To satisfy the requirement of connectivity , the minimum communication range R min can be written as follows : R min = 3 3 4 -LRB- 1 + 2 -RRB- log -LRB- 1 + 2 -RRB- -LRB- 33 -RRB- Again , we can obtain the optimal and R for the 3-D space model along the same manner as a class of the case of 2-D space WSN model . We investigated the optimal transmission range for a heterogeneous cluster-based sensor network which consists of two types of nodes , the super cluster-heads and the basic sensor nodes . To balance the energy load of the basic sensor nodes , the mixed communication modes are employed . By developing the analytical models , we numerically derive the optimal transmission range R and the frequency of single-hop mode to achieve the longest network lifetime . Our analyses also showed that our proposed model can be easily extended from 2-D to 3-D . The simulation results validated our proposed analytical models . Our simulation results with the optimal R and indicated that the high density of cluster-heads is not very helpful for prolonging the network lifetime . -LSB- 1 -RSB- I. F. Akyildiz , W. Su , Y. Sankarsubramaniam , and E. Cayirci , `` Wireless sensor networks : a survey , '' Computer Networks , 38 -LRB- 2002 -RRB- pp. 393-422 . -LSB- 2 -RSB- G. J. Pottie and W. J. Kaiser , `` Wireless integrated network sensors , '' Communications of the ACM , Vol . 43 , No 5 , pp 51-58 , May 2000 . -LSB- 3 -RSB- A. Cerpa , J. Elson , D. Estrin , L. Girod , M. Hamilton , and J. Zhao , `` Habitat monitoring : application driver for wireless communications technology , '' in Proc . of ACM SIGCOMM Workshop on Data Communications in Latin America and the Caribbean , Costa Rica , April 2001 . -LSB- 4 -RSB- J. Lundquist , D. Cayan , and M. Dettinger , `` Meteorology and hydrology in yosemite national park : a sensor network application , '' in Proc . of Information Processing in Sensor Networks -LRB- IPSN -RRB- , April , 2003 . -LSB- 5 -RSB- A. Mainwaring , J. Polastre , R. Szewczyk , D. Culler , and J. Anderson , `` Wireless sensor networks for habitat monitoring , '' in Proc . of WSNA ' 02 , Atlanta , Georgia , September 28 , 2002 . -LSB- 6 -RSB- G. Tolle , D. Gay , W. Hong , J. Polastre , R. Szewczyk , D. Culler , N. Turner , K. Tu , S. Burgess , T. Dawson , and P. Buonadonna , `` A macroscope in the redwoods , '' in 3rd ACM Conference on Embedded Networked Sensor Systems -LRB- SenSys -RRB- , San Diego , November 2-4 , 2005 -LSB- 7 -RSB- O. Younis and S. Fahmy , `` Distributed clustering in ad-hoc sensor networks : a hybrid , energy-efficient approach '' , in Proc . of INFOCOM ' 04 , March 2004 -LSB- 8 -RSB- A. Boulis , S. Ganeriwal , and M. B. Srivastava , `` Aggregation in sensor networks : an energy-accuracy trade-off , '' Elsevier Ad Hoc Networks Journal , Vol . 1 , 2003 , pp. 317-331 -LSB- 9 -RSB- W. R. Heinzelman , A. Chandrakasan and H. Balakrishman , `` Energy-efficient communication protocol for wireless microsensor networks , '' in Proc . Of IEEE HICSS , January 2000 . -LSB- 10 -RSB- H. Su and X. Zhang , `` Energy-efficient clustering system model and reconfiguration schemes for wireless sensor networks , '' in proc . of the 40th Conference on Information Sciences and Systems -LRB- CISS 2006 -RRB- , March 2006 . -LSB- 11 -RSB- V. P. Mhatre , C. Rosenberg , D. Kofman , R. Mazumdar and N. Shroff , `` A minmum cost heterogeneous sensor network with a lifetime constraint , '' IEEE Trans . on Mobile Computing , Vol .4 , No. 1 , Jan. / Feb. 2005 , pp.4-15 . -LSB- 12 -RSB- M. Bhardwaj and A. P. Chanrakasan , `` Bouding the lifetime of sensor networks via optimal role assignments , '' in Proc . of INFOCOM ' 02 , pp.1587-1596 , 2002 . -LSB- 13 -RSB- V. Mhatre and C. Rosenberg , `` Design guidelines for wireless sensor networks : communication , clustering and aggregation '' , Elsevier Ad Hoc Networks Journal , Vol . 2 , 2004 , pp. 45-63 . -LSB- 14 -RSB- S. G. Foss and S. A. Zuyev , `` On a voronoi aggregative process related to a bivariate poisson process , '' Advances in Applied Probability , vol . 28 , no. 4 , 1996 , pp. 965-981 . -LSB- 15 -RSB- J. H. Chang and L. Tassiulas , `` Energy conserving routing in wireless ad hoc networks , '' in Proc . INFOCOM , Tel Aviv , Israel , March 2000 , pp. 22-31 . -LSB- 16 -RSB- T. Rappaport , Wireless Communication Priciples and Practice -LRB- 2nd Edition -RRB- . Upper Saddle River , N.J. Prentice Hall PTR , 2002 . -LSB- 17 -RSB- A. Wang , W. Heinzelman , and A. Chandrakasan , `` Energy-scalable protocols for battery-operated microsensor networks , '' in Proc . of the IEEE workshop on Signal Processing Systems -LRB- SiPS ' 99 -RRB- , pp. 483-492 , 1999 . -LSB- 18 -RSB- P. Gupta and P. R. Kumar , Critical power for asymptotic connectivity in wireless networks , in W. M. McEneany , G. Yin , Q. Zhang -LRB- Editors -RRB- , Stochastic Analysis , Control , Optimization and Applications : A Volume in Honor of W. H. Fleming , Birkhauser , Boston , MA , 1998 , pp. 547-566 . -LSB- 19 -RSB- T. Shepard , `` Decentralized channel management in scalable multihop spread spectrum packet radio networks , '' Massachusetts Inst . of Technol. , Lab . for Comput . Sci. , Cambridge , Tech . Rep. MIT/LCS / TR-670 , July 1995 . Proceedings of the 2006 International Symposium on a World of Wireless , Mobile and Multimedia Networks -LRB- WoWMoM ' 06 -RRB- 0-7695-2593-8 / 06 $ 20.00 2006 IEEE

B I I O O B I I O O O O O O B I 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 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 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 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B I 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B I 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 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 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 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 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 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 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 B I 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 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 B I I 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 B I 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 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 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 B 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 B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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

clustering
optimal transmission range
network lifetime
wireless sensor networks
voronoi cell
optimization


Measuring Cohesion of Packages in Ada95 Ada95 is an object-oriented programming language . Pack-ages are basic program units in Ada 95 to support OO programming , which allow the specification of groups of logically related entities . Thus , the cohesion of a package is mainly about how tightly the entities are encapsulated in the package . This paper discusses the relationships among these entities based on dependence analysis and presents the properties to obtain these dependencies . Based on these , the paper proposes an approach to measure the package cohesion , which satisfies the properties that a good measure should have . D. 2.8 -LSB- Software Engineering -RSB- : Metrics performance measures . Measurement . Cohesion is one of the most important software features during its development . It tells us the tightness among the components of a software module . The higher the cohesion of a module , the more understandable , modifiable and maintainable the module is . A software system should have high cohesion and low coupling . Researchers have developed several guidelines to measure cohesion of a module -LSB- 1 , 3 , 4 -RSB- . Since more and more applications are object-oriented , the approaches to measure cohesion of object-oriented -LRB- OO -RRB- programs have become an important research field . Generally , each object-oriented programming language provides facilities to support OO features , such as data abstraction , encapsulation and inheritance . Each object consists of a set of attributes to represent the states of objects and a set of operations on attributes . Thus , in OO environment , the cohesion is mainly about how tightly the attributes and operations are encapsulated . There are several approaches proposed in literature to measure OO program cohesion -LSB- 2 , 5 , 6 , 7 , 11 , 12 -RSB- . Most approaches are based on the interaction between operations and attributes . The cohesion is measured as the number of the interactions . Generally only the references from operations to attributes are considered . And few care about the interactions of attributes to attributes and operations to operations at the same time . This might lead to bias when measuring the cohesion of a class . For example , when designing the trigonometric function lib class , we might set a global variable to record the temporal result . The variable is referred in all the operations of the class . According to methods based on the interaction between operations and attributes -LSB- 6 , 7 -RSB- , the cohesion is the maximum 1 . In fact , there are no relations among the operations if the calls are not taken into account . In this view , its cohesion is 0 . The difference is caused by considering only the references from operations to attributes , while not considering the inter-operation relations . In our previous work , we have done some research in measuring OO program cohesion -LSB- 10 , 13 , 14 -RSB- . Our approach overcomes the limitations of previous class cohesion measures , which consider only one or two of the three facets . Since the OO mechanisms in different programming languages are different from each other , this paper applies our measure to Ada packages . The remaining sections are organized as follows . Section 2 introduces the package in Ada 95 . Section 3 discusses the basic definitions and properties for our measure . Based on the definitions and properties , Section 4 proposes approaches to measure package cohesion . Conclusion remarks are given in the last section . In Ada 95 -LSB- ISO95 -RSB- , packages and tagged types are basic program units to support OO programming . A package allows the specification of groups of logically related entities . Typically , a package contains the declaration of a type along with the declarations of primitive subprograms of the type , which can be called from outside the package , while its inner workings remain hidden from outside users . In this paper , we distinguish packages into four groups . PG1 : Packages that contain any kind of entities except tagged types . PG2 : Packages that only contain the declaration of one tagged type along with those primitive subprograms of the type . There are two subgroups in PG2 : - PG2-1 : The type is an original tagged type . - PG2-2 : The type is a derived type . 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 . SIGAda ' 03 , December 7 11 , 2003 , San Diego , California , USA . Copyright 2003 ACM 1-58113-476-2 / 03/0012 ... $ 5.00 . 62 PG3 : Combination of PG1 and PG2 . PG4 : Generic packages . After a generic package is instantiated , it belongs to one of the former three groups . Thus , only cohesion measure of PG1 , PG2 and PG3 is discussed in the paper . In this section , we will present our definitions in the form of PG1 . The cohesion of a package from PG1 is mainly about how tightly the objects and subprograms are encapsulated in the package . In this paper , the relationships among objects and subprograms are defined as three dependencies : inter-object , inter-subprogram and subprogram-object dependence . Definition 1 In the package body or a subprogram of the package , if the definition -LRB- modification -RRB- of object A uses -LRB- refer , but not modify -RRB- object B directly or indirectly , or whether A can been defined is determined by the state of B , then A depends on B , denoted by A B. Generally , if B is used in the condition part of a control statement -LRB- such as if and while -RRB- , and the definition of A is in the inner statement of the control statement , the definition of A depends on B 's state . Definition 2 If object A is referred in subprogram P , P depends on A , denoted by P A. Definition 3 There are two types of dependencies between subprograms : call dependence and potential dependence . If P is called in M , then M call depends on P , denoted by M P . If the object A used in M is defined in P , the A used in M depends on the A defined in P , denoted by M A A , P , where -LRB- A , A -RRB- is named as a tag . For each call edge , add a tag -LRB- * , * -RRB- for unification . i.e. if P Q , P * , * Q. To obtain these dependencies , we introduce four sets for each subprogram M : IN -LRB- M -RRB- is an object set , each element of which is an object referred before modifying its value in M ; OUT -LRB- M -RRB- is an object set , each element of which is an object modified in M. DEP_A -LRB- M -RRB- is a dependence set which represents the dependencies from the objects referred in M to the objects defined outside M. Each element has the form < A , B > , where A and B are objects of the package . DEP_A_OUT -LRB- M -RRB- is a dependence set which records the dependencies from the objects referred in M to the objects defined outside M when exiting M . In general , the intermediate results are invisible outside , and an object might be modified many times in a subprogram . We introduce DEP_A_OUT to improve the precision . Obviously , DEP_A_OUT -LRB- M -RRB- DEP_A -LRB- M -RRB- . Property 1 A IN -LRB- M -RRB- , A OUT -LRB- P -RRB- M A A , P. Property 2 < A , B > DEP_A -LRB- M -RRB- , B OUT -LRB- P -RRB- M B A , P. Property 3 M B A , P , < B , C > -LRB- < B , C > DEP_A_OUT -LRB- P -RRB- , C OUT -LRB- Q -RRB- -RRB- M C A , Q . In our previous work -LSB- 8 , 9 -RSB- , we have proposed methods to analyze dependencies among statements for Ada programs . And these dependencies can be easily transformed to the dependencies proposed in this paper . Due to the space limitation , we do not discuss them in detail here . To present our cohesion measure in a united model , we introduce package dependence graph to describe all types of dependencies . Definition 4 The package dependence graph -LRB- PGDG -RRB- of a package PG is a directed graph , PGDG = < N , E , T > , where N is the node set and E is the edge set , T is the tag set . N = N O N P , N O is the object node set , each of which represents a unique object ; N P is the subprogram node set , each of which represents a unique subprogram . PGDG consists of three sub-graphs : Inter-Object Dependence Graph -LRB- OOG -RRB- , OOG = < N O , E O > , where N O is the object node set -LRB- the name of a node is the name of the object it represents -RRB- ; E O is the edge set , if A B , then edge < A , B > E O . Inter-Subprogram Dependence Graph -LRB- PPG -RRB- , PPG = < N P , E P , T > , where N P is the subprogram node set ; E P is the edge set which represents the dependencies between subprograms ; T -LRB- V V -RRB- is the tag set , where V is the union of objects and -LCB- * -RCB- . Subprogram-Object Dependence Graph -LRB- POG -RRB- , POG = < N , E PO > , where N is the node set which represents objects and subprograms ; E PO is the edge set representing dependencies between subprograms and objects . If P A , < P , A > E PO . Example1 shows the package Tri , which contains three objects : temp , temp1 and temp2 , and four subprograms : sin , cos , tg and ctg . Figure 1 shows the PGDG of the package Tri in Example1 -LRB- all the Tags on PPG are -LRB- * , * -RRB- , because there are only call dependencies in this example . We omit the Tags for convenience -RRB- . Example1 : package Tri . package Tri is temp , temp1 , temp2 : real ; function sin -LRB- x : real -RRB- return real ; function cos -LRB- x : real -RRB- return real ; function tg -LRB- x : real -RRB- return real ; function ctg -LRB- x : real -RRB- return real ; end Tri ; package body Tri is function sin -LRB- x : real -RRB- return real is begin temp : = ... ; return temp ; end sin ; ... 63 function tg -LRB- x : real -RRB- return real is begin temp1 : = sin -LRB- x -RRB- ; temp2 : = cos -LRB- x -RRB- ; temp : = temp1/temp2 ; return temp ; end tg ; ... end Tri ; 3.2 Extended Definitions Since there is no object in the package of PG2 , the definitions of Section 3 can not be applied to these packages directly . Therefore , this section will extend the definitions of Section 3.1 to a more general model by the following steps : For PG1 , if there is an embedded package , the package is taken as an object . For PG2 , take the components of the type as objects of the package . Let A , B be object of a type T , M , P primitive subprograms , and Com1 and Com2 are components of T . Then A , B -LRB- A.Com1 B.Com2 -RRB- Com1 Com2 . A , P -LRB- P A.Com -RRB- P Com . A , B , M , P -LRB- M 2 . , 1 . Com B Com A P -RRB- M 2 , 1 Com Com P. For PG3 , take the types as objects of the package . To present our measure in a unified model , we add powers for different objects . PW -LRB- O -RRB- = others O O PG Cohesioin O O Cohesion 1 object type a is -RRB- -RRB- -LRB- -LRB- object package a is -RRB- -LRB- where Cohesion -LRB- O -RRB- is the cohesion of O , PG -LRB- O -RRB- returns the package containing O . According to the PGDG , this section will propose our method to measure the package cohesion . In the following discussions , we assume package PG contains n objects and m subprograms , where m , n 0 . 4.1 Measuring Inter-Object Cohesion Inter-object cohesion is about the tightness among objects in a package . To measure this cohesion , for each object A , introduce a set A_DEP to record the objects on which A depends , i.e. O_DEP -LRB- A -RRB- = -LCB- B | A B , A B -RCB- . Let = -RRB- -LRB- _ -RRB- -LRB- -RRB- -LRB- _ A DEP O B B PW A DEP PW . Then , we define the inter-object cohesion as : = -RRB- , _ -LRB- PG O O Cohesion > = = = 1 1 -RRB- -LRB- _ 1 1 -RRB- -LRB- 0 0 1 n n A DEP PW n n A PW n n i i where 1 -RRB- -LRB- _ n A DEP PW represents the degree on which A depends on other objects . If n = 0 , there is no object in the package , we set it to 0 . If n = 1 , there is one and only one object in the package , the cohesion is its power . 4.2 Measuring Subprogram-Object Cohesion Subprogram-object cohesion is the most important field in measuring cohesion . Until now , there have been several approaches proposed in literature , such as Chae 's methods -LSB- 6 , 7 -RSB- . But most approaches are based on the POG . As we have mentioned above , all these methods describe the object reference in a simple way and subprograms are connected by the objects referred . Whether there are related among these subprograms are not described exactly . Thus , these approaches should be improved to describe these relations . For completeness , we use Co -LRB- Prev -RRB- to represent a previous cohesion measure , which satisfies Briand 's four properties . For each subprogram P , we introduce another two sets : P_O and P_O_OUT . Where P_O -LRB- P -RRB- records all the objects referred in P. Figure . 1 . PGDG of class Tri temp temp1 temp2 -LRB- a -RRB- OOG sin cos tg ctg -LRB- c -RRB- PPG sin cos tg ctg temp temp1 temp2 -LRB- b -RRB- POG 64 P_O_OUT -LRB- P -RRB- records the objects referred in P , but these objects relate to objects referred by other subprogram , i.e. , P_O_OUT -LRB- P -RRB- = -LCB- A | B , M -LRB- P A B , M M B A , P -RRB- A , B ' * ' -RCB- . Let = -RRB- -LRB- _ -RRB- -LRB- _ _ -RRB- -LRB- -RRB- -LRB- -RRB- -LRB- P O P A i P OUT O P A i i i A PW A PW P Then , we define the subprogram-object cohesion as : = -RRB- , _ -LRB- PG O P Cohesion = = = = Others P Prev Co m m A PW A PW n m m i i P O P A i i 1 i -RRB- -LRB- _ -RRB- -LRB- -RRB- -LRB- 1 1 -RRB- -LRB- -RRB- -LRB- 0 0 0 If P_O -LRB- P -RRB- = , i.e. no objects are referred in P , we set -RRB- -LRB- P = 0 . If the objects referred in P are not related to other subprograms , these objects can work as local variables . It decreases the cohesion to take a local variable for a subprogram as an object for all subprograms . If there is no object or subprogram in the package , no subprogram will depend on others . Thus , 0 -RRB- , _ -LRB- = PG O P Cohesion . 4.3 Measuring Inter-Subprogram Cohesion In the PGDG , although subprograms can be connected by objects , this is not necessary sure that these subprograms are related . To measure the inter-subprogram cohesion , we introduce another set P_DEP -LRB- P -RRB- = -LCB- M | P M -RCB- for each P . The inter-subprogram cohesion Cohesion -LRB- P_P , PG -RRB- is defined as following : = -RRB- , _ -LRB- PG P P Cohesion > = = = 1 1 -RRB- -LRB- _ 1 1 1 0 0 1 m m P DEP P m m m m i i where 1 | -RRB- -LRB- _ | m P DEP P represents the tightness between P and other subprograms in the package . If each subprogram depends on all other subprograms , Cohesion -LRB- P_P , PG -RRB- = 1 . If all subprograms have no relations with any other subprogram , Cohesion -LRB- P_P , PG -RRB- = 0 . 4.4 Measuring Package Cohesion After measuring the three facets independently , we have a discrete view of the cohesion of a package . We have two ways to measure the package cohesion : 1 -RRB- Each measurement works as a field , the package cohesion is 3-tuple , Cohesion -LRB- PG -RRB- = < Cohesion -LRB- O_O , PG -RRB- , Cohesion -LRB- P_O , PG -RRB- , Cohesion -LRB- P_P , PG -RRB- > . 2 -RRB- Integrate the three facets as a whole = -RRB- -LRB- PG Cohesion = = = Others PG Cohesion k m n PG P P Cohesion k m i i i 3 1 -RRB- -LRB- 0 , 0 -RRB- , _ -LRB- * 0 0 where k -LRB- -RSB- 1 , 0 ; k 1 , k 2 , k 3 > 0 , and k 1 + k 2 + k 3 = 1 . Cohesion 1 -LRB- PG -RRB- = Cohesion -LRB- O_O , PG -RRB- Cohesion 2 -LRB- PG -RRB- = Cohesion -LRB- P_P , PG -RRB- Cohesion 3 -LRB- PG -RRB- = Cohesion -LRB- P_O , PG -RRB- If n = 0 , m 0 , the package cohesion describes only the tightness of the call relations , thus we introduce a parameter k to constrain it . For the example shown in Figure 1 , the cohesion of Tri describes as follows : Cohesion -LRB- O_O , Tri -RRB- = 1/3 Cohesion -LRB- P_O , Tri -RRB- = 0 Cohesion -LRB- P_P , Tri -RRB- = 1/3 Let k 1 = k 2 = k 3 = 1/3 , Co -LRB- Prev -RRB- = 1 , then Cohesion -LRB- Tri -RRB- = 2/9 . Briand et al. -LSB- 3 , 4 -RSB- have stated that a good cohesion measure should be -LRB- 1 -RRB- Non-negative and standardization . -LRB- 2 -RRB- Minimum and maximum . -LRB- 3 -RRB- Monotony . -LRB- 4 -RRB- Cohesion does not increase when combining two modules . These properties give a guideline to develop a good cohesion measure . According to the definitions , it is easy to prove our measure satisfies these properties . 4.5 Cohesion for PG2-2 In the hierarchies of types , the derived type inherits the components and primitive subprograms of the super types . Generally , inheritance will increase the coupling and decrease the 65 cohesion . For the package from PG2-2 , we will discuss its cohesion in four cases : Case 1 : Take the package independently . Case 2 : Take all the primitive subprograms and components -LRB- contains those from super type -RRB- into consideration . Case 3 : If the primitive subprograms of the derived type might access the components -LRB- or subprogram -RRB- of the super type , take these components -LRB- or subprogram -RRB- as those of the derived type . Case 4 : Take the super type as an object of the derived type . The shortcoming of Case 1 is that : It only measures the cohesion of the additional components and primitive subprograms of the derived type , not the complete type . The primitive subprograms in the super type can not access the components of the derived type except dispatched subprograms . Consequently , in Case 2 or 3 , the deeper the hierarchy of types is , the smaller the cohesion . And it is hard to design a package which cohesion is big enough . Although we present four cases in this section , none is good enough to describe the cohesion for a package from PG2-2 . To measure the cohesion of a derived type , much more aspects should be considered . There have several methods proposed in literatures to measure class cohesion . This section gives a brief review of these methods . -LRB- 1 -RRB- Chidamber 's LCOM1 -LSB- 0 , 2 -RRB- 1 -LRB- m m -RSB- , it measures the cohesion by similar methods and non-similar methods . It is a reverse cohesion measure . The bigger the measure , the lower the cohesion . -LRB- 2 -RRB- The PPG in Hitz 's LCOM2 is represented by an undirected graph . LCOM2 is the number of sub-graphs connected . When there is one and only one sub-graph , he introduces connectivity to distinguish them . -LRB- 3 -RRB- Briand 's RCI is the ratio of the number of edges on POG to the max interaction between subprograms and objects . -LRB- 4 -RRB- Henderson 's LCOM3 can be described as follows . -RRB- -LRB- 3 C LCOM = m m A n n j j = 1 | -RRB- -LRB- | 1 1 where -LRB- A -RRB- = -LCB- M | AP_O -LRB- M -RRB- -RCB- , A is attribute and M is method . -LRB- 5 -RRB- Chae 's CO -LSB- 6 -RSB- introduces glue methods , and Xu-Zhou 's CO -LSB- 13 -RSB- introduces cut set -LRB- glue edges -RRB- to analyze the interact pattern . These two measures are more rational than other measures . From the introductions above , we can see that All these methods consider the attribute reference in a simple way . Whether the methods are related or not are not described exactly . LCOM1 , LCOM2 and LCOM3 are non-standard , because their up-bounds are related to the number of methods in the class . LCOM1 is non-monotonous . The measuring results might be inconsistent with intuition in some cases RCI has the basic four properties proposed by Briand . But it does not consider the patterns of the interactions among its members , neither LCOM1 and LCOM2 nor LCOM3 . Chae 's CO overcomes most limitations of previous measures . But it is non-monotonous -LSB- 13 -RSB- . Xu-Zhou 's CO improves Chae 's cohesion measure , and makes its result more consistent with intuition . The chief disadvantage of both measures is that they can be applied to connected POG ; otherwise the result will always be 0 . LCOM1 and LCOM2 measure the cohesion among methods in a class . We can improve the similar function using the dependencies among methods proposed in this paper . LCOM3 , Chae and Xu-Zhou 's CO measure the cohesion among methods and attributes in a class . In this paper we improve them by introducing -RRB- -LRB- M for each method M . This paper proposes an approach to measure the cohesion of a package based on dependence analysis . In this method , we discussed the tightness of a package from the three facets : inter-object , subprogram-object and inter-subprogram . These three facets can be used to measure the package cohesion independently and can also be integrated as a whole . Our approach overcomes the limitations of previous class cohesion measures , which consider only one or two of the three facets . Thus , our measure is more consistent with the intuition . In the future work , we will verify and improve our measure by experiment analysis When measuring package cohesion , the following should be paid attentions . -LRB- 1 -RRB- In the hierarchies of types , the primitive subprograms of super type might access the objects of the derived type by dispatching . Therefore , when measuring the cohesion of PG2 , it is hard to determine whether the accession of derived typed is considered or not . -LRB- 2 -RRB- We can determine polymorphic calls in an application system . However it is impossible for a package , which can be reused in many systems . -LRB- 3 -RRB- How to deal with some special subprograms , such as access subprograms , since such subprograms can access some special objects in the package . -LRB- 4 -RRB- How to apply the domain knowledge to cohesion measure . In all , if a package can be applied to many applications , the cohesion is mainly about itself without considering the application environments . Otherwise , it is the cohesion in the special environments . 66 This work was supported in part by the National Natural Science Foundation of China -LRB- NSFC -RRB- -LRB- 60073012 -RRB- , National Grand Fundamental Research 973 Program of China -LRB- G1999032701 -RRB- , and National Research Foundation for the Doctoral Program of Higher Education of China -LRB- 20020286004 -RRB- . -LSB- 1 -RSB- Allen , E.B. , Khoshgoftaar , T.M. Measuring Coupling and Cohesion : An Information-Theory Approach . in Proceedings of the Sixth International Software Metrics Symposium . Florida USA , IEEE CS Press , 1999 , 119-127 . -LSB- 2 -RSB- Bansiya , J.L. , et al. . A Class Cohesion Metric for Object-oriented Designs . Journal of Object-oriented Programming , 1999 , 11 -LRB- 8 -RRB- : 47-52 . -LSB- 3 -RSB- Briand , L.C. , Morasca , S. , Basili , V.R. Property-Based Software Engineering Measurement . IEEE Trans . Software Engineering , Jan. 1996 , 22 -LRB- 1 -RRB- : 68-85 . -LSB- 4 -RSB- Briand , L.C. , Daly , J. , Wuest , J . A Unified Framework for Cohesion Measurement in Object-Oriented Systems . Empirical Software Engineering , 1998 , 3 -LRB- 1 -RRB- : 65-117 . -LSB- 5 -RSB- Briand , L.C. , Morasca , S. , Basili , V.R. Defining and Validating Measures for Object-Based High-Level Design . IEEE Trans . Software Engineering , 1999 , 25 -LRB- 5 -RRB- : 722-743 . -LSB- 6 -RSB- Chae , H.S. , Kwon , Y.R. , Bae , D.H. . A Cohesion Measure for Object-Oriented Classes . Software Practice & Experience , 2000 , 30 -LRB- 12 -RRB- : 1405-1431 . -LSB- 7 -RSB- Chae , H.S. , Kwon , Y.R. . A Cohesion Measure for Classes in Object-Oriented Systems . in Proceedings of the Fifth International Software Metrics Symposium . Bethesda , MD USA , 1998 , IEEE CS Press , 158-166 . -LSB- 8 -RSB- Chen , Z. , Xu , B. , Yang , H. Slicing Tagged Objects in Ada 95 . in Proceedings of AdaEurope ' 2001 , LNCS 2043 : 100-112 . -LSB- 9 -RSB- Chen , Z. , Xu , B. , Yang , H. , Zhao , J. Static Dependency Analysis for Concurrent Ada 95 Programs . in Proceedings of AdaEurope 2002 , LNCS 2361 , 219-230 . -LSB- 10 -RSB- Chen , Z. , Xu , B. Zhou , Y. , Zhao , J. , Yang , H . A Novel Approach to Measuring Class Cohesion Based on Dependence Analysis . in Proceedings of ICSM 2002 , IEEE CS Press , 377-383 -LSB- 11 -RSB- Chidamber , S.R. , Kemerer , C.F. . A Metrics Suite for Object-Oriented Design . IEEE Trans . Software Engineering , 1994 , 20 -LRB- 6 -RRB- : 476-493 . -LSB- 12 -RSB- Hitz , M. , Montazeri , B. Measuring Coupling and Cohesion in Object-Oriented Systems . in Proceedings of International Symposium on Applied Corporate Computing , Monterrey , Mexico , October 1995 : 25-27 . -LSB- 13 -RSB- Xu , B. , Zhou , Y. Comments on A cohesion measure for object-oriented classes . Software Practice & Experience , 2001 , 31 -LRB- 14 -RRB- : 1381-1388 . -LSB- 14 -RSB- Zhou , Y. , Guan , Y. , Xu , B. On Revising Chae 's Cohesion Measure for Classes . J. Software . 2001 , 12 -LRB- Suppl . -RRB- : 295-300 -LRB- in Chinese -RRB- 67

O B O O O B 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 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 O O O O O O O O O B O O B 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 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 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 B B 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 O O O O O O O O O O O O O O O O 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 O O 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O 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 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 B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B 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 O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 B 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 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 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 B O O O O O O O O O B O O B O O O O B O O O O O O O B O O O B 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 O O O O O O O B 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 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 B 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 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 O O O B 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O B 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 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 B O O O O O O O O O O O B B O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O 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 O 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 O O O O O O O O O O O O O O B 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 B 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B O O O O O O O O O O O O O O O O O O O O

measurement
measure
dependence
oo programming
ada95
cohesion