<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Framework for Fast Congestion Detection in Wireless Sensor Networks Using Clustering and Petri Net-based Verification</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Khanh Le</string-name>
          <email>lnkkhanh@cse.hcmut.edu.vn</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thang Bui</string-name>
          <email>thang@cse.hcmut.edu.vn</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tho Quan</string-name>
          <email>qttho@cse.hcmut.edu.vn</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Laure Petrucci</string-name>
          <email>Laure.Petrucci@lipn.univ-paris13.fr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ho Chi Minh City University of Technology</institution>
          ,
          <country country="VN">Vietnam</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>LIPN, CNRS UMR 7030, Universit ́e Paris 13, Sorbonne Paris Cit ́e</institution>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <fpage>329</fpage>
      <lpage>334</lpage>
      <abstract>
        <p>Applications of Wireless Sensor Networks (WSN) in harsh conditions usually cover a vast area with sensors randomly deployed by an uncontrolled method, e.g. dropped by helicopters. Thus the actual topology is unpredictable and can suffer from possible congestion. We propose the FCD framework for congestion detection, based on clustering techniques combined with Petri nets modelling and verification.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        ns2 [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and Omnet++ [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In these, a WSN is considered as a network with
sensors, channels and their activity (protocols). Hence, users must program their
models according to the protocol used. The model-based approach enjoys two
immediate advantages over simulator approaches: (1) the WSN is modelled at a
higher level of abstraction, only including sensors and channels, thus it is
independent of the framework used ; (2) the model defines all scenarios and allows
for exhaustively model-checking desired properties.
      </p>
      <p>
        Petri Nets (PNs) are well-suited for modelling WSNs. To the best of our
knowledge, WSN-PN [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is the sole framework so far to model a WSN by a PN.
WSN-PN allows users to model a WSN (using a domain specific input for WSNs),
which is then translated into a PN; then WSN-PN verifies congestion on the PN
model by means of model-checking. In WSN-PN, users do not need to work with
the details of the PN model. Instead, they only need to specify the topology and
parameters setting of a WSN; the corresponding PN is automatically generated.
The proposed FCD framework: Congestion detection becomes intractable
due to the state space explosion when the number of sensors increases. Thus, FCD
combines WSN-PN [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for modelling and verification, and COCA
(CongestionOriented Congestion Algorithm for WSNs) clustering algorithm [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] in order to
reduce the state space explosion problem. COCA detects groups of sensors that
have a high chance of congestion and that can be verified individually. If these are
congestion free, they are abstracted and combined with the remaining sensors to
introduce a new abstracted WSN whose size is significantly reduced compared
to the original oneand that can in turn be verified.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Petri Net-Based Verification of WSNs</title>
      <p>
        We adopt a Component-based PNs approach for modelling, which allows
convenient abstraction of components [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] for congestion detection.
      </p>
      <p>Petri net generation for a WSN: A WSN is defined as W SN = { S, C} ,
where S is the set of sensors and C is the set of channels. Sensors can be source,
sink or intermediate nodes. A channel is established between two communicating
sensors. Information on sensors and channels forms the topology of the WSN.</p>
      <p>To build the corresponding PN model, sensors and channels are first modelled
individually as Component PNs. Then, these Component PNs are combined
together, forming the global model. For example, Fig. 1a models a source sensor.</p>
      <p>
        It is also necessary to attach to transitions some code that manipulates the
quantitative values: sensor buffer size, sending rate and processing rate [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Component-based abstraction: Depending on the topology and transmission
rate, it is often the case that congestion detection only requires considering
sensors or channels but not both. The Component-based PN approach supports
the abstraction of components for more efficient verification. For example, in
Fig. 1b, sensors are abstracted as individual places, depicted larger and dashed,
in case only channels are needed.
input
int
      </p>
      <p>output
generate
packet
send
packet
(a) Source node</p>
      <p>S1</p>
      <p>T1 in</p>
      <p>T1 int T1 out
T1 con T1 rec T1 send T2 con</p>
      <p>
        S2
(b) Sensor abstraction model
Congestion detection: WSN-PN uses the PAT model-checker [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] to verify the
following LTL congestion property: #assert WSN() |= []&lt;&gt; Congestion
      </p>
      <p>Congestion-oriented clustering: The clustering step groups the sensors with
a high chance of congestion into clusters, using COCA. It operates according to
two metrics: physical distance and imbalance of transmission rate of sensors,
which are major congestion factors. The clusters generated by COCA are
subnetworks with a high chance of congestion. The sensors not included in clusters
are named abandoned sensors. For instance, Fig. 2a illustrates the clustering of
a simple WSN. The three clusters C1, C2, C3 are pictured by ellipses.
PN models of clusters and local verification: The clusters are considered
as sub-WSNs and modelled using the Petri Net-based technique presented in
Section 2. However, they miss important information such as source and sink
sensors, e.g. in Fig. 2a, cluster C1 misses both source and sink.</p>
      <p>If a cluster misses source/sink, external sensors are chosen to serve as
auxiliary ones, such that: (1) the source is an external sensor that sends incoming
packets to the cluster; (2) the sink is an external sensor that receives outgoing
packets from the cluster. The original cluster C1 in Fig. 2b is replaced by Fig. 2c,
i.e. both sensors S17 and S18 become sources while S20 becomes sink.</p>
      <p>
        Each sensor being modelled by a PN, the size of whole PN model increase with
multiple sources/sinks. However, according to [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], their number can be reduced:
(1) all sinks can be merged since congestion only occurs in intermediate nodes;
(2) sources are merged when they send to the same sensor and the new sending
rate is the sum of previous ones.
      </p>
      <p>Abstracted clustered global models and verification: To limit state space
explosion, clusters are abstracted, then composed together with the abandoned
sensors. Congestion-less clusters are abstracted as “virtual” sensors. Dummy
channels are created to mimic real channels. Finally, the PN model is generated
and the congestion property verified.</p>
      <p>S7 S10</p>
      <p>S9 S11
S1 S4
(a) Clusters generated by COCA
(b) Original cluster C1</p>
      <p>S8
S18
S8
S18</p>
      <p>S7
S9</p>
      <p>S9</p>
      <p>S10
S11
S10</p>
      <p>S17
S17</p>
      <p>S20</p>
      <p>S20
(d) Abstraction of cluster C1</p>
      <sec id="sec-2-1">
        <title>Clusters are abstracted as follows:</title>
        <p>their intermediate sensors are removed
while sensors with incoming/outgoing
channels to/from the cluster are kept as
well as sources and sinks. For example,
abstraction of cluster C1 is shown in Fig. 2d.
The inner arcs in the cluster are computed
according to transmission rates, thus
creating dummy channels that mimic the
original behaviour.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Dummy channels depend on the in</title>
        <p>Fig. 3: Abstracted network topology coming and outgoing packet rates. The
incoming packet rate of a sensor si,
denoted by In(si), is the total number of
packets that are sent to sensor si. Its
outgoing packet rate, denoted by Out(si), is the minimum value of the incoming
packets rate of si and its processing rate, i.e. Out(si) = min(In(si), pr (si)).</p>
        <p>A dummy channel cij is created between sensors si and sj if and only if there
exists a path from si to sj . Its transfer rate, tr d(cij ) is the minimum value of
{ 20}
S18 { 5}
{ 10}
S7
outgoing packets of sensor sk and transfer rate tr (ckj), for all sensors sk along
the path, i.e.: tr d(cij) = minsk∈ path(si,sj),sk0 =succ(sk) min(Out(sk), tr (ckk0 )).</p>
        <p>Consider cluster C1 in Fig. 4a where the red numbers are the processing rates
of sensors, and the blue ones the transfer rates of channels. Figure Fig. 4b
illustrates the dummy channels creation when removing S7 and S11. The abstracted
clusters and the remaining abandoned sensors lead to an abstracted network, as
shown in Fig. 3. WSN-PN is used again to verify congestion on this new network.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4 Experiments</title>
      <p>FCD was experimented with WSNs modelled by WSN-PN under random
topologies having 70 to 10, 000 sensors, as shown in Table 1.
ification time of FCD is significantly reduced compared to WSN-PN. Topologies
1–6 have a dense deployment, and most sensors are grouped into clusters. The
more the sensors, the longer the verification. In topologies 7–12, the WSNs are
sparsely deployed. Even though most clusters are very small, congestion occurs
in large ones. The last three cases do not allow for getting a result, due to the
limitations of the WSN-PN tool, since the networks to verify are too large.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>This paper presented FCD, a framework combining clustering technique and
formal verification in order to efficiently find possible congestion in WSNs. WSNs
are clustered based on the congestion-oriented measurement first. Then, the
verification process is performed on each individual cluster. Congestion is detected
earlier if it exists within a cluster. Otherwise, the verification process is repeated
on a new abstracted network obtained from abstracted clusters and abandoned
sensors in case clusters are confirmed congestion-free in the previous step.
Experiments show that in most cases, congestion is detected on clusters, which
significantly decreases the verification time.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Akyildiz</surname>
            ,
            <given-names>I.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sankarasubramaniam</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cayirci</surname>
          </string-name>
          , E.:
          <article-title>Wireless sensor networks: a survey</article-title>
          .
          <source>Computer Networks</source>
          <volume>38</volume>
          (
          <issue>4</issue>
          ),
          <fpage>393</fpage>
          -
          <lpage>422</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Kaynar</surname>
            ,
            <given-names>D.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lynch</surname>
            ,
            <given-names>N.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Segala</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vaandrager</surname>
            ,
            <given-names>F.W.:</given-names>
          </string-name>
          <article-title>The Theory of Timed I/O Automata, Second Edition</article-title>
          . Synthesis Lectures on Distributed Computing Theory, Morgan &amp; Claypool Publishers (
          <year>2010</year>
          ), http://dx.doi.org/10.2200/ S00310ED1V01Y201011DCT005
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Le</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bui</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Petrucci</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>COCA: Congestion-oriented clustering algorithm for wireless sensor networks</article-title>
          .
          <source>In: ICCSN</source>
          , Beijing, China (Jun
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Le</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bui</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Petrucci</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , Andr´e, E´.:
          <article-title>Component-based abstraction of Petri net models: An application for congestion verification of wireless sensor networks</article-title>
          .
          <source>In: SoICT</source>
          , Hue, Vietnam. pp.
          <fpage>342</fpage>
          -
          <lpage>349</lpage>
          (
          <year>Dec 2015</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/2833258.2833298
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Le</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bui</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Petrucci</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , Andr´e, E.:
          <article-title>Congestion verification on abstracted wireless sensor networks with the WSN-PN tool</article-title>
          .
          <source>Advances in Computer Networks</source>
          <volume>4</volume>
          (
          <issue>1</issue>
          ),
          <fpage>33</fpage>
          -
          <lpage>40</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Moon</surname>
            ,
            <given-names>S.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cha</surname>
          </string-name>
          , H.:
          <article-title>A congestion control technique for the near-sink nodes in wireless sensor networks</article-title>
          .
          <source>In: UIC</source>
          , Wuhan, China. pp.
          <fpage>488</fpage>
          -
          <lpage>497</lpage>
          (
          <year>Sep 2006</year>
          ), http://dx.doi.org/10.1007/11833529_
          <fpage>50</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <article-title>7. The Network Simulator NS-2</article-title>
          . http://www.isi.edu/nsnam/ns/
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Shah</surname>
            ,
            <given-names>R.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jain</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brunette</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Data MULEs: modeling and analysis of a three-tier architecture for sparse sensor networks</article-title>
          .
          <source>Ad Hoc Networks</source>
          <volume>1</volume>
          (
          <issue>2-3</issue>
          ),
          <fpage>215</fpage>
          -
          <lpage>233</lpage>
          (
          <year>2003</year>
          ), http://dx.doi.org/10.1016/S1570-
          <volume>8705</volume>
          (
          <issue>03</issue>
          )
          <fpage>00003</fpage>
          -
          <lpage>9</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Si</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sun</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Liu,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Dong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.S.</given-names>
            ,
            <surname>Pang</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          , Zhang,
          <string-name>
            <given-names>S.J.</given-names>
            ,
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <surname>X.</surname>
          </string-name>
          :
          <article-title>Model checking with fairness assumptions using PAT</article-title>
          .
          <source>Frontiers of Computer Science</source>
          <volume>8</volume>
          (
          <issue>1</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          (
          <year>2014</year>
          ), http://dx.doi.org/10.1007/s11704-013-3091-5
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Varga</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hornig</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>An overview of the OMNeT++ simulation environment</article-title>
          . In: SimuTools, Marseille, France (march
          <year>2008</year>
          ), http://dx.doi.org/10.4108/ICST. SIMUTOOLS2008.3027
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Wan</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eisenman</surname>
          </string-name>
          , S.B.,
          <string-name>
            <surname>Campbell</surname>
            ,
            <given-names>A.T.</given-names>
          </string-name>
          :
          <article-title>CODA: congestion detection and avoidance in sensor networks</article-title>
          .
          <source>In: SenSys</source>
          . pp.
          <fpage>266</fpage>
          -
          <lpage>279</lpage>
          . ACM (
          <year>2003</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/958491.958523
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>