<!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>Modeling and Analyzing Wireless Sensor Networks with VeriSensor</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yann Ben Maissa</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabrice Kordon</string-name>
          <email>Fabrice.Kordon@lip6.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Salma Mouline</string-name>
          <email>mouline@fsr.ac.ma</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yann Thierry-Mieg</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>LIP6 - CNRS UMR7606, Université P. &amp; M. Curie 4, place Jussieu</institution>
          ,
          <addr-line>75005 Paris</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>LRIT - CNRST URAC29, Université Mohammed V-Agdal 4, Avenue Ibn Battouta</institution>
          ,
          <addr-line>B.P. 1014 RP, Rabat Maroc</addr-line>
        </aff>
      </contrib-group>
      <fpage>60</fpage>
      <lpage>76</lpage>
      <abstract>
        <p>A Wireless Sensor Network (WSN), made of distributed autonomous nodes, is designed to monitor physical or environmental conditions. WSNs have many application domains such as environment or health monitoring. Their design must consider energy constraints, concurrency issues, node heterogeneity, while still meeting the quality requirements of life-critical applications. Formal verification helps to obtain WSN reliability, but usually requires a high expertise, which limits its adoption in industry. This paper presents VeriSensor, a domain specific modeling language (DSML) for WSNs offering support for formal verification. VeriSensor is designed to be used by WSN experts. It can be automatically translated into a formal specification for model checking. We present the language, its translation, show how they work on a simple case study, and illustrate how several metrics and properties relevant to the domain can be evaluated.</p>
      </abstract>
      <kwd-group>
        <kwd>wireless sensor networks</kwd>
        <kwd>domain specific modeling languages</kwd>
        <kwd>model driven engineering</kwd>
        <kwd>formal verification</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Context Wireless sensor networks (WSNs) are composed of distributed
autonomous nodes, containing programs and sensors to monitor physical or
environmental conditions. Each node is a small physical device embedding sensors, a
small CPU, a battery, a wireless transceiver and an antenna for communication.
WSNs are useful in many contexts, such as environment or health monitoring,
thus being a hot topic [
        <xref ref-type="bibr" rid="ref14 ref8">14, 8</xref>
        ].
      </p>
      <p>
        The design of WSNs is complex and error-prone due to their numerous
constraints:
– lifetime is a crucial preoccupation (even more important than quality of
service [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]). Overall lifetime of the WSN usually depends on sensor nodes
lifetime because nodes have limited battery power.
– concurrency and asynchrony lead to important issues such as interleaving of
actions and race conditions.
– heterogeneity, because WSNs may contain various types of nodes, each
having different characteristics (embedded sensors, wireless range, battery
capacity, etc.).
      </p>
      <p>
        – limited resources, because nodes have limited CPU and memory capacities.
Problem When WSNs are intended to handle critical functions, verification
and validation must be performed to reach a significant confidence in such
systems [
        <xref ref-type="bibr" rid="ref12 ref7">12, 7</xref>
        ]. Several propositions in that direction have emerged in recent years.
      </p>
      <p>
        Case studies using Formal Verification. Formal methods have been applied
on case studies to verify some relevant properties for WSNs. For instance, [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
uses Real-Time Maude, [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] uses the language IF and the model-checker Kronos,
[
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] uses UPPAAL.
      </p>
      <p>While these studies show the practical and industrial relevance of performing
formal analysis on WSNs, they use ad-hoc modeling of the system by an expert
in both WSNs and formal verification. This increases the design and verification
costs of WSNs. Moreover, complex verification “tricks” must be elaborated to
achieve the verification goals, creating a gap between the formal specifications
and the real system.</p>
      <p>Language-based approaches. Current trends in software engineering show
the emergence of model-driven engineering (MDE): a model of the system is
expressed using a domain specific modeling language (DSML) providing concepts
of the domain. Then, using model transformation technologies, executable code
or simulation models can be automatically produced.</p>
      <p>
        Such DSMLs dedicated to WSNs ease their modeling by domain experts.
However, they currently do not support formal analysis. VisualSense [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] for
instance only allows simulation which is useful during the early design stages, but
may not catch rare unexpected events. Baobab [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], Matilda [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], and Medwsa
[
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] provide code generators that produce executable artifacts to be deployed on
the physical system.
      </p>
      <p>Unfortunately, these DSMLs often have a very detailed level of specification
(such as wireless signal propagation characteristics), including non-linear parts
that can only be simulated in practice. So, if they are adapted for code generation
or simulation, they generate a high combinatorial explosion and are thus not
suitable for verification.</p>
      <p>
        Contribution This paper presents VeriSensor, a DSML for WSNs and its
mapping to a formal language for verification and analysis. VeriSensor has the
features of an architectural description language (ADL [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]) adapted to a modular
description of WSNs.
      </p>
      <p>
        VeriSensor offers “natural” modeling of a WSN to domain experts by
providing high-level concepts that capture the main use cases of such systems –
periodic data collection, query-based processing, etc. [
        <xref ref-type="bibr" rid="ref22 ref9">22, 9</xref>
        ]. VeriSensor can be
transformed into a discrete formal model supporting analysis: Instantiable
Transition Systems (ITS) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. At this stage, VeriSensor is not intended for code
generation.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Deployment: node class instantiations + topology</title>
      <p>Environment: environmental scenario
n
o</p>
      <p>NNoNododedee</p>
      <p>cclaclaslasssss</p>
      <p>Sensor: type + operating mode
Application: sending orders to sensors +
processing + sending data to network</p>
    </sec>
    <sec id="sec-3">
      <title>Network: communication of messages</title>
      <p>
        Contents Section 2 gives an overview of VeriSensor. Section 3 presents the
language concepts together with the biomedical area network (BAN) case study [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
used as a running example. Section 4 explains the mapping of VeriSensor into
ITS. Then, section 5 presents the analysis results we compute on the case study.
2
      </p>
      <sec id="sec-3-1">
        <title>Overview of VeriSensor</title>
        <p>A VeriSensor specification is composed of the definition of the nodes themselves,
a description of the physical environment in which the nodes evolve, and the
deployment of the system (see Fig. 1).</p>
        <p>Description of the nodes There can be several classes of nodes in a WSN
(e.g. in a heterogeneous network), each one having its own characteristics such
as:
– its sensors (which physical quantities to be measured and how they are
captured),
– its application operating mode (periodic data collection, query-based
processing, etc.) and the way it manipulates data,
– its interface with the network (wireless range, routing, etc.),
– the energy consumption model.</p>
        <p>These characteristics are described through four orthogonal dimensions :
sensor, application, network and energy. Dimensions describe independent aspects
of the system.</p>
        <p>Several node classes can share common dimensions and a node class can be
instantiated several times when several nodes have the same characteristics.
Environment Model It defines physical quantities as a function of space
(x, y, z) and time (t). Thus, the designer may describe a particular scenario in
which the WSN evolves. These scenarios are used to test qualitative properties of
models on given problem instances. A given environment represents a particular
situation in which a given behavior of the WSN is expected.</p>
        <p>ECGTilt 1
(ECG &amp; Tilt sensors)
x</p>
        <p>PDA 1
y
Deployment Model It defines how instances of node classes are spread in the
physical environment and may change position over time3. Engineers use this
model to define the topology of the system (number of instances per class and
their coordinates) as well as the logical routing of messages among the nodes.
Structuration in VeriSensor The various dimensions are defined separately
in VeriSensor to support modularity and reusability of WSNs components. The
deployment model of a system is the entry point of a VeriSensor model. It defines
the Environment model and instantiates all nodes from the definition of their
classes.
3</p>
      </sec>
      <sec id="sec-3-2">
        <title>Modeling with VeriSensor</title>
        <p>This section presents VeriSensor through the specification of a case study.
3.1</p>
        <p>The Body Area Network (BAN)
Our case study takes place in the context of home medical monitoring of patients
who need constant care but can stay out of hospitals. Home medical monitoring
allows to avoid hospitalization, which is as good for medical staff as for their
patients.</p>
        <p>
          The Body Area Network [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] is part of a wireless health monitoring system.
It is composed of (see Fig. 2): i) a set of sensor nodes capable of sensing,
processing and communicating vital signs to a personal server ; ii) a Portable Digital
Assistant (PDA) that forwards patient data to a medical center through internet
(3G or WIFI).
        </p>
        <p>The BAN monitors the vital signs of patients recovering from a heart
attack. It checks whether a patient is exercising regularly as recommended by
the doctors. WSNs, due to their small size and wireless nature, reduce system
intrusiveness in patient’s lives.</p>
        <p>As shown in Fig. 2, two redundant activity nodes detect periods of physical
exercise (when the body activity level is above 8 W atts.kg−1) while a third one
periodically collects both heartbeat with an electrocardiogram (ECG) sensor and
the tilt (i.e. upper body orientation) in terms of the absolute angle relative to a
vertical position.</p>
        <p>The system designer (i.e. the end-user of VeriSensor) wants to assess some
critical aspects of his system. To do so, he needs to evaluate properties such as:
3 We do not yet support mobility in our approach but this is a natural extension that
is semantically possible in VeriSensor.
System BAN {environment =&gt; HumanBody ;</p>
        <p>ECGTilt =&gt; e c g t i l t 1 ( x=0.1 , y=0.4 , nextHop = pda1 ) ;
A c t i v i t y =&gt; a c t i v i t y 1 ( x= −0.3, y=0.1 , nextHop = pda1 ) ,</p>
        <p>a c t i v i t y 2 ( x=−0.3 , y= −0.1, nextHop = pda1 ) ;
PDA =&gt; pda1 ( x= −0.1, y=0.3 , nextHop = null ) ; }
p1 evaluate which node limits the system lifetime according to a given scenario,
p2 identify scenarios leading to undesirable situations that should be avoided,
p3 check that the system behaves as expected by “replaying” existing situations
identified by doctors,
p4 compare alternative hardware solutions according to their characteristics
(energy consumption of sensors, processing duration, etc.),</p>
        <p>Modeling the BAN in VeriSensor
This section illustrates the VeriSensor syntax and structure through the modeling
of the BAN case study. Here, we follow a “path” going from the more general
aspects of the system (its elements) up to implementation of some nodes and
the description of its environment.</p>
        <p>The Deployment Model Fig. 3 shows the deployment parameters of the BAN
system. Each node instance is parameterized by its position (shown on fig. 3)
and next hop. For instance, the only node of class ECGTilt is located at position
h0.1, 0.4, 0i (when a position parameter is unspecified, its value is 0) and routes
messages to the pda1 instance. Distances are expressed in meters.
The Node Class Model A node class specifies the physical characteristics of
a node to be instantiated. It relates the data dispatched in the four dimensions:
sensing, application, network, and energy (Fig. 4, left).</p>
        <p>In the case study, we only consider static routing based on the nextHop
parameter defined in the deployment model. The XNetwork dimension reflects
this choice and is used by all nodes of the BAN as specified in Fig. 3.</p>
        <p>Fig. 4 (right) describes the sensors of ECGTilt. In our study, this node class
samples the upper body orientation (Tilt) and the heartbeat (Heartbeat).
Sensors are described through their main technical characteristics: the measured
Fig. 4: ECGTilt, the node class (left) and its sensing dimension (right)
application ( collectNode ) ECGTApplication {
physical_quantity HeartBeat ( sensing_period = 13 ,</p>
        <p>processing_period = 13 , sending_period = 1 3 ) ;
physical_quantity T i l t ( sensing_period = 4 ,
processing_period = 8 , sending_period = 1 6 ) ; }
energy ECGTEnergy {
i n i t i a l = 1000;
reception = 4 ;
emission = 5 ;
processing = 3 ;
sensing = 2 ; }
physical quantity startup time (i.e. the time for the sensor to be operational
after being turned on), and its capture time (i.e. the time for the sensor to sense
the value). For instance, ECGSensor measures the heartbeat and starts-up in 1
time unit. Physical quantities are defined in a dedicated model (see Fig. 6, left)
contained in the file types.def.</p>
        <p>Each physical quantity q is connected to the environment which must provide
a function returning the values of q at the coordinates of the node instance and
for the current time (at any time). So, in Fig. 4 (right), when ECGSensor samples
a value, it invokes the corresponding function returning the Heartbeat from the
Environment dimension. There is one such function per physical quantity of the
system.</p>
        <p>Fig. 5 (left) shows the application dimension of ECGTilt. In VeriSensor, nodes
have several typical behaviors provided as a parameter of the definition. Here,
ECGTilt behaves in “collect” mode (keyword collectNode in the figure): this
periodic data collection is parameterized by a sensing period (i.e. the time between
two samples), a processing period (i.e. the time between two processing of the
sampled data), and a sending period (i.e. time between two emissions of the
processed data). For instance, Tilt is sampled every 4 time units, processed every
8 time units, and sent every 16 time units.</p>
        <p>Fig. 5 (right) shows the energy dimension that describes the initial power
stored in the battery (initial) and defines the consumption of dedicated actions:
reception (message reception), emission (message sending), processing
(processing of sampled data), and sensing (sample acquisition).</p>
        <p>The Physical quantities Model This model describes physical quantities as
discrete ranges of values (see Fig. 6 left). The underlying semantics is the one
of discrete event systems, so, continuous values must be mapped to an integer
range. This mapping is user-defined; the designer must evaluate the trade-off
between precision of quantities units and the analysis complexity.
The Environment Model It defines the evolution of each physical quantity
in the model (see Fig. 6, right ) in a given scenario. Thus, it provides a function
that is bound to each sensor sampling the corresponding physical quantity (e.g
HeartBeatFunc is bound to the ECGSensor defined in Fig. 4).</p>
        <p>In our example of environment model, values of HeartBeat depend on time
only. Since there are two Activity sensors, ActivityFunc can use the node
coordinates to provide different values to each sensor in nodes activity1 and
activity2. Here, values in HeartBeatFunc are deduced from the thresholds of
the application: for instance, any value above 95 is considered a situation where
the patient exercises; then, these values are abstracted to the threshold constant.
Our simplified example illustrates a common situation where WSNs designers
generate such a function from observed traces of the system activity. No
parsing of traces is provided since these are too “system dependent”. To extend an
existing trace, a cyclic behavior may be specified.</p>
        <p>For some properties of interest such as worst case scenarios, instead of using
the user supplied environment we can use a “free” unconstrained environment,
which might return any value at any time. The clear separation between the
input conditions (environment) and the system specification is important in the
analysis phase described below.
4</p>
        <p>
          Formal Analysis of VeriSensor specifications
Formal analysis by model checking of a system is a powerful technique that
allows to capture subtle defects as well as to reason about worst case scenarios
and occurrence of rare events by exhaustively analyzing all possible behaviors.
However it is limited in the scale of the systems it can analyze due to the
combinatorial state space explosion characteristic of concurrent asynchronous systems.
To partly overcome this problem, techniques and tools have emerged such as SAT
solvers [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] or shared decision diagrams [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>However formal models are usually limited to a low level specification of the
system transition relation, that describes the state space generator.</p>
        <p>
          Since WSNs are highly time driven and complex, we need a tool
supporting a large amount of concurrency, some notion of time constraints and able to
tackle combinatorial explosion. To achieve this, we rely on our own preexisting
tool: Instantiable Transition Systems (ITS) [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] and their recent extension that
supports discrete time [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. The ITS model checker is general and efficient: it
relies on a powerful decision diagram library to cope with the complexity of large
systems. ITS also provide a way to define a structured and hierarchical
specification of a system and a notion of behavior instantiation. They were previously
experimented to analyze UML activity diagrams through a model transformation
approach [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] similar to the one outlined here.
        </p>
        <p>
          The Underlying Formal Model
This section first gives an informal overview of the underlying formal notations
for VeriSensor. There are two formalisms involved: labeled time Petri nets to
describe elementary behavior and ITS to structure the specification. We only
provide here an intuitive definition (see [
          <xref ref-type="bibr" rid="ref15 ref18">18, 15</xref>
          ] for a formal presentation).
Instantiable Transition Systems ITS allow hierarchical and compositional
modeling, through a notion of type and instance and an application of the
composite design pattern at a behavioral level. A type has an interface, defined as
a set of action labels, and some definition of its internal behavior. Similarly to
component oriented models, an ITS composite is a type that contains instances
of ITS types.
        </p>
        <p>Figure 7 shows a simple example of a composite ITS type. The system offers
one interface, begin, that is synchronized with the start interfaces of the nested
components (Client and Server). This system contains a local transition ( ) that
only has a local effect and is built on the synchronization of send and get
interfaces. Client and Server are elementary components that contain an automaton
where local transitions are labeled by too. In practice, we use labeled time
Petri nets to define elementary ITS types.</p>
        <p>Labeled Time Petri Nets In a Petri net, places (circles) contain tokens
representing resources that are consumed by transitions (rectangles) when they
fire, producing new tokens. A state of a Petri net assigns to each place of the
net an integer representing the number of tokens it contains. In a given state,
a transition is enabled if all its input places (connected by an arc from place to
transition) contain enough tokens. Each arc may be labeled by an integer that
indicates how many tokens are consumed or produced (the value 1 is assumed if
there is no annotation). When firing, a transition produces tokens in the places
connected by outgoing arcs.</p>
        <p>Time Petri nets (TPNs) add a notion of clock to each transition, constrained
by an earliest and latest firing time noted [α, β]. As soon as a transition is
enabled, the associated clock starts. This transition cannot fire before α time
units have elapsed and must occur if the transition’s clock reaches β. Hence a
transition with [0, ∞] can occur at any date if it is enabled, like normal Petri
nets. This is assumed to be the default values and is not explicitly shown in the
figures.</p>
        <p>The time model is discrete: a special transition elapse represents the evolution
of time by one unit. All clocks evolve simultaneously when elapse is fired.
r
ve Client
r
e
-S start
t
n
e
li
C
send
start
send</p>
        <p>Server
start
get
start
get
begin</p>
        <p>Fig. 7: Small example of composite-ITS</p>
        <p>Labels add a notion of interface to Petri nets, where some transitions
(represented with thick borders) are called public and allow communication with
the outside world. These transitions define the ITS interface. Private transitions
can occur locally, independently from any situation outside the net, and typically
represent an autonomous control flow.
4.2</p>
        <p>Mapping VeriSensor to a Formal Specification
The mapping of VeriSensor into formal specifications relies on patterns
associated to its syntactic elements. It is also based on a set of automatically
computed abstractions that help containing the combinatorial explosion due to large
datatypes.</p>
        <p>The Transformation process To automatically transform the specification
into a formal model we define a set of “generic ITS”, modeling behavioral patterns
that correspond to the VeriSensor execution semantics.</p>
        <p>Thus, the transformation process takes parameters in a VeriSensor
specification to customize such patterns. Each dimension has its own generic pattern
that is hierarchically defined, thus taking benefits from the ITS mechanisms. The
final model is obtained by assembling and instantiating these patterns according
to the deployment model.</p>
        <p>Figure 8 shows two examples of generic ITS. The first one (Fig. 8a)
represents the environment as seen by a given node. To obtain this behavior, the
environment function q(x, y, z, t) is projected over the coordinates of the node,
yielding a function q(t) of time only that is specific to the considered node
sensor. This function is finally discretized, and encoded as a series of plateau values
that have a certain duration di. Each public transition is labeled by a possible
value of the p1hysical quantity. The time bound on local transitions ( ) represents
the evolution of q(t) as t1ime progresses. The last transition n can be added to
represent a c2yclic environment. This ITS is parameterized by n, the number of
values sent in the cycle,2and by di for i ∈ [1..n], the duration for sending these
values. Its ITnS1interface is the set of possible values sendViToSens of the physical
quantity.</p>
        <p>sendV1ToS[de1n,sd1]</p>
        <p>n
[dn−1, dn−1]
sendVnToS[ednns, dn]</p>
        <p>n−12
[d[2d, 1d,2d]S11]
[dn, dn]
[d2, d2]
1
[d1, d1]
2
[d2, d2]
1
n
••• [dn, dn]
2
n−1
[[dd2n,,dd2n]]
[d[nd−n1,,ddnn]−1]
Senddd12
Sendddnn−1
Sendddnn−1
1</p>
        <p>[a, a]
2 start
n off</p>
        <p>idle
innnoosddtaeences
ce lnavsisroensment</p>
        <p>Fig. 8b represents the behavior of a sensor (as for the BAN system in Fig. 4
right) and is parameterized by n, the number of potential values in the
physical quantity, a, the startup time, and d, the capture time. Its ITS interface is
composed of the control commands (start, stop, recvViFromEnv , sendViToApp).</p>
        <p>Although the model size grows with the number of potential values, we
control this combinatorial explosion by reducing the domains of physical quantities
to the minimum set of representative values that impact the system control flow
(see paragraph Abstraction below). Moreover, our ITS tool only encapsulates on
P/T nets.</p>
        <p>The transmission of a value Vk from the environment to the sensor is
represented by a synchronization between sendVkToSens and recvVkFromEnv. The
transition sendViToApp transmits sampled values back to the application
dimension. Because these definitions of the sensor and the environment are clearly
separated we can easily associate the specification to any arbitrary environment
instead of a fixed scenario. This is done in the deployment model.</p>
        <p>Similarly, each dimension has its own parameterized pattern. Some
dimension, such as the application dimension of a node class has one pattern per
operating mode (data collection, query processing, etc.).</p>
        <p>The Energy dimension is modeled by a one-place Petri net. This place’s initial
marking depends on the initial energy of the node. Transitions (capture, process,
send, receive, etc.) consume the number of tokens corresponding to the energy
cost of the associated operation. Since operations in a node are synchronized
to the energy dimension, the lack of tokens in the energy dimension stops the
corresponding node. When all nodes are out of energy, the system cannot execute
anymore and reaches a deadlock.</p>
        <p>The full node is then defined as a composite ITS that assembles the
projection of the environment with the various ITS corresponding to each dimension
(sensors, application, network, energy). This composite ITS has an interface
allowing transmission of network messages to other nodes. The nodes are then
finally instantiated and connected according to the logical network topology.</p>
        <p>Figure 9 illustrates the overall elaboration of the final formal specification for
the BAN case study based on the VeriSensor architecture. The assembling of a
node class is illustrated for the activity node class. We show how the dimensions
interfaces are synchronized one to another. For example, the public transition
start is a synchronization between the application, energy and sensor dimensions.
This is similar with recvVi between the sensor and environment dimensions. Let
us remind that transitions like recvVi are instantiated as many times as there
are relevant values in the parameters to be exchanged.</p>
        <p>Then, each node class is instantiated according to the deployment model.
In Fig. 9, there are two activity nodes, one ECGTilt and one PDA. Context
variables of each node, describing the node characteristics and its coordinates
are initialized according to the deployment model.</p>
        <p>
          Abstractions The final assembling, as described, generates complex models
since each potential value of a physical quantity q makes the overall model larger.
To avoid this, a structural analysis of the VeriSensor specification allows to
automatically abstract the domains of physical quantities to the minimum set of
representative values that impact the system control flow. Such techniques are
derived from automatic symmetry detection [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] or symbolic trajectory
evaluation [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. The complexity of these techniques is low, since it relies on the size of
the specification instead of the size of the state space.
        </p>
        <p>Deriving such abstractions automatically is important because: i) they are
then correct by construction ii) using abstractions does not imply any end-user
knowledge of the underlying techniques. For instance, activity nodes only detect
whether the patient is exercising (i.e. activity&gt;8, see subsection 3.1) or not,
so the domain of the physical quantity activity (i.e. 0 to 15, see Fig. 6 left)
is automatically reduced to 2 values: 0 for no physical exercise, 1 for physical
exercise.</p>
        <p>About the Final Model The resulting model for the BAN case study is
composed of 17 ITS-types of which 13 are elementary. The enclosed Petri nets
contain 100 places and 81 transitions of which 43 are time constrained. Thus,
each state is a vector of 143 variables (places marking + transition clocks).
Explicit storage with no optimization of such a state would need 143 integer
values, and thus 1.12 Kbyte with a 64 bit representation.
5</p>
      </sec>
      <sec id="sec-3-3">
        <title>Analyzing the Case study</title>
        <p>
          This section discusses the analysis we performed on our case study. The ITS
representation was generated according to the rules defined in the previous section
(a tool is being implemented). From the ITS model this procedure produces,
we evaluated the properties identified in section 3.1. All experimentations were
done with our own tool based on our ITS library [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
        <p>Prior to this, we discuss the efficiency of this translation with regards to the
analysis scalability (based on the parameters values). All experiments were run
on a Xeon 64 bits at 2.6 GHz processor.</p>
        <p>Analysis Scalability The model of the BAN case study is associated with
a “free” unconstrained environment providing all possibles situations from the
environment point of view. Thus leading to the analysis of possible situations in
1E+16
e1E+15
z
iS1E+14
e
c
pa1E+13
S
te1E+12
a
tS1E+11
6E+06
) 5E+06
(KB4E+06
y
ro3E+06
m
eM2E+06
1E+06</p>
        <p>Initial energy (energy units)
(a) Number of states (logarithmic scale)
(b) Memory used (linear scale)
the system. Figure 10 shows the evolution of the corresponding state space, its
computation time and the memory required to build it, according to the initial
energy allowed to the system. In these scenarios, a time unit lasts 1 minute and
an energy unit is 50 microjoules. Such interpretation is decided by the designer
of the WSN.</p>
        <p>
          As seen in Fig. 10a, the state space grows exponentially, the end of the curve
tending to a line in a logarithmic scale. Its representation in memory, as well
as the computation time, evolves in a much more favorable way, thus validating
the choice of ITS, based on decision diagrams, that already proved its efficiency
for such systems [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
        <p>Figures 10b and 10c show the evolution of memory and time required for
state space construction according to the initial energy allocated to each node. As
shown, we can scale this energy up to 1000 units and still have a reasonable CPU
and memory consumption (5.4 GBytes and 3.7 hours). From an industrial point
of view, it becomes feasible to process larger values on current high-performance
servers.</p>
        <p>Considering the memory required to store a state and the size of the state
space, our translation into ITS, even if it is yet at a prototype stage, shows
encouraging results (up to 5.3×105 states per byte as shown in Fig. 10d). Moreover,
no particular optimization has been done besides the abstraction automatically
computed during the translation, thus avoiding the need for expertise in the
underlying formal tools.</p>
        <p>This experiment on the BAN shows a good scalability potential for the overall
approach. In particular, it shows the verification complexity of reachability
properties (e.g. p2 in section 3.1) that are a reliable way to detect “rare events”,
difficult to track using classical simulation-based techniques. However, if a Yes/No
answer for a reachability property is provided within a reasonable time, we
measured that computation of a counterexample takes significantly more time and
memory.</p>
        <p>Information about the System Lifetime (p1) Exhibiting the energy
consumption of the WSN in the worst case scenario allows the end-user to evaluate
a lower bound of the system lifetime. Figure 11a shows the worst case lifetime
evolution of the BAN nodes.</p>
        <p>To do so, we associate the BAN model with an unconstrained environment
allowing any action. We thus compute a superset of all the possible behaviors
from which we can obtain a worst case scenario. In this model, we search for
Send, the set of states where at least one node cannot communicate anymore (its
energy is below a constant M in, the minimum energy to send a message). Then,
our tool computes the shortest path (i.e. shortest transition sequence) leading
from the initial state to a state in Send. To get the corresponding lifetime, we
count the occurrences of the elapse transition (that let time elapse for 1 time
unit). This is the minimal time from the initial state to a state where an observed
node cannot communicate anymore.</p>
        <p>The objective is not to provide quantitative information since the initial
number of energy units allocated to nodes is not sufficient (Fig. 11a shows a
system duration in hours, while, at least, weeks would be needed). However, a
designer can get an idea of the most critical component (i.e. the one that fails
)
itseun 11240000 variaCnotn1figuration
it(m 1000 variant 2
liiftsaeeem 648000000
trcso 2000
W
it)suen 11240000 EGCTBilAtN node
iliitft(seeaemm 1684000000000 AAccttiivviittyy21
trscoW 2000</p>
        <p>Fig. 11: Lifetime analysis on the BAN case study
first) according to various scenarios. This result is complementary of simulation
that can tackle longer duration but not in an exhaustive way.</p>
        <p>Let us note that, in Fig. 11a, ECGTilt and Activity1 are the ones to lack energy
first. Typically the difference between the lifetime of Activity1 and Activity2 can
be analyzed and several parameters can be studied to overcome this situation.
Later in this section, we show how two alternative designs for Activity1 can be
explored.</p>
        <p>Reachability Properties (p2) A typical and interesting reachability property
deals with unexpected deadlocks in the system (expected ones being those where
nodes have no more energy). This can reveal real deadlocks in the system, or
allow the identification of crucial nodes whose activity is required to keep the
system working. Such a situation can be detected using the following reachability
formula, computed with no additional cost with respect to state space generation:
∧</p>
        <p>^
i∈Nodes
dead
(energy(i) &gt; M ini)
(1)</p>
        <p>Where M ini corresponds to the minimum energy required by node i to send
a message and dead is the boolean meaning that the current state of the state
space has no successor. On the BAN case study, this property is verified. It
was computed with the unconstrained environment and with a configuration
providing up to 500 energy units (it took 1 hour 38 minutes and 2.8 Gbytes).
Checking Behavior for Existing Situations (p3) Such properties usually
require causal formulas expressed by means of temporal logic.</p>
        <p>For the BAN system, a typical property is to ensure that the system generates
neither a false negative (i.e. a heart attack is not detected) nor a false positive
(i.e. a heart attack is detected by mistake in the system). To get this equivalence
relation, we use the CTL formula 2 to detect the presence of a false negative and
the CTL formula 3 to detect the presence of a false positive.</p>
        <p>AG(occursheart attack =⇒</p>
        <p>AF (detectedheart attack))
AG(¬occursheart attack =⇒</p>
        <p>AF (¬detectedheart attack))
(2)
(3)</p>
        <p>In this formula the AG and AF operators respectively mean “in all cases”
and “in all futures”. occurse is either true or false for a given environment e.
In the BAN case study, a given environment corresponds to a patient behavior
which is annotated by the doctors as being sick or healthy. detectede is a state
property. In our case (e = heart attack) it involves the PDA and corresponds to
the detection of low activity (gathered from the activity sensors) and bradycardia
detected by ECGTilt.</p>
        <p>On the BAN case study, this property is verified (this was computed up to
the system with 500 energy units). This was tested for several environments
representing different patients. Such a computation is less complex in time and
memory than the worst case lifetime analysis since the system is more
constrained. Formulas were computed for 500 initial energy units. Formula 2 was</p>
        <p>Parameter
sensing frequency
acquisition time
acquisition energy
processing time
processing energy
emission time
emission energy
reception time
reception energy
value in config 1 value in config 2
11 TU 20 TU
3 TU 1 TU
3 EU 4 EU
1 TU 2 TU
4 EU 6 EU
2 TU 3 TU
6 EU 8 EU
2 TU 3 TU
5 EU 7 EU
Fig. 12: Data for the two studied variants in time units (TU) or energy units
(EU)
computed in 1 hour 45 minutes and 2.8 Gbyte memory. Formula 3 was computed
in 1 hour 28 minutes and 2.7 Gbyte memory.</p>
        <p>Comparing Alternative Solutions (p4) The choice of a given component
may have an impact on a WSN lifetime or on some important characteristics of
the system. VeriSensor can be useful to compare two possible solutions. To do so,
the designer may either change the characteristics of the nodes to be replaced
(if only those change) or replace the node by an instance of another node class.</p>
        <p>For the BAN case study, we want to evaluate the impact of two
configurations on the system lifetime (e.g. when at least one node cannot communicate
anymore). These configurations differ with the characteristics of the activity
nodes. The first configuration (config 1) embeds a node that samples often but
performs light computation. The second one (config 2) uses a node that performs
less samples but more computations.</p>
        <p>To evaluate these configurations, we provide two variations of the activity
node specification, following the information displayed in Fig. 12. Then, the
obtained specification is linked to the “free” unconstrained environment used to
evaluate the worst case lifetime of the system. This work leads to the results
displayed in Fig. 11b.
6</p>
      </sec>
      <sec id="sec-3-4">
        <title>Conclusion</title>
        <p>This paper presented VeriSensor, a domain specific modeling language for
wireless sensor networks (WSNs), designed to be used by WSNs experts and offering
support for modeling and formal verification. The objective is to evaluate both
quantitative results (e.g. estimation of the system’s lifetime or average
consumption per time unit) as well as qualitative results (e.g. detection of unexpected
situations to be avoided).</p>
        <p>VeriSensor enables the modeling of a WSN by providing high-level concepts
that support the main use cases of WSNs. Thus, specifying WSNs consists in
defining the node characteristics, how nodes are deployed and the physical
environment in which the system evolves. The physical environment may model
all possible situations (the “free” unconstrained environment), thus leading to
the evaluation of the WSN in the worst possible condition. It may also model a
dedicated scenario for which the WSN behavior has to be verified.</p>
        <p>Instantiable Transition Systems (ITS) and time Petri nets are the
underlying formal techniques used for verification. They show encouraging scalability
capabilities, thus enabling the analysis of reasonable systems with significant
parameters.</p>
        <p>The main advantage of the overall approach is to make formal specification
and verification more accessible to the end-users (i.e. the designers of WSNs).</p>
        <p>Even if we focus on the verification aspects, our approach does not exclude
simulation. In fact, since VeriSensor has a formal semantic, it is executable and
thus, can be simulated. Then, the environment dimension still allows to select
one situation where the system has to be plugged in.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>S.</given-names>
            <surname>Adams</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Björk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. F.</given-names>
            <surname>Melham</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.-J. H.</given-names>
            <surname>Seger</surname>
          </string-name>
          .
          <article-title>Automatic abstraction in symbolic trajectory evaluation</article-title>
          .
          <source>In Formal Methods in Computer-Aided Design</source>
          , pages
          <fpage>127</fpage>
          -
          <lpage>135</lpage>
          . IEEE Computer Society,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>B.</given-names>
            <surname>Akbal-Delibas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Boonma</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Suzuki</surname>
          </string-name>
          .
          <article-title>Extensible and precise modeling for wireless sensor networks</article-title>
          .
          <source>In UNISCON</source>
          , pages
          <fpage>551</fpage>
          -
          <lpage>562</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>I. F.</given-names>
            <surname>Akyildiz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Su</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sankarasubramaniam</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Cayirci</surname>
          </string-name>
          .
          <article-title>A survey on sensor networks</article-title>
          .
          <source>Communications Magazine</source>
          , IEEE,
          <volume>40</volume>
          (
          <issue>8</issue>
          ):
          <fpage>102</fpage>
          -
          <lpage>114</lpage>
          , Aug.
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>P.</given-names>
            <surname>Baldwin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kohli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. H.</given-names>
            <surname>Brooks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. V.</given-names>
            <surname>Krishnan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Neuendorffer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Zhong</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Zhou</surname>
          </string-name>
          . Visualsense:
          <article-title>Visual modeling for wireless and sensor network systems</article-title>
          .
          <source>Technical report</source>
          , U.C. Berkeley,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Burch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. L. McMillan</surname>
            ,
            <given-names>D. L.</given-names>
          </string-name>
          <string-name>
            <surname>Dill</surname>
            , and
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Hwang</surname>
          </string-name>
          .
          <article-title>Symbolic model checking: 1020 states and beyond</article-title>
          .
          <source>In Proceedings of the Fifth Annual IEEE Symposium on Logic in Computer Science</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>33</lpage>
          . IEEE Computer Society Press,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pistore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Roveri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Sebastiani</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Tacchella</surname>
          </string-name>
          .
          <article-title>Nusmv 2: An opensource tool for symbolic model checking</article-title>
          . In E. Brinksma and K. Larsen, editors,
          <source>Computer Aided Verification</source>
          , volume
          <volume>2404</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>241</fpage>
          -
          <lpage>268</lpage>
          . Springer Berlin / Heidelberg,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>S. C.</given-names>
            <surname>Ergen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ergen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T. J.</given-names>
            <surname>Koo</surname>
          </string-name>
          .
          <article-title>Lifetime analysis of a sensor network with hybrid automata modelling</article-title>
          .
          <source>In WSNA</source>
          , pages
          <fpage>98</fpage>
          -
          <lpage>104</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>O.</given-names>
            <surname>Gnawali</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Welsh</surname>
          </string-name>
          .
          <article-title>Sensor networks architectures and protocols</article-title>
          .
          <source>In Emerging Wireless Technologies and the Future Mobile Internet</source>
          , pages
          <fpage>125</fpage>
          -
          <lpage>153</lpage>
          . Cambridge University Press,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A.</given-names>
            <surname>Mainwaring</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Culler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Polastre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Szewczyk</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Anderson</surname>
          </string-name>
          .
          <article-title>Wireless sensor networks for habitat monitoring</article-title>
          .
          <source>In 1st ACM Int. workshop on Wireless sensor networks and applications (WSNA)</source>
          , pages
          <fpage>88</fpage>
          -
          <lpage>97</lpage>
          . ACM,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>N.</given-names>
            <surname>Medvidovic</surname>
          </string-name>
          and
          <string-name>
            <given-names>R. N.</given-names>
            <surname>Taylor</surname>
          </string-name>
          .
          <article-title>A classification and comparison framework for software architecture description languages</article-title>
          .
          <source>IEEE Trans. Softw</source>
          . Eng.,
          <volume>26</volume>
          :
          <fpage>70</fpage>
          -
          <lpage>93</lpage>
          ,
          <year>January 2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. L.
          <string-name>
            <surname>Mounier</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Samper</surname>
            , and
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Znaidi</surname>
          </string-name>
          .
          <article-title>Worst-case lifetime computation of a wireless sensor network by model-checking. In 4th ACM workshop on Performance evaluation of wireless ad hoc, sensor, and ubiquitous networks (PE-WASUN)</article-title>
          , pages
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          . ACM,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>P. C.</given-names>
            <surname>Ölveczky</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Thorvaldsen</surname>
          </string-name>
          .
          <article-title>Formal modeling and analysis of the ogdc wireless sensor network algorithm in real-time maude</article-title>
          .
          <source>In 9th Int. conf. on Formal Methods for Open Object-based Distributed Systems (FMOODS)</source>
          , pages
          <fpage>122</fpage>
          -
          <lpage>140</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>C. Otto</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Milenković</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Sanders</surname>
            , and
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Jovanov</surname>
          </string-name>
          .
          <article-title>System architecture of a wireless body area sensor network for ubiquitous health monitoring</article-title>
          .
          <source>J. Mob. Multimed.</source>
          ,
          <volume>1</volume>
          :
          <fpage>307</fpage>
          -
          <lpage>326</lpage>
          ,
          <year>January 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>K.</given-names>
            <surname>Sohraby</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Minoli</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Znati</surname>
          </string-name>
          .
          <article-title>Wireless sensor networks: technology, protocols and applications</article-title>
          . Wiley Interscience,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Thierry-Mieg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bérard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Kordon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lime</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O. H.</given-names>
            <surname>Roux</surname>
          </string-name>
          .
          <article-title>Compositional Analysis of Discrete Time Petri nets</article-title>
          .
          <source>In 1st workshop on Petri Nets Compositions (CompoNet</source>
          <year>2011</year>
          ), volume
          <volume>726</volume>
          , pages
          <fpage>17</fpage>
          -
          <lpage>31</lpage>
          , Newcastle,
          <string-name>
            <surname>UK</surname>
          </string-name>
          ,
          <year>June 2011</year>
          . CEUR.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Thierry-Mieg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dutheillet</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Mounier.</surname>
          </string-name>
          <article-title>Automatic symmetry detection in well-formed nets</article-title>
          .
          <source>In Proc. of ICATPN</source>
          <year>2003</year>
          , volume
          <volume>2679</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>82</fpage>
          -
          <lpage>101</lpage>
          . Springer Verlag,
          <year>June 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Thierry-Mieg and L.-M. Hillah</surname>
          </string-name>
          .
          <article-title>UML behavioral consistency checking using Instantiable Petri nets</article-title>
          .
          <source>ISSE</source>
          ,
          <volume>4</volume>
          (
          <issue>3</issue>
          ):
          <fpage>293</fpage>
          -
          <lpage>300</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Thierry-Mieg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Poitrenaud</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hamez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Kordon</surname>
          </string-name>
          .
          <article-title>Hierarchical Set Decision Diagrams and Regular Models</article-title>
          .
          <source>In 15th Int. conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS)</source>
          , volume
          <volume>5505</volume>
          <source>of LNCS</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          . Springer, March
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>S.</given-names>
            <surname>Tschirner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Xuedong</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Yi</surname>
          </string-name>
          .
          <article-title>Model-based validation of QoS properties of biomedical sensor networks</article-title>
          .
          <source>In 8th ACM Int. conf. on Embedded software (EMSOFT)</source>
          , pages
          <fpage>69</fpage>
          -
          <lpage>78</lpage>
          . ACM,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. C.
          <string-name>
            <surname>Vicente-Chicote</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Losilla</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Álvarez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Iborra</surname>
            , and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Sánchez</surname>
          </string-name>
          .
          <article-title>Applying mde to the development of flexible and reusable wireless sensor networks</article-title>
          .
          <source>Int. J. Cooperative Inf. Syst.</source>
          ,
          <volume>16</volume>
          (
          <issue>3</issue>
          /4):
          <fpage>393</fpage>
          -
          <lpage>412</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. H.
          <string-name>
            <surname>Wada</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Boonma</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Suzuki</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Oba</surname>
          </string-name>
          .
          <article-title>Modeling and executing adaptive sensor network applications with the Matilda UML virtual machine</article-title>
          .
          <source>In 11th IASTED Int. conf. on Software Engineering and Applications (SEA)</source>
          , pages
          <fpage>216</fpage>
          -
          <lpage>225</lpage>
          . ACTA Press,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yao</surname>
          </string-name>
          and
          <string-name>
            <surname>J. Gehrke.</surname>
          </string-name>
          <article-title>The cougar approach to in-network query processing in sensor networks</article-title>
          .
          <source>SIGMOD Record</source>
          ,
          <volume>31</volume>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>